title: 支持向量机 tags:
间隔与支持向量
间隔与支持向量
超平面
通过如下线性方程来描述划分超平面
ωTx+b=0
点到超平面距离
r=∣∣w∣∣∣ωT+b∣ 假设超平面能够正确分类样本,则可以通过对 ω 缩放可以使得下式成立
{ωTxi+b⩾+1ωTxi+b⩽−1yi=+1yi=−1等价于yi(ωTxi+b)⩾1 距离超平面最近的训练样本点被称为 支持向量 ,支持向量到超平面的距离是 ∣∣ω∣∣1,所以两个异类支持向量到超平面的距离之和为
γ=∣∣ω∣∣2 它被称为 间隔
找到具有 最大间隔 的划分超平面,也就是找到约束的参数 ω和b ,使得 γ 最大,即
ω,bmaxω2s.t. yi(ωTxi+b)⩾1, i=1,2,⋯,m. b 通过约束隐式地影响着 ω 的取值,进而对间隔产生影响
为了最大化间隔,仅需最大化 ∣∣ω∣∣−1 ,等价于最小化 ∣∣ω∣∣2,得到支持向量机的基本型
ω,bmin21∣∣ω∣∣2s.t. yi(ωTxi+b)⩾1, i=1,2,⋯,m.
对偶问题
间隔划分超平面所对应的模型
f(x)=ωTx+b 上述支持向量机基本型,是一个凸二次规划问题,可以用现成的优化计算包求解,但可以用更高效的方法。使用拉格朗日乘子法可得到其 对偶问题。每条约束添加拉格朗日乘子 αi⩾0 ,则该问题的拉格朗日函数可写为
L(ω,b,α)=21∣∣ω∣∣2+i=1∑mαi(1−yi(ωTxi+b)) 其中 α=(α1;α2;⋯;αm) 。令 L(ω,b,α) 对 ω 和 b 的偏导为零可得
ω=i=1∑mαiyixi0=i=1∑mαiyi 带入 L(ω,b,α) 得到对偶问题
αmaxi−1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjs.t.i=1∑mαiyi=0,αi⩾0,i=1,2,⋯,m. αi对应着训练样本(xi,yi)
解出 α 后,求出 ω 和 b 即可得到模型
f(x)=ωTx+b=i=1∑mαiyixiTx+b 又不等式约束,因此上述过程需满足 KKT 条件
⎩⎨⎧αi⩾0yif(xi)−1⩾0αi(yif(xi)−1)=0
附录
点到直线距离
拉格朗日乘子法与KKT条件
拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法。
前提是:只有当目标函数为凸函数时,使用这两种方法才保证求得的是最优解
拉格朗日乘子法
问题
minf(x)s.t. hi(x)=0 i=0,1,⋯,n 可转换为
min [f(x) + \sum\limits_{i=1}^\limits{n} \lambda_i h_i(x)]
其中 λi=0,称为拉格朗日乘子
KKT条件
KKT条件是解决最优化问题的时用到的一种方法。我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值。
参考
参考网址