SVM(二分类问题)
- 函数距离
γi^=yi(wTxi+b),其中
yi∈{−1,1},
w为向量,b为实数,
γi^表示第i个点到超平面的函数距离
- 几何距离
γi=∥w∥yi(wTxi+b),此公式表示空间中一点到超平面的距离。
γi表示第i个点到超平面的几何距离
- 初始函数表达
{maxr,w,b γs.t. yi(wTxi+b)≥γ,i=1,2⋯,m
或
{maxr,w,b γs.t. γ=minγi,i=1,2,⋯,m
其中:
∥w∥=1
理解:离超平面距离最小的点为
(xk,yk),则求
w,b使
yk(wTxk+b)最大
- 转化方式
s.t yi(γwTxi+b)≥1
等价于
yi(w^Txi+b^)≥1其中
w^=γw
b^=γb
- 初始函数表达式转化为了求以下方程
{minw^,b^∥w^∥s.t. y(i)(w^Tx(i)+b^)≥1
或
{min21∥w^∥2s.t. y(i)(w^Tx(i)+b^)≥1
理解:约束条件下最小化
∥w^∥
1)有不等式约束的时候
⎩⎪⎨⎪⎧minwf(w)hi(w)=0,i=1,2⋯,lgi(w)≤0,i=1,2,⋯,k
2) 构建拉格朗日方程
L(w,α,β)=f(w)+i=1∑lβihi(w)+i=1∑kαigi(w)
3)等价于极大极小
令:
θp(w)=α,β:αi>0max{f(w)+i=1∑lβihi(w)+i=1∑kαigi(w)}
则:
wminf(w);hi(w)=0,gi(w)≤0 等价于
wminθp(w)=wminα,β:αi>0maxL(w,α,β)
4) 证明
α,β;αi≥0maxwminL(w,α,β)≤wminα,β;αi≥0maxL(w,α,β)
令
α,β;αi≥0maxwminL(w,α,β)=L(w0,α0,β0)
wminα,β;αi≥0maxL(w,α,β)=L(w1,α1,β1)
根据上式可知:
L(w0,α0,β0)≤L(w,α0,β0)
L(w1,α1,β1)≥L(w1,α,β)
推导出:
L(w1,α1,β1)≥L(w1,α0,β0)≥L(w0,α0,β0)
- 极大极小问题
p∗=minwθp(w)
- 极小极大问题(与以上问题互为对偶问题)
θD(α,β)=wminL(w,α,β)
α,β:αi>0maxθD(α,β)=α,β:αi>0maxwminL(w,α,β)
d∗=α,β:αi>0maxθD(α,β)
- 对偶问题与原始问题等价条件
满足以下条件能够使
d∗=p∗
1)约束条件不等式
g都是凸函数
2) 约束等式
h都是放射函数
3) 不等式严格执行
即
g与
h都为凸函数时对偶问题与原始问题等价
1)
∂wi∗∂L(w∗,α,β)=0
2)
∂βi∂L(w∗,α,β)=0
3)
αigi(w∗)=0
4)
gi(w∗)≤0
5)
α≥0
6)
hi(w∗)=0
一般而言:KKT条件是一组解成为最优解的必要条件,当原问题是凸问题的时候,KKT条件也是一组解成为最优解的充分条件
使用KKT条件无法直接引入核函数因此SVM引入了对偶性问题(但是它能很好的解释SVM)
- SVM问题代入拉格朗日方程
minw,b 21∥w∥2
s.t.
gi(w)=−yi(wTxi+b)+1≤0
等价于
amaxw,bminL(w,b,a)=21∥w∥2−i=1∑mai[yi(wTxi+b)−1]
约束条件为:ai>0
- 先求极小
∂w∂L=w−i=1∑maiyixi=0
∂b∂L=i=1∑maiyi=0
原拉格朗日方程转化为:
L(w,b,a)=i=1∑mai−21i=1∑mj=1∑maiajyiyj<xi,xj>
- 再求极大
原问题转化为
amax i=1∑mai−21i=1∑mj=1∑maiajyiyj<xi,xj>
subject to
ai≥0
i=1∑maiyi=0
- 方程
f(x)=wTx+b=∑aiyi(xi)Tx+b
- 解释
因为只有处于边界面上的点对应的
ai̸=0,因此说分界面只与边界面上的点有关。
αmaxW(α1,α2,⋯,αn)
基本思想:
每一步只求一个参数的值,即先fixed所有其他参数来使本参数让目标函数达到最优值
每次选择两个变量来进行优化,即先fixed所有其他参数来使目前参数让目标函数达到最优解
- 回想原始问题(线性可分)
- 线性不可分问题可以通过空间变换使原数据集从线性不可分变为线性可分
- 对原问题的等价形式如下:
amax i=1∑mai−21i=1∑mj=1∑maiajyiyj<xi,xj>
约束条件
ai≥0
i=1∑maiyi=0
- 对数据集进行空间变换相当于对
<xi,xj>进行变换,因此提出了核技法如下:
K(X,Z)=<ϕ(X),ϕ(Z)>
可以理解为两个经过空间变换后的向量的内积
- 核函数-1
1)对应的映射函数
ϕ(x)=[x1x1,x1x1,⋯xnxn−1,xnxn]
2)核函数
K(X,Z)=(XTZ)2=(i=1∑nxizi)(j=1∑nxjzj)
- 核函数-2
1)对应的映射函数
ϕ(x)=[x1x1,⋯,xnxn,2c
x1,⋯,2c
xn,c]
2)核函数
K(X,Z)=(XTZ+c)2=i,j=1∑n(xixj)(zizj)+i=1∑n2c
xi2c
zi+c2
-
核函数-3(高斯核)
K(x,z)=exp(−2δ2∥x−z∥2)
-
合法核
定义一个核矩阵K,
Kij=K(xi,xj)
Mercer定理
K是合法的核的充分必要条件是对于一个有限的数据集,对应的核矩阵都是对称半正定矩阵
-
常用的核函数
1)多项式
K(xi,xj)=(1+(xi)Txj)p
2)高斯
K(xi,xj)=exp(−2δ2∥xi−xj∥)
3)sigmoid
K(xi,xj)=tanh(β0xi(xj)T+β0)
-
如何选择核函数
1)一般使用高斯核线性核
2)特征数目很大,样本较少,选用线性核
3)特征数目很小,样本数目一般,选用高斯核
4)特征数目小,样本数目很大,手工添加特征变成前两种情况
5)交叉验证尝试各种核
6)高端玩家自己设计核
高空维间仍然线性不可分时
允许有数据点拥有小于1的几何间隔但要受到惩罚
minw,b 21∥w∥2+Ci=1∑mξ
约束条件为:
yi(wTxi+b)≥1−ξi
ξi≥0
- 数学特性
凸优化问题,保证会有全局最优
- 模型特性
可以处理高维数据
软间隔降低过拟合
求解完成后只有少数数据起作用
灵活的选择和函数
- SVM的另一种理解
Loss=i=1∑N[1−yi(wTxi+b)]++λ∥w∥2
[z]+={z if z>00
可以求合页损失函数的最小值来取得最优分界面
- 现有的SVM仅支持二分类法
- 多分类解决
1)一对多 N个分类器
2)一对一 N(N-1)/2个分类器
3)层次支持向量机 LogN个分类器