前面的博客中对SVM进行了细腻的理论推导。这里,笔者想可以更进一步思考。
重温hard-margin SVM的推导
在SVM中,样本标签是{1,-1},而不是经常接触的{0,1},这样设计是为了便于公式的推导。
w
=
∑
i
=
1
m
α
i
y
i
x
i
w = \sum_{i=1}^m \alpha_iy_ix_i
w=∑i=1mαiyixi,其中m是样本数。
Kernel Trick
将样本x映射到新的空间
ϕ
(
x
)
\phi(x)
ϕ(x),我们在新的空间里进行hard margin svm。推导过程不变,只需将图片里的x换为
ϕ
(
x
)
\phi(x)
ϕ(x)即可。
f
(
x
)
=
∑
i
=
1
m
α
i
y
i
ϕ
(
x
i
)
T
ϕ
(
x
)
+
b
f(x) = \sum_{i=1}^m \alpha_iy_i\phi(x_i)^T\phi(x) + b
f(x)=∑i=1mαiyiϕ(xi)Tϕ(x)+b
核函数就是
k
(
x
i
,
x
)
=
ϕ
(
x
i
)
T
ϕ
(
x
)
k(x_i,x) = \phi(x_i)^T\phi(x)
k(xi,x)=ϕ(xi)Tϕ(x)
则
f
(
x
)
=
∑
i
=
1
m
α
i
y
i
k
(
x
i
,
x
)
+
b
f(x) = \sum_{i=1}^m \alpha_iy_ik(x_i,x) + b
f(x)=∑i=1mαiyik(xi,x)+b
Kernal trick不局限于SVM
any L2-regularized linear model can be kernelized!!!
并且最优
w
=
∑
i
=
1
m
β
i
x
i
w = \sum_{i=1}^m \beta_ix_i
w=∑i=1mβixi
首先,我们需要回忆一下soft margin SVM
本质上,soft-margin SVM是带有L2正则化的hinge loss(合页损失)
通过KKT条件,可知soft-margin svm采用了hinge loss,仍然保持了解的稀疏性
SVR
带有L2正则化的
ϵ
\epsilon
ϵ不敏感损失,同样解具有稀疏性。
在实际使用中,soft-margin SVM相比hard margin SVM使用的更多。
Kernel Logistic Regression
把
w
=
∑
i
=
1
m
β
i
x
i
w = \sum_{i=1}^m \beta_ix_i
w=∑i=1mβixi带入损失函数中,转为求解
β
\beta
β的问题
注意: 不同于SVM, kernel logistic regression的解并不稀疏,因此预测开销很大
Kernel ridge regression:
把
w
=
∑
i
=
1
m
β
i
x
i
w = \sum_{i=1}^m \beta_ix_i
w=∑i=1mβixi带入损失函数中,转为求解
β
\beta
β的问题
同样是解并不稀疏,预测开销很大
Support Vector Regression(SVR):
解稀疏
SVM为什么转换为对偶问题?
- 原始问题是在求解
w
w
w和
b
b
b,所以对于低维数据而言,直接求解原始问题即可,不需要转换为对偶问题。
当数据维度很高而样本数量有限的时候,转换为对偶问题,因为对偶问题和样本数目有关,和数据维度无关。但实际上,计算内积的时候,和维度还是有关系的。 - 转换为对偶问题的另一个优势是:方便引入核函数
李航老师的《统计机器学习》里列出的优点是:
- 对偶问题往往更容易求解
- 自然引入核函数,进而推广到非线性分类问题