SVMs and the Kernel Trick
SVM
首先,SVM的目标是找到一个超平面(hyperplane),使得它能将数据分成两类,并且距离超平面最近的点到超平面的距离最大化。

举个具体的例子:
现在我们有一个超平面:
2x1+3x2−6=0
即 β=[2,3], b=−6
(1) 其中一个支持向量位于:x=(4,1)
(2) 所以超平面法向量L2范数(即长度)为:
∥β∥2=22+32=13
(3) 该支持向量到超平面的距离为:
d=132∗4+3∗1−6=135
(4) α:
α 的含义就是 d 的长度, 即 135
(5) 而向量 d :
d=α∣∣β∣∣β=135∗13[2,3]=135∗[2,3]=[1310,1315]
Hinge Loss
介绍一个新loss function:Hinge Loss(合页损失)

举个栗子:
给定一个样本点 xi, 它的真实标签是 yi=−1, 预测标签是 f(xi)=βTxi=0.5, 那么它的Hinge Loss为:
h(x,y,β)=max(0,1−yif(xi))=max(0,1−(−1)∗0.5)=1.5
你看,如果预测值不是0.5而是-1.2,那么Hinge Loss就是0了。
所以:
- yi(βTxi)≥1, Hinge Loss = 0 -> 分类足够好,不需要优化
- yi(βTxi)<1, Hinge Loss > 0 -> 损失增大,迫使调整边界,提高分类精度
所以HL才适用于SVM,因为优化目标就是最大化边界。
Math Optimization
To balance between maximizing accuracy and maximizing margin, fit the hyperparameter Λ:
SVM loss function:
βmin∥β∥2+λh(x,y,β)
Gradient Descent优化推导:
上面式子拆开来:
=>βmin∥β∥2+λN1i=1∑Nmax(0,1−yiβTxi)
=>βminN1i=1∑N[ ∥β∥2+λmax(0,1−yiβTxi) ]
那最后对 β 求偏导:
∂β∂=N1i=1∑N{β,β−λyixi,1−yi(βTxi)≤0otherwise
厉害的来了!! Dual problem optimization
不管别的,总之SVM问题是strong duality的:

所以求maximizing accuracy和求maximizing margin(i.e. minimizing ∥β∥2)是等价的。
拉格朗日乘子
拉格朗日乘子法将约束问题转化为无约束问题。
目前,我们的约束是:
yi(βTxi+b)≥1
为了消除这个约束,我们引入拉格朗日乘子 αi≥0来代表这个约束的惩罚程度。
于是我们有拉格朗日函数:
L(β,b,α)=21∥β∥22−i=1∑Nαi[ yi(βTxi+b)−1 ]
将原问题变换成对偶问题