线性可分支持向量机要求数据是线性可分的
函数间隔vs几何间隔
样本点到超平面的函数间隔
γ^i=yi(w⋅xi+b) 训练数据集到超平面的函数间隔
γ^=iminyi(w⋅xi+b) 样本点到超平面的几何间隔
γi=∣∣w∣∣1yi(w⋅xi+b) 训练数据集到超平面的几何间隔
γ=imin∣∣w∣∣1yi(w⋅xi+b) 支持向量机的优化问题
所有样本点到超平面的几何距离最远w,bmax s.t γyi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ(∀i=1,2,…n) 同理为
w,bmax s.t ∣∣w∣∣γ^yi(w⋅xi+b)≥γ^(∀i=1,2,…n) 由于函数间隔的取值并不影响最优化问题,故取函数间隔为1,等价为
凸二次规划问题w,bmin s.t 21∣∣w∣∣2yi(w⋅xi+b)−1≥0(∀i=1,2,…n)
支持向量和间隔边界
支持向量满足
yi(w⋅xi+b)=1对于线性可分数据集,最大间隔分离超平面存在且唯一。
线性可分支持向量机学习算法(原始形式)- 构造并求解约束最优化问题(凸二次规划问题)
w,bmin s.t 21∣∣w∣∣2yi(w⋅xi+b)−1≥0(∀i=1,2,…n)得到最优解w*,b*
- 得到分离超平面
w∗⋅x+b=0和分类决策函数
f(x)=sign(w∗⋅x+b)
利用拉格朗日对偶性求解凸二次规划
引入拉格朗日乘子 𝛼_i≥0(i=1,2,…,N)
L(w,b,α)=21∣∣w∣∣2+i=1∑Nαi[1−yi(w⋅xi+b)] 原始问题等价于极小极大问题w,bminαi≥0maxL(w,b,α) 对偶问题为极大极小问题αi≥0maxw,bminL(w,b,α)- 先求L(w,b,𝛼)关于w,b的极小
∂w∂L=0⇒w=i=1∑Nαiyixi∂b∂L=0⇒i=1∑Nαiyi=0w,bminL(w,b,α)=−21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj+i=1∑Nαi
- 再求minL(w,b,𝛼)关于𝛼的极大
αmin s.t 21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nαii=1∑Nαiyi=0αi≥0(∀i=1,2,…n)通过SMO算法得到最优解𝛼*。
原始问题和对偶问题解的关系——KKT条件若得到对偶问题的最优解𝛼*,则由KKT条件得
⎩⎨⎧w∗=∑i=1Nαi∗yixiαi∗(yi(w∗⋅xi+b∗)−1)=0yi(w∗⋅xi+b∗)−1≥0若存在分量𝛼*_j>0,对此j有
yj(w∗⋅xj+b∗)−1=0b∗=yj−w∗⋅xj=yj−i=1∑Nαi∗yi(xi⋅xj) 线性可分支持向量机学习算法(对偶形式)- 构造并求解约束最优化问题
αmin s.t 21i=1∑Nj=1∑Nαiαjyiyjxi⋅xj−i=1∑Nαii=1∑Nαiyi=0αi≥0(∀i=1,2,…n)利用SMO算法得到最优解𝛼*
- 计算w*
w∗=i=1∑Nαi∗yixi
- 计算b*
找出满足𝛼_j>0的支持向量(x_j,y_j)(j=1,2,…,J),计算出
b∗=yj−i=1∑Nαi∗yi(xi⋅xj)
- 分离超平面和分类决策函数为
w∗⋅x+b=0,f(x)=sign(w∗⋅x+b∗)