感知机到支持向量机
使用感知机可以解决线性可分的分类问题(二分类),其中分离超平面为
w
x
+
b
=
0
wx+b=0
wx+b=0可以很好的将两种类别区分开来。但是这种分离超平面并不是唯一的。所以在众多的可以将训练样本正确分类的分离超平面中一定有一个是最优的。
那么就将目标转为不仅求出能正确分类的超平面而且求出最优的分离超平面。
线性可分支持向量机
在给定的样本集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
n
,
y
n
)
}
T={\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\}}
T={(x1,y1),(x2,y2),...,(xn,yn)},样本
x
i
x_i
xi到分离超平面
w
x
+
b
=
0
wx+b=0
wx+b=0 的距离
d
=
∣
w
x
i
+
b
∣
∣
∣
w
∣
∣
d = \frac{|wx_i+b|}{||w||}
d=∣∣w∣∣∣wxi+b∣,而样本
x
i
x_i
xi的类别
y
i
=
{
−
1
,
1
}
y_i=\{-1,1\}
yi={−1,1}符号与
w
x
i
+
b
wx_i+b
wxi+b符号是否一致表示分类是否正确。所以可用
y
i
(
w
x
i
+
b
)
y_i(wx_i+b)
yi(wxi+b)表示样本分类的正确性。
对于正确分类的样本,其到分离超平面的距离可以写成
d
=
y
(
w
x
+
b
)
∣
∣
w
∣
∣
d = \frac{y(wx+b)}{||w||}
d=∣∣w∣∣y(wx+b),表示分类正确的确信度。记最小的距离(最小确信度)为
γ
=
min
d
=
min
y
(
w
x
+
b
)
∣
∣
w
∣
∣
γ=\min d = \min \frac{y(wx+b)}{||w||}
γ=mind=min∣∣w∣∣y(wx+b)。则对于其它任何样本点,距离超平面的距离满足
d
>
=
γ
d >= γ
d>=γ。
因为任何样本点与超平面的距离均为线性相关,不妨令
γ
=
1
∣
∣
w
∣
∣
\gamma = \frac {1}{||w||}
γ=∣∣w∣∣1。所以有
d
>
=
γ
d >= γ
d>=γ,即
y
(
w
x
+
b
)
∣
∣
w
∣
∣
>
=
1
∣
∣
w
∣
∣
\frac{y(wx+b)}{||w||} >= \frac {1}{||w||}
∣∣w∣∣y(wx+b)>=∣∣w∣∣1,得到
y
(
w
x
+
b
)
>
=
1
y(wx+b) >=1
y(wx+b)>=1。
对于感知机中所有可以将样本正确分类的超平面,最优的超平面一定是和最近样本点距离最大的,这时对样本的分离效果最好(最难分类的点确信度也足够大了,其它的训练样本点更加可以正确分类,对之后新的样本类别预测也更加靠谱)。
所以只要求出
γ
\gamma
γ的最大值
max
γ
\max \gamma
maxγ即可求出最优的分离超平面,当然因为
γ
\gamma
γ是与分离超平面距离的最小值,所以对于训练数据集上的任意样本点
x
i
x_i
xi,均有约束条件
y
i
(
w
x
i
+
b
)
>
=
1
y_i(wx_i+b) >=1
yi(wxi+b)>=1。
在所有样本点线性可分的情况下,使
y
i
(
w
x
i
+
b
)
>
=
1
y_i(wx_i+b) >=1
yi(wxi+b)>=1等号成立的样本点,即与分离超平面距离最近的点称为支持向量。支持向量之间的距离称为间隔,为
2
∣
∣
w
∣
∣
\frac{2}{||w||}
∣∣w∣∣2,支持向量所在平面称为间隔边界。
求最优超平面可以总结为求使支持向量间隔最大的
w
∗
和
b
∗
w^*和b^*
w∗和b∗,即求支持向量间隔最大化的目标函数
max
2
∣
∣
w
∣
∣
\max \frac{2}{||w||}
max∣∣w∣∣2
s
.
t
.
y
(
w
x
+
b
)
>
=
1
s.t. y(wx+b) >=1
s.t. y(wx+b)>=1的解。
由于求
max
2
∣
∣
w
∣
∣
\max \frac{2}{||w||}
max∣∣w∣∣2与求
min
1
2
∣
∣
w
∣
∣
2
\min\frac{1}{2}||w||^2
min21∣∣w∣∣2是等价的,所以目标函数的求解可改为
min
1
2
∣
∣
w
∣
∣
2
\min\frac{1}{2}||w||^2
min21∣∣w∣∣2
s
.
t
.
y
(
w
x
+
b
)
>
=
1
s.t. y(wx+b) >=1
s.t. y(wx+b)>=1
这是一个凸二次规划问题,因此求出受约束的目标函数的解
w
∗
和
b
∗
w^*和b^*
w∗和b∗,便可得到最优超平面,即最大间隔分离超平面
w
∗
x
+
b
∗
=
0
w^*x+b^*=0
w∗x+b∗=0,相应的分类决策函数为
f
(
x
)
=
s
i
g
n
(
w
∗
x
+
b
∗
)
f(x)=sign(w^*x+b^*)
f(x)=sign(w∗x+b∗)。
对偶求解
求解上面的目标函数可利用拉格朗日对偶性通过求解对偶问题得到原始问题的最优解。
优点: 1. 对偶问题更容易求解;2. 自然引入核函数,进而推广到非线性分类问题。
应用拉格朗日乘子法,将目标函数写为拉格朗日函数
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
−
∑
i
α
i
y
i
(
w
x
i
+
b
)
+
∑
i
α
i
L(w,b,\alpha) = \frac{1}{2}||w||^2 - \displaystyle\sum_i\alpha_iy_i(wx_i+b) + \displaystyle\sum_i\alpha_i
L(w,b,α)=21∣∣w∣∣2−i∑αiyi(wxi+b)+i∑αi
s
.
t
.
α
i
>
=
0
s.t. \alpha_i>=0
s.t. αi>=0
目标为求
max
α
min
w
,
b
L
(
w
,
b
,
α
)
\displaystyle\max_\alpha \displaystyle\min_{w,b}L(w,b,\alpha)
αmaxw,bminL(w,b,α)。接下来求解就比较简单了。
1.先求 min w , b L ( w , b , α ) \displaystyle\min_{w,b}L(w,b,\alpha) w,bminL(w,b,α)
只要分别对w和b求偏导并令偏导数为0。
∂
L
∂
w
=
w
−
∑
i
α
i
y
i
x
i
=
0
\frac{\partial L}{\partial w}=w-\displaystyle\sum_i\alpha_iy_ix_i=0
∂w∂L=w−i∑αiyixi=0
∂
L
∂
b
=
−
∑
i
α
i
y
i
=
0
\frac{\partial L}{\partial b}=-\displaystyle\sum_i\alpha_iy_i=0
∂b∂L=−i∑αiyi=0
得到
w
=
∑
i
α
i
y
i
x
i
w=\displaystyle\sum_i\alpha_iy_ix_i
w=i∑αiyixi,
∑
i
α
i
y
i
=
0
\displaystyle\sum_i\alpha_iy_i=0
i∑αiyi=0。
带入拉格朗日函数得到
L
(
w
,
b
,
α
)
=
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
−
∑
i
α
i
y
i
(
(
∑
j
α
j
y
j
x
j
.
x
i
+
b
)
+
∑
i
α
i
=
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
+
∑
i
α
i
L(w,b,\alpha) =\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)-\displaystyle\sum_i\alpha_iy_i((\displaystyle\sum_j\alpha_jy_jx_j.x_i+b)+\displaystyle\sum_i\alpha_i=-\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)+\displaystyle\sum_i\alpha_i
L(w,b,α)=21i∑j∑αiαjyiyj(xi.xj)−i∑αiyi((j∑αjyjxj.xi+b)+i∑αi=−21i∑j∑αiαjyiyj(xi.xj)+i∑αi
即
min
w
,
b
L
(
w
,
b
,
α
)
=
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
+
∑
i
α
i
\displaystyle\min_{w,b}L(w,b,\alpha)=-\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)+\displaystyle\sum_i\alpha_i
w,bminL(w,b,α)=−21i∑j∑αiαjyiyj(xi.xj)+i∑αi
2. 再求
min
w
,
b
L
(
w
,
b
,
α
)
对
α
\displaystyle\min_{w,b}L(w,b,\alpha)对\alpha
w,bminL(w,b,α)对α的极大
max
α
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
+
∑
i
α
i
\displaystyle\max_\alpha -\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)+\displaystyle\sum_i\alpha_i
αmax−21i∑j∑αiαjyiyj(xi.xj)+i∑αi
s
.
t
.
∑
i
α
i
y
i
=
0
s.t. \displaystyle\sum_i\alpha_iy_i=0
s.t. i∑αiyi=0
α
i
>
=
0
\alpha_i>=0
αi>=0
去掉上面目标函数第一项的负号,将上式转换为求最小值:
min
α
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
−
∑
i
α
i
\displaystyle\min_\alpha \frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)-\displaystyle\sum_i\alpha_i
αmin21i∑j∑αiαjyiyj(xi.xj)−i∑αi
s
.
t
.
∑
i
α
i
y
i
=
0
s.t. \displaystyle\sum_i\alpha_iy_i=0
s.t. i∑αiyi=0
α
i
>
=
0
\alpha_i>=0
αi>=0
设
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
l
∗
)
为
\alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha^*_l)为
α∗=(α1∗,α2∗,...,αl∗)为对偶最优化问题的解,则存在下标
j
,
使
得
α
j
∗
>
0
求
得
w
∗
和
b
∗
j,使得\alpha^*_j>0求得w^*和b^*
j,使得αj∗>0求得w∗和b∗。
w
∗
=
∑
i
α
i
∗
y
i
x
i
w^*=\displaystyle\sum_i\alpha^*_iy_ix_i
w∗=i∑αi∗yixi
b
∗
=
y
j
−
∑
i
α
i
∗
y
i
(
x
i
.
x
j
)
b^*=y_j-\displaystyle\sum_i\alpha^*_iy_i(x_i.x_j)
b∗=yj−i∑αi∗yi(xi.xj)
因此可以得到分离超平面
∑
i
α
i
∗
y
i
(
x
.
x
i
)
+
b
∗
=
0
\displaystyle\sum_i\alpha^*_iy_i(x.x_i)+b^*=0
i∑αi∗yi(x.xi)+b∗=0和分类决策函数
f
(
x
)
=
s
i
g
n
(
∑
i
α
i
∗
y
i
(
x
.
x
i
)
+
b
∗
)
f(x)=sign(\displaystyle\sum_i\alpha^*_iy_i(x.x_i)+b^*)
f(x)=sign(i∑αi∗yi(x.xi)+b∗)。
可以看出,分类决策函数只依赖于输入
x
x
x和训练样本的内积。
线性支持向量机
解释一:
对于线性不可分的样本集,如果想用支持向量机对样本进行分类,就要允许一些样本错分,可以引入适当的容错机制。所以对于线性可分支持向量机的目标函数,对每个样本到分离超平面的距离,引入松弛变量
ζ
>
=
0
ζ>=0
ζ>=0使
y
(
w
x
+
b
)
>
=
1
−
ζ
y(wx+b) >=1-ζ
y(wx+b)>=1−ζ即允许一些样本点被错分。这样放弃一些点或许能得到更大的分类间隔,但同时也有了使样本点误分类的风险。为了对此作出权衡,在求间隔最大化的目标函数中对于每个样本加入一项松弛变量作为获得更大分类间隔的代价:
min
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
ζ
i
\min\frac{1}{2}||w||^2+C\displaystyle\sum_iζ_i
min21∣∣w∣∣2+Ci∑ζi
s
.
t
.
y
i
(
w
x
i
+
b
)
>
=
1
−
ζ
i
s.t. y_i(wx_i+b) >=1-ζ_i
s.t. yi(wxi+b)>=1−ζi
ζ
i
>
=
0
ζ_i>=0
ζi>=0
C
>
0
C>0
C>0为惩罚参数,表示分类器对误分类的惩罚。所以最小化目标函数的意义为使支持向量的间隔尽可能大(软间隔最大化),同时使误分类点个数尽可能小,
C
C
C为权衡二者的系数。
一样可以通过求解凸二次规划问题或者引入拉格朗日乘子法转化为对偶问题求解。
对于对偶问题的求解:
原始问题构造拉格朗日函数
L
(
w
,
b
,
ζ
,
α
,
μ
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
ζ
i
−
∑
i
α
i
(
y
i
(
w
x
i
+
b
)
−
1
+
ζ
i
)
−
∑
i
μ
i
ζ
i
L(w,b,ζ,\alpha,\mu) = \frac{1}{2}||w||^2 +C\displaystyle\sum_iζ_i- \displaystyle\sum_i\alpha_i(y_i(wx_i+b)-1+ζ_i)-\displaystyle\sum_i\mu_iζ_i
L(w,b,ζ,α,μ)=21∣∣w∣∣2+Ci∑ζi−i∑αi(yi(wxi+b)−1+ζi)−i∑μiζi
s
.
t
.
α
i
>
=
0
s.t. \alpha_i>=0
s.t. αi>=0
μ
i
>
=
0
\mu_i>=0
μi>=0
先求
L
(
w
,
b
,
ζ
,
α
,
μ
)
对
w
,
b
,
ζ
的
极
小
L(w,b,ζ,\alpha,\mu)对w,b,ζ的极小
L(w,b,ζ,α,μ)对w,b,ζ的极小,求解得到
w
−
∑
i
α
i
y
i
x
i
=
0
w-\displaystyle\sum_i\alpha_iy_ix_i=0
w−i∑αiyixi=0
−
∑
i
α
i
y
i
=
0
-\displaystyle\sum_i\alpha_iy_i=0
−i∑αiyi=0
C
−
α
−
μ
i
=
0
C-\alpha-\mu_i=0
C−α−μi=0
带入拉格朗日函数,得到
min
w
,
b
,
ζ
L
(
w
,
b
,
ζ
,
α
,
μ
)
=
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
+
∑
i
α
i
\displaystyle\min_{w,b,ζ}L(w,b,ζ,\alpha,\mu)= -\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)+\displaystyle\sum_i\alpha_i
w,b,ζminL(w,b,ζ,α,μ)=−21i∑j∑αiαjyiyj(xi.xj)+i∑αi
s
.
t
.
∑
i
α
i
y
i
=
0
s.t. \displaystyle\sum_i\alpha_iy_i=0
s.t. i∑αiyi=0
α
i
>
=
0
\alpha_i>=0
αi>=0
再对
min
w
,
b
,
ζ
L
(
w
,
b
,
ζ
,
α
,
μ
)
求
α
\displaystyle\min_{w,b,ζ}L(w,b,ζ,\alpha,\mu)求\alpha
w,b,ζminL(w,b,ζ,α,μ)求α的极大:
max
α
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
(
x
i
.
x
j
)
+
∑
i
α
i
\displaystyle\max_\alpha -\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_j(x_i.x_j)+\displaystyle\sum_i\alpha_i
αmax−21i∑j∑αiαjyiyj(xi.xj)+i∑αi
s
.
t
.
∑
i
α
i
y
i
=
0
s.t. \displaystyle\sum_i\alpha_iy_i=0
s.t. i∑αiyi=0
C
−
α
−
μ
i
=
0
C-\alpha-\mu_i=0
C−α−μi=0
α
i
>
=
0
\alpha_i>=0
αi>=0
μ
i
>
=
0
\mu_i>=0
μi>=0
设
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
n
∗
)
为
\alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha^*_n)为
α∗=(α1∗,α2∗,...,αn∗)为对偶最优化问题的解,若存在下标
j
,
使
得
0
<
α
j
∗
<
C
,
则
可
求
得
w
∗
和
b
∗
j,使得0<\alpha^*_j<C,则可求得w^*和b^*
j,使得0<αj∗<C,则可求得w∗和b∗。
w
∗
=
∑
i
α
i
∗
y
i
x
i
w^*=\displaystyle\sum_i\alpha^*_iy_ix_i
w∗=i∑αi∗yixi
b
∗
=
y
j
−
∑
i
α
i
∗
y
i
(
x
i
.
x
j
)
b^*=y_j-\displaystyle\sum_i\alpha^*_iy_i(x_i.x_j)
b∗=yj−i∑αi∗yi(xi.xj)
因此可以得到分离超平面
∑
i
α
i
∗
y
i
(
x
.
x
i
)
+
b
∗
=
0
\displaystyle\sum_i\alpha^*_iy_i(x.x_i)+b^*=0
i∑αi∗yi(x.xi)+b∗=0和分类决策函数
f
(
x
)
=
s
i
g
n
(
∑
i
α
i
∗
y
i
(
x
.
x
i
)
+
b
∗
)
f(x)=sign(\displaystyle\sum_i\alpha^*_iy_i(x.x_i)+b^*)
f(x)=sign(i∑αi∗yi(x.xi)+b∗)
解释二
对于线性支持向量机,把支持向量超平面作为样本分类的条件,即
y
i
(
w
x
i
+
b
)
>
=
1
y_i(wx_i+b)>=1
yi(wxi+b)>=1时样本完全正确的分类且具有较高的确信度,此时损失为0;如果
y
i
(
w
x
i
+
b
)
<
1
y_i(wx_i+b)<1
yi(wxi+b)<1即
1
−
y
i
(
w
x
i
+
b
)
>
0
1-y_i(wx_i+b)>0
1−yi(wxi+b)>0,由于样本集线性不可分,所以在支持向量内侧的样本无法保证被正确分类,即确信度不高,将确信度不高的样本记录下来,其损失记为
1
−
y
i
(
w
x
i
+
b
)
1-y_i(wx_i+b)
1−yi(wxi+b)(和感知机损失函数思路类似)。
所以线性支持向量机的损失函数可以为
L
(
y
(
w
x
+
b
)
)
=
[
1
−
y
(
w
x
+
b
)
]
+
=
{
1
−
y
(
w
x
+
b
)
,
1-y(wx+b)>0
0
,
1-y(wx+b)<=0
L(y(wx+b))=[1-y(wx+b)]_+=\begin{cases} 1-y(wx+b),& \text{1-y(wx+b)>0}\\ 0,& \text{1-y(wx+b)<=0} \end{cases}
L(y(wx+b))=[1−y(wx+b)]+={1−y(wx+b),0,1-y(wx+b)>01-y(wx+b)<=0称为合页损失函数。
故支持向量机的最优化可转化为以最小化结构损失函数为目标,即
min
∑
i
[
1
−
y
i
(
w
x
i
+
b
)
]
+
+
λ
∣
∣
w
∣
∣
2
\min\displaystyle\sum_i[1-y_i(wx_i+b)]_++\lambda||w||^2
mini∑[1−yi(wxi+b)]++λ∣∣w∣∣2
后一项为
L
2
L_2
L2正则化项。
非线性支持向量机
对解线性分类问题,线性分类支持向量机是一种比较有效的方法,但是对于非线性分类问题一般无能为力。
非线性分类的分离超平面表达式一般不太好求出,如果能想一个简单的办法将非线性分类问题转化为线性分类问题求解会容易得多。最初的想法是,可以将非线性的样本特征空间进行一个非线性变换,将其映射到更高维的空间,样本在这个更高维空间内是线性可分的,那么就可以通过求解变换后的线性问题的方法求解原始的非线性分类问题,而核技巧就是这样一种方法。利用核技巧可以将线性分类支持向量机扩展到非线性分类问题,只需要将线性支持向量机对偶形式中的内积换成核函数。
核函数
定义
设
χ
χ
χ是输入空间(欧式空间子集或离散集合),又设
κ
κ
κ为特征空间(希尔伯特空间),如果存在一个从
χ
χ
χ到
κ
κ
κ的映射
φ
(
x
)
:
χ
→
κ
φ(x):χ→κ
φ(x):χ→κ使得对所有的
x
,
z
∈
χ
x,z∈χ
x,z∈χ,函数
K
(
x
,
z
)
K(x,z)
K(x,z)满足条件
K
(
x
,
z
)
=
φ
(
x
)
.
φ
(
z
)
K(x,z)=φ(x).φ(z)
K(x,z)=φ(x).φ(z),则称
K
(
x
,
z
)
K(x,z)
K(x,z)为核函数,
φ
(
x
)
φ(x)
φ(x)为映射函数。式中
φ
(
x
)
.
φ
(
z
)
φ(x).φ(z)
φ(x).φ(z)为
φ
(
x
)
和
φ
(
z
)
φ(x)和φ(z)
φ(x)和φ(z)的内积。
核函数的条件为其对应的Gram矩阵是半正定的。
核技巧的想法是,在学习与预测中只定义核函数
K
(
x
,
z
)
K(x,z)
K(x,z)而不显式地定义映射函数
φ
φ
φ。因为通常情况下直接计算
K
(
x
,
z
)
K(x,z)
K(x,z)比较容易而通过先定义映射函数
φ
φ
φ再计算
φ
(
x
)
和
φ
(
z
)
φ(x)和φ(z)
φ(x)和φ(z)的内积
K
(
x
,
z
)
K(x,z)
K(x,z)则困难得多。
核技巧在支持向量机中的应用
在线性向量机的对偶表达式中,目标函数和决策函数都是只涉及输入实例与实例之间的内积。将表达式中的内积用核函数代替则支持向量机目标函数和分类决策函数变为
W
(
α
)
=
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
α
i
W(\alpha)=\frac{1}{2}\displaystyle\sum_i\displaystyle\sum_j\alpha_i\alpha_jy_iy_jK(x_i,x_j)-\displaystyle\sum_i\alpha_i
W(α)=21i∑j∑αiαjyiyjK(xi,xj)−i∑αi
f
(
x
)
=
s
i
g
n
(
∑
i
α
i
∗
y
i
K
(
x
i
,
x
)
+
b
∗
)
f(x)=sign(\displaystyle\sum_i\alpha^*_iy_iK(x_i,x)+b^*)
f(x)=sign(i∑αi∗yiK(xi,x)+b∗)
这就等价于经过映射函数
φ
φ
φ将原来的输入空间变换到一个新的特征空间,将输入空间中的内积
x
i
.
x
j
x_i.x_j
xi.xj变换为特征空间中的内积
φ
(
x
i
)
.
φ
(
x
j
)
φ(x_i).φ(x_j)
φ(xi).φ(xj),在新的特征空间里从训练样本中学习线性支持向量机。当映射函数为非线性函数时,学习到的含有核函数的支持向量机是非线性分类的模型,即可以利用解线性分类问题的方法求非线性分类问题的支持向量机。
使用核技巧的支持向量机精妙之处在于直接对输入空间的内积进行非线性变换而不用真的先对输入空间做核映射再做内积。
常用核函数
1.线性核函数
K
(
x
,
z
)
=
x
.
z
K(x,z)=x.z
K(x,z)=x.z
主要用于线性可分的情况,速度快,分类效果也很好。
2.多项式核函数
K
(
x
,
z
)
=
(
x
.
z
+
1
)
p
K(x,z)=(x.z+1)^p
K(x,z)=(x.z+1)p
可以实现将低维的输入空间映射到高维特征空间。但是多项式核函数的参数多,当多项式阶数较高的时候Gram矩阵的元素值将趋于无穷大或者无穷小,计算复杂度会大到无法计算。
3.高斯核函数
K
(
x
,
z
)
=
e
x
p
(
−
∣
∣
x
−
x
i
∣
∣
2
2
σ
2
)
K(x,z)=exp(-\frac{||x-x_i||^2}{2\sigma^2})
K(x,z)=exp(−2σ2∣∣x−xi∣∣2)
可以实现将低维的输入空间映射到高维特征空间,无论对于大样本还是小样本都有比较好的分类效果。而且其相对于多项式核函数参数要少,因此该核函数应用最广,很多情况下不知道用什么核函数的时候,优先使用高斯核函数。
4.字符串核函数
字符串核函数是定义在字符串集合上的核函数,在文本分类、信息检索、生物信息等方面都有应用。
常用核函数的选择
如果样本的特征数量很多,跟样本数量差不多,选用LR或者线性核SVM
如果样本的特征数量比较少,样本数量一般,不算大也不算小,选用高斯核SVM
如果样本的特征数量比较少,而样本数量很多,需要手工添加一些特征变成第一种情况
即:
如果特征维数很高,往往线性可分,可以采用 LR 或者线性核的 SVM;
如果样本数量很多,由于求解最优化问题的时候,目标函数涉及两两样本计算内积,使用高斯核明显计算量会大于线性核,所以手动添加一些特征,使得线性可分,然后可以用 LR 或者线性核的 SVM;
如果不满足上述两点,即特征维数少,样本数量正常,可以使用高斯核的 SVM。