SVM目的
低纬到高维,使线性不可分变成超平面下线性可分,SVM可以得到最优的超平面
最优的超平面
是指模型可以容忍最大的误差(灰色区域是高斯噪音,从第三个图可以看出高斯噪音的方差最大,模型的鲁棒性最好)
在SVM中就是找出margin最大的超平面
点到平面的距离
一个平面:
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
n
x
n
+
b
=
0
w_1x_1+w_2x_2+...+w_nx_n+b=0
w1x1+w2x2+...+wnxn+b=0,其法向量是
w
w
w
则点
x
x
x到平面的距离可以写成,点
x
x
x与平面上的点
x
′
x'
x′组成的向量在法向量上的投影
x
′
x'
x′是平面上的点,所以
w
T
x
′
+
b
=
0
w^Tx'+b=0
wTx′+b=0 =>
w
T
x
′
=
−
b
w^Tx'=-b
wTx′=−b
支持向量推理
在分类任务中,假设样本标签是
y
n
y_n
yn,样本
x
n
x_n
xn是需要分的样本,模型需要保证分类正确,则需要保证
y
n
y_n
yn与
(
w
T
x
n
+
b
)
(w^Tx_n+b)
(wTxn+b)同号,即
y
n
(
w
T
x
n
+
b
)
>
0
y_n(w^Tx_n+b)>0
yn(wTxn+b)>0,假设y取值为{-1,1}(svm本身就是二分类),上面的距离公式可以去除绝对值符号,绝对值符号不好优化:
在
y
n
(
w
T
x
n
+
b
)
>
0
y_n(w^Tx_n+b)>0
yn(wTxn+b)>0中放缩
w
w
w使得
y
n
(
w
T
x
n
+
b
)
=
1
y_n(w^Tx_n+b)=1
yn(wTxn+b)=1,平面还是那个平面不会变,目标优化函数变成:
去掉min,其必要条件如下:
推理结束,去掉绝对值:
支持向量机求解
目标函数是一个二次规划的问题。
二次规划的形式:将目标函数转化成二次规划的一般形式,通过二次规划求解最优的
w
w
w,
b
b
b
支持向量机的对偶形式
上面的二次规划已经能解SVM优化问题了,为什么需要对偶?
当超平面的维度非常非常大的时候即
w
w
w的维度很大,二次规划求解已经无法求解,这时需要一种能解高维度复杂的问题方法。
在使用对偶方法时,首先使用拉格拉日方法将限制条件加入到目标优化函数中,然后一起进行优化
α
n
>
=
0
\alpha_n>=0
αn>=0。
原始优化问题变化后,要使得新的目标函数满足限制条件并且有解(求出满足限制条件,可行的解中的最小的一个):
对偶转化,KKT保证强对偶
求解最优值,对
w
w
w,
b
b
b求偏导
并将求偏导得到的表达式带入目标函数,假设在目标函数已经在最优值,表达式便成为了已知条件带入目标函数不会影响求解。目标函数可以化简称只和
α
n
\alpha_n
αn的最小化问题。
同样这也是一个二次规划的问题,但是目标函数只和
α
n
\alpha_n
αn有关,而
α
n
\alpha_n
αn与几乎只和样本数量有关,这样无限维的超平面就变成了与样本个数有关的求解问题,而
w
w
w,
b
b
b可以由
α
n
\alpha_n
αn得到(偏导)。
核技巧
不同样本的内积开销是很大的,并且无限维度高的话无法求解,使用核技巧转化后再做内积,可以将无限维的内积的计算转化成和样本维度有关的内积计算,
ϕ
\phi
ϕ是二次项式核维度是
d
2
d^2
d2,三次方,多次方一样的推导,超平面的维度是
d
n
d^n
dn。
[1]:林老师的课: https://www.youtube.com/watchv=agmmQh702aA&list=PLXVfgk9fNX2IQOYPmqjqWsNUFl2kpk1U2&index=9