支持向量机(SVM)是一种二类分类模型。基本模型是定义在特征空间上的间隔最大的线性分隔器,间隔最大使它有别于感知机——误分类点到超平面S的总距离最小。
核技巧使它成为实质上的非线性分类器。间隔最大化可形式化为一个求解的凸二次规划,也等价于正则化的合页损失函数的最小化问题——求解凸二次规划的最优化算法
线性可分支持向量机
分离超平面为: w∗⋅x+b∗=0
分类决策函数: f(x)=sign(w∗⋅x+b∗=0)
函数间隔与几何间隔
在超平面 w⋅x+b=0 确定的情况下,l w⋅x+b l能够表示点x距离超平面的远近.而 w⋅x+b 与符号与类标记y的符号是否一致能够表示分类是否正确。所以可用 y(w⋅x+b) 来表示分类的正确性及确信度—等价于l w⋅x+b l
这就是函数间隔,定义:
γi=yi(w⋅xi+b)
i=1,….,N
γ=minγi
若对分离超平面的法向量w加某些约束,如规范化, ∥w∥=1 ,使得间隔是确定的,此时函数间隔为几何间隔
几何间隔定义
γi=yi(w∥w∥⋅xi+b∥w∥)
i=1,….,N
γ=minγi
(硬)间隔最大化
对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的.这里的间隔最大化又称为硬间隔最大化(与将讨论的训练数据集近似线性可分的软间隔最大化相对应)
最大间隔分离超平面,表示为下面的约束最优化问题
maxw,bγ
s.t. yi(w∥w∥⋅xi+b∥w∥)>=γ,i=1,2,....,N
可改写为
maxw,bγ∥w∥
s.t. yi(w⋅xi+b)>=γ,i=1,2,....,N
然而函数间隔γ并不影响最优化问题的解(因为有 ∥w∥ 的存在),令γ=1最后改写为
minw,b∥w∥22
s.t. yi(w⋅xi+b)−1>=0,i=1,2,....,N
算法(线性可分支持向量机学习算法——最大间隔法)
1) minw,b∥w∥22
s.t. yi(w⋅xi+b)−1>=0,i=1,2,....,N
2)利用拉格朗日算法整合函数求偏导等于0,得到参数即可
最大间隔分离超平面的存在且唯一
支持向量和间隔边界
支持向量是使约束条件式等号成立的点,即
yi(w⋅xi+b)−1=0
对 yi=+1 的正例点,支持向量在超平面: H1:w⋅xi+b=1
对 yi=−1 的负例点,支持向量在超平面: H1:w⋅xi+b=−1
间隔边界即: 2∥w∥
给个例子,二维情况
学习的对偶算法
应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解
因为:一是对偶问题往往更易求解;二是引进核函数,今儿推广非线性分类问题
引进拉格朗日乘子αi>=0,i=1,2,…,N,定义拉格朗日函数:
L(w,b,α)=∥w∥22−∑Ni=1αiyi(w⋅xi+b)+∑Ni=1αi
α=(α1,α2,...,αN)T 为拉格朗日乘子向量
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
max(对α)min(对w,b)L(w,b,α)
得到下面与之等价的对偶最优化问题:
minα12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)−∑Ni=1αi
s.t. ∑Niαiyi=0
αi>=0,i=1,2,....,N
定理,设 α∗=(α∗1,α∗2,...,α∗l)T 是对偶最优化问题—上述等价问题 的解,则存在下标 j,使得 α∗j>0 ,并按下式求得原始最优化问题的解 w∗,b∗ :
w∗=∑Ni=1α∗iyixi
b∗=yj−∑Ni=1α∗iyi(xi⋅xj)
算法(线性可分支持向量机学习算法)
1)构造并求解约束最优化问题
minα12∑Ni=1∑Nj=1αiαjyiyj(xi⋅xj)−∑Ni=1αi
s.t. ∑Niαiyi=0
αi>=0,i=1,2,....,N
求得最优解 α∗=(α∗1,α∗2,...,α∗N)T .
2)计算
w∗=∑Ni=1α∗iyixi
并选择 α∗ 的一个正分量 α∗j >0计算
b