机器学习进阶(9):超详细的支持向量机(SVM)的公式推导和理解

0 前言

网上有很多版本比较混乱,索性依照自己的理解重新整理了SVM的要点。支持向量机(support vector machines,SVM)是一种二分类模型,它将实例的特征向量映射为空间中的一些点,SVM 的目的就是想要画出一条线,以 “最好地” 区分这两类点。

1 线性可分支持向量机

1.1 硬间隔

即过渡带无样本点,目的是两类数据完全分开。

1.2 硬间隔SVM

给定训练数据集: T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x N , y N ) } x i ∈ R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , . . . N \mathrm{T}=\left\{ \left( \mathbf{x}_1,\mathrm{y}_1 \right) ,\left( \mathbf{x}_2,\mathrm{y}_2 \right) ...\left( \mathbf{x}_{\mathbf{N}},\mathrm{y}_{\mathrm{N}} \right) \right\} \\ \mathbf{x}_{\mathbf{i}}\in \mathrm{R}^{\mathrm{n}},\mathrm{y}_{\mathrm{i}}\in \{+1,-1\},\mathrm{i}=1,2,...\mathrm{N} T={(x1,y1),(x2,y2)...(xN,yN)}xiRn,yi{+1,1},i=1,2,...N
其中x是实例,y为标签,取±1。

在样本空间构造超平面函数:
y ( x ) = w T Φ ( x ) + b y(x)=w^T\Phi (x)+b y(x)=wTΦ(x)+b

根据标签: { y ( x i ) > 0 ⇔ y i = + 1 y ( x i ) < 0 ⇔ y i = − 1 ⇒ y i ⋅ y ( x i ) > 0 \left\{ \begin{array}{l} y\left( x_i \right) >0\Leftrightarrow y_i=+1\\ y\left( x_i \right) <0\Leftrightarrow y_i=-1\\ \end{array}\Rightarrow y_i\cdot y\left( x_i \right) >0 \right. {y(xi)>0yi=+1y(xi)<0yi=1yiy(xi)>0
函数值大于0则判定为正例,小于0判为负例。此时我们只需要求通过两类之间的超平面即可满足要求。

但是这里有很多超平面都满足需求,所以我们为了求最优的超平面,需要求两类之间的最短距离,而最优超平面即这个最短线段的垂直平分线。

这里的±1其实主要是为了推导方便,因为无论具体的距离是多少,都可以使W等比例缩放变换来满足要求。W的方向也是这条线的法线方向,这里指向上或者下都是等价的。

可以求出点到超平面的相对距离:
y i ⋅ y ( x i ) ∣ w ∣ = y i ⋅ ( w T ⋅ Φ ( x i ) + b ) ∣ w ∣ \frac{y_i\cdot y\left( x_i \right)}{|w|}=\frac{y_i\cdot \left( w^T\cdot \Phi \left( x_i \right) +b \right)}{|w|} wyiy(xi)=wyi(wTΦ(xi)+b)
这里同时把标签信息带入,正好可以使得负例的距离也变成正值,目标函数为:
a r g max ⁡ w , b { 1 ∣ w ∣ min ⁡ i [ y i ⋅ ( w T ⋅ Φ ( x i ) + b ) ] } \underset{w,b}{\mathrm{arg}\max}\left\{ \frac{1}{|w|}\min_i \left[ y_i\cdot \left( w^T\cdot \Phi \left( x_i \right) +b \right) \right] \right\} w,bargmax{w1imin[yi(wTΦ(xi)+b)]}
就是找出距离最近的样本,然后这些样本到超平面的距离取最大。同时要使得超平面居中,两类点的函数值满足 y ∣ ≥ 1 \mathrm{y}\mid \ge 1 y1,需要约束条件:
y i ⋅ ( w T ⋅ Φ ( x i ) + b ) ≥ 1 y_i\cdot \left( w^T\cdot \Phi \left( x_i \right) +b \right) \ge 1 yi(wTΦ(xi)+b)1
既然最后约束条件的最小值为1,因为总会找到支持向量取1,可以得到新的目标函数:
a r g max ⁡ w , b 1 ∣ w ∣ s . t . y i ( w T ⋅ Φ ( x i ) + b ) ≥ 1 , i = 1 , 2 , ⋯   , n \underset{w,b}{\mathrm{arg}\max}\frac{1}{|w|} \\ \mathrm{s}.\mathrm{t}. \quad y_i\left( w^T\cdot \Phi \left( x_i \right) +b \right) \ge 1,\quad i=1,2,\cdots ,n w,bargmaxw1s.t.yi(wTΦ(xi)+b)1,i=1,2,,n
改写为:
min ⁡ w , b 1 2 ∣ w ∣ 2 s . t . y i ( w T ⋅ Φ ( x i ) + b ) ≥ 1 , i = 1 , 2 , ⋯   , n \min_{w,b} \frac{1}{2}|w|^2 \\ \mathrm{s}.\mathrm{t}.\quad y_i\left( w^T\cdot \Phi \left( x_i \right) +b \right) \ge 1,\quad i=1,2,\cdots ,n w,bmin21w2s.t.yi(wTΦ(xi)+b)1,i=1,2,,n

1.3 求解

使用拉格朗日乘子法求解(简略),先表示拉格朗日函数:
L ( w , b , α ) = 1 2 ∣ w ∣ 2 − ∑ i = 1 n α i ( y i ( w T ⋅ Φ ( x i ) + b ) − 1 ) α i ≥ 0 , i = 1 , 2 , . . . , n L(w,b,\alpha )=\frac{1}{2}|w|^2-\sum_{i=1}^n{\alpha _i}\left( y_i\left( w^T\cdot \Phi \left( x_i \right) +b \right) -1 \right) \\ \alpha _i\ge 0,\quad i=1,2,...,n L(w,b,α)=21w2i=1nαi(yi(wTΦ(xi)+b)1)αi0,i=1,2,...,n

原问题为极小极大问题:
min ⁡ w , b max ⁡ α L ( w , b , α ) \min_{w,b} \max_{\alpha} L(w,b,\alpha ) w,bminαmaxL(w,b,α)
对偶问题是极大极小问题:
max ⁡ α min ⁡ w , b L ( w , b , α ) \max_{\alpha} \min_{w,b} L(w,b,\alpha ) αmaxw,bminL(w,b,α)
L ( w , b , α ) L(w,b,\alpha ) L(w,b,α)分别对w和b求偏导并令其等于0:
∂ L ∂ w = 0 ⇒ w = ∑ i = 1 n α i y i Φ ( x n ) ∂ L ∂ b = 0 ⇒ 0 = ∑ i = 1 n α i y i \begin{aligned} &\frac{\partial L}{\partial w}=0\Rightarrow w=\sum_{i=1}^n{\alpha _i}y_i\Phi \left( x_n \right)\\ &\frac{\partial L}{\partial b}=0\Rightarrow 0=\sum_{i=1}^n{\alpha _i}y_i\\ \end{aligned} wL=0w=i=1nαiyiΦ(xn)bL=00=i=1nαiyi
这里的w就是求极小的解,将式子代回原函数,得到:
L ( w , b , α ) = 1 2 ∣ w ∣ 2 − ∑ i = 1 n α i ( y i ( w T ⋅ Φ ( x i ) + b ) − 1 ) = 1 2 w T w − w T ∑ i = 1 n α i y i Φ ( x i ) − b ∑ i = 1 n α i y i + ∑ i = 1 n α i = 1 2 w T ∑ i = 1 n α i y i Φ ( x i ) − w T ∑ i = 1 n α i y i Φ ( x i ) − b ⋅ 0 + ∑ i = 1 n α i = ∑ i = 1 n α i − 1 2 ( ∑ i = 1 n α i y i Φ ( x i ) ) T ∑ i = 1 n α i y i Φ ( x i ) = ∑ i = 1 n α i − 1 2 ∑ i , j = 1 n α i α j y i y j Φ T ( x i ) Φ ( x j ) \begin{aligned} &L(w,b,\alpha )=\frac{1}{2}|w|^2-\sum_{i=1}^n{\alpha _i}\left( y_i\left( w^T\cdot \Phi \left( x_i \right) +b \right) -1 \right)\\ &=\frac{1}{2}w^Tw-w^T\sum_{i=1}^n{\alpha _i}y_i\Phi \left( x_i \right) -b\sum_{i=1}^n{\alpha _i}y_i+\sum_{i=1}^n{\alpha _i}\\ &=\frac{1}{2}w^T\sum_{i=1}^n{\alpha _i}y_i\Phi \left( x_i \right) -w^T\sum_{i=1}^n{\alpha _i}y_i\Phi \left( x_i \right) -b\cdot 0+\sum_{i=1}^n{\alpha _i}\\ &=\sum_{i=1}^n{\alpha _i}-\frac{1}{2}\left( \sum_{i=1}^n{\alpha _i}y_i\Phi \left( x_i \right) \right) ^T\sum_{i=1}^n{\alpha _i}y_i\Phi \left( x_i \right)\\ &=\sum_{i=1}^n{\alpha _i}-\frac{1}{2}\sum_{i,j=1}^n{\alpha _i}\alpha _jy_iy_j\Phi ^T\left( x_i \right) \Phi \left( x_j \right)\\ \end{aligned} L(w,b,α)=21w2i=1nαi(yi(wTΦ(xi)+b)1)=21wTwwTi=1nαiyiΦ(xi)bi=1nαiyi+i=1nαi=21wTi=1nαiyiΦ(xi)wTi=1nαiyiΦ(xi)b0+i=1nαi=i=1nαi21(i=1nαiyiΦ(xi))Ti=1nαiyiΦ(xi)=i=1nαi21i,j=1nαiαjyiyjΦT(xi)Φ(xj)
这里的b可以消去,最后的式子就是求极大:
a ∗ = a r g max ⁡ α ( ∑ i = 1 n α i − 1 2 ∑ i , j = 1 n α i α j y i y j Φ T ( x i ) Φ ( x j ) ) a^*=\underset{\alpha}{\mathrm{arg}\max}\left( \sum_{i=1}^n{\alpha _i}-\frac{1}{2}\sum_{i,j=1}^n{\alpha _i}\alpha _jy_iy_j\Phi ^T\left( x_i \right) \Phi \left( x_j \right) \right) a=αargmax(i=1nαi21i,j=1nαiαjyiyjΦT(xi)Φ(xj))
同时要满足约束:
max ⁡ α ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( Φ ( x i ) ⋅ Φ ( x j ) )    s . t . ∑ i = 1 n α i y i = 0 α i ≥ 0 , i = 1 , 2 , . . . , n \begin{aligned} &\max_{\alpha} \sum_{i=1}^n{\alpha _i}-\frac{1}{2}\sum_{i=1}^n{\sum_{j=1}^n{\alpha _i}}\alpha _jy_iy_j\left( \Phi \left( x_i \right) \cdot \Phi \left( x_j \right) \right)\\ &\,\,\mathrm{s}.\mathrm{t}. \sum_{i=1}^n{\alpha _i}y_i=0\\ &\quad \alpha _i\ge 0,\quad i=1,2,...,n\\ \end{aligned} αmaxi=1nαi21i=1nj=1nαiαjyiyj(Φ(xi)Φ(xj))s.t.i=1nαiyi=0αi0,i=1,2,...,n
最终求解得到最优的 α ∗ \alpha ^* α(SMO或者梯度下降迭代求得),这里仅支持向量 α \alpha α值的大于0,其他样本的 α \alpha α值都为0(支持向量指的是决定超平面的样本,硬间隔中是落在y=±1上的样本)。

计算得到:
w ∗ = ∑ i = 1 N α i ∗ y i Φ ( x i ) b ∗ = y i − ∑ i = 1 N α i ∗ y i ( Φ ( x i ) ⋅ Φ ( x j ) ) \quad w^*=\sum_{i=1}^N{\alpha _{i}^{*}}y_i\Phi \left( x_i \right) \\ b^*=y_i-\sum_{i=1}^N{\alpha _{i}^{*}}y_i\left( \Phi \left( x_i \right) \cdot \Phi \left( x_j \right) \right) w=i=1NαiyiΦ(xi)b=yii=1Nαiyi(Φ(xi)Φ(xj))
求出最优的超平面:
w ∗ Φ ( x ) + b ∗ = 0 w^*\Phi (x)+b^*=0 wΦ(x)+b=0
决策函数为:
f ( x ) = s i g n ( w ∗ Φ ( x ) + b ∗ ) f(x)=\mathrm{sign}\left( w^*\Phi (x)+b^* \right) f(x)=sign(wΦ(x)+b)

2 线性支持向量机

2.1 软间隔

并不一定完全分类的超平面是最好的,存在样本数据本身就线性不可分的情况,为了提高泛化性能,引入软间隔。也就是允许个别样本出错,落入超平面的另外一边。

2.2 软间隔SVM

若数据线性不可分,则增加松弛因子 ξ i ≥ 0 \xi _{\mathrm{i}}\ge 0 ξi0,使得函数间隔允许小于1。约束条件变为了:
y i ( w ⋅ x i + b ) ≥ 1 − ξ i y_i\left( w\cdot x_i+b \right) \ge 1-\xi _i yi(wxi+b)1ξi
而目标函数为:
min ⁡ w , b , ξ 1 2 ∣ w ∣ 2 + C ∑ i = 1 N ξ i    s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , n ξ i ≥ 0 , i = 1 , 2 , ⋯   , n \begin{aligned} &\min_{w,b,\xi} \frac{1}{2}|w|^2+C\sum_{i=1}^N{\xi _i}\\ &\,\,\mathrm{s}.\mathrm{t}. \quad y_i\left( w\cdot x_i+b \right) \ge 1-\xi _i,\quad i=1,2,\cdots ,n\\ &\quad \xi _i\ge 0,\quad i=1,2,\cdots ,n\\ \end{aligned} w,b,ξmin21w2+Ci=1Nξis.t.yi(wxi+b)1ξi,i=1,2,,nξi0,i=1,2,,n
由于前面推导过了,这里的省略了很多部分。其中C为惩罚因子,通过调节C来控制软间隔的大小,当C趋于∞时, ξ i \xi _{\mathrm{i}} ξi只能取0,软间隔就退化为了硬间隔。下图可以形象的表示这种变化:
在这里插入图片描述

2.3 求解

构造拉格朗日函数:
L ( w , b , ξ , α , μ ) ≡ 1 2 ∣ w ∣ 2 + C ∑ i = 1 n ξ i − ∑ i = 1 n α i ( y i ( w ⋅ x i + b ) − 1 + ξ i ) − ∑ i = 1 n μ i ξ i L(w,b,\xi ,\alpha ,\mu )\equiv \frac{1}{2}|w|^2+C\sum_{i=1}^n{\xi _i}-\sum_{i=1}^n{\alpha _i}\left( y_i\left( w\cdot x_i+b \right) -1+\xi _i \right) -\sum_{i=1}^n{\mu _i\xi _i} L(w,b,ξ,α,μ)21w2+Ci=1nξii=1nαi(yi(wxi+b)1+ξi)i=1nμiξi

比硬间隔多了两个参数。

w , b , ξ i \mathrm{w},\mathrm{b},\xi _i w,b,ξi求偏导:
∂ L ∂ w = 0 ⇒ w = ∑ i = 1 n α i y i ϕ ( x n ) ∂ L ∂ b = 0 ⇒ 0 = ∑ i = 1 n α i y i ∂ L ∂ ξ i = 0 ⇒ C − α i − μ i = 0 \begin{aligned} &\frac{\partial L}{\partial w}=0\Rightarrow w=\sum_{i=1}^n{\alpha _i}y_i\phi \left( x_n \right)\\ &\frac{\partial L}{\partial b}=0\Rightarrow 0=\sum_{i=1}^n{\alpha _i}y_i\\ &\frac{\partial L}{\partial \xi _i}=0\Rightarrow C-\alpha _i-\mu _i=0\\ \end{aligned} wL=0w=i=1nαiyiϕ(xn)bL=00=i=1nαiyiξiL=0Cαiμi=0
代入拉格朗日函数,得到:
max ⁡ α − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 n α i    s . t . ∑ i = 1 n α i y i = 0 C − α i − μ i = 0 α i ≥ 0 μ i ≥ 0 , i = 1 , 2 , . . . , n \begin{aligned} &\max_{\alpha} -\frac{1}{2}\sum_{i=1}^n{\sum_{j=1}^n{\alpha _i}}\alpha _jy_iy_j\left( x_i\cdot x_j \right) +\sum_{i=1}^n{\alpha _i}\\ &\,\,\mathrm{s}.\mathrm{t}. \sum_{i=1}^n{\alpha _i}y_i=0\\ &\quad C-\alpha _i-\mu _i=0\\ &\quad \begin{array}{l} \alpha _i\ge 0\\ \mu _i\ge 0,\quad i=1,2,...,n\\ \end{array}\\ \end{aligned} αmax21i=1nj=1nαiαjyiyj(xixj)+i=1nαis.t.i=1nαiyi=0Cαiμi=0αi0μi0,i=1,2,...,n
后面三个条件可以推出:
0 ≤ α i ≤ C 0\le \alpha _i\le C 0αiC
合并为:
min ⁡ α 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 n α i    s . t . ∑ i = 1 n α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , . . . , n \begin{aligned} &\min_{\alpha} \frac{1}{2}\sum_{i=1}^n{\sum_{j=1}^n{\alpha _i}}\alpha _jy_iy_j\left( x_i\cdot x_j \right) -\sum_{i=1}^n{\alpha _i}\\ &\,\,\mathrm{s}.\mathrm{t}. \sum_{i=1}^n{\alpha _i}y_i=0\\ &\quad 0\le \alpha _i\le C,\quad i=1,2,...,n\\ \end{aligned} αmin21i=1nj=1nαiαjyiyj(xixj)i=1nαis.t.i=1nαiyi=00αiC,i=1,2,...,n
同理求得最优的 α ∗ \alpha ^* α,代入得到: w ∗ = ∑ i = 1 n α i ∗ y i x i b ∗ = max ⁡ i : y i = − 1 w ∗ ⋅ x i + min ⁡ i : y i = 1 w ∗ ⋅ x i 2 \begin{aligned} w^*&=\sum_{i=1}^n{\alpha _{i}^{*}}y_ix_i\\ b^*&=\frac{\max_{i:y_i=-1} w^*\cdot x_i+\min_{i:y_i=1} w^*\cdot x_i}{2}\\ \end{aligned} wb=i=1nαiyixi=2maxi:yi=1wxi+mini:yi=1wxi
最终求出超平面:
w ∗ x + b ∗ = 0 w^*x+b^*=0 wx+b=0
求出分类决策函数:
f ( x ) = s i g n ( w ∗ x + b ∗ ) f(x)=\mathrm{sign}\left( w^*x+b^* \right) f(x)=sign(wx+b)

3 非线性支持向量机

3.1 核函数

可以使用核函数,将原始输入空间映射到高维的特征空间,从而使得原本低维线性不可分的样本能在高维核空间可分。

在这里插入图片描述
从超平面函数出发,这里我们是求一个映射 Φ ( x ) \Phi (x) Φ(x)来将特征空间映射到另一个高维空间之后做判别分析。
y ( x ) = w T Φ ( x ) + b y(x)=w^T\Phi (x)+b y(x)=wTΦ(x)+b
例如,一个二维空间中的特征x x = ( x ( 1 ) , x ( 2 ) ) T x=\left( x^{(1)},x^{(2)} \right) ^{\mathrm{T}} x=(x(1),x(2))T
映射到三维空间:
Φ ( x ) = ( ( x ( 1 ) ) 2 , 2 x ( 1 ) x ( 2 ) , ( x ( 2 ) ) 2 ) T \Phi (x)=\left( \left( x^{(1)} \right) ^2,\sqrt{2}x^{(1)}x^{(2)},\left( x^{(2)} \right) ^2 \right) ^{\mathrm{T}} Φ(x)=((x(1))2,2 x(1)x(2),(x(2))2)T
这样就通过这么一个映射实现了升维。但是实际上我们并不需要求出这个映射,因为观察最终的求解式:
max ⁡ α ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( Φ ( x i ) ⋅ Φ ( x j ) )    s . t . ∑ i = 1 n α i y i = 0 α i ≥ 0 , i = 1 , 2 , . . . , n \begin{aligned} &\max_{\alpha} \sum_{i=1}^n{\alpha _i}-\frac{1}{2}\sum_{i=1}^n{\sum_{j=1}^n{\alpha _i}}\alpha _jy_iy_j\left( \Phi \left( x_i \right) \cdot \Phi \left( x_j \right) \right)\\ &\,\,\mathrm{s}.\mathrm{t}. \sum_{i=1}^n{\alpha _i}y_i=0\\ &\quad \alpha _i\ge 0,\quad i=1,2,...,n\\ \end{aligned} αmaxi=1nαi21i=1nj=1nαiαjyiyj(Φ(xi)Φ(xj))s.t.i=1nαiyi=0αi0,i=1,2,...,n
可以发现我们要求是 Φ ( x i ) ⋅ Φ ( x j ) \Phi \left( x_i \right) \cdot \Phi \left( x_j \right) Φ(xi)Φ(xj)这么一个内积,最后依照刚才的例子有:
Φ ( x 1 ) ⋅ Φ ( x 2 ) = ( x 1 ⋅ x 2 ) 2 = K ( x 1 ⋅ x 2 ) \Phi (x_1)\cdot \Phi (x_2)=(x_1\cdot x_2)^2=K(x_1\cdot x_2) Φ(x1)Φ(x2)=(x1x2)2=K(x1x2)
所以我们只需要计算这个映射内积的结果核函数 K ( x 1 ⋅ x 2 ) K(x_1\cdot x_2) K(x1x2)即可,注意这里 x 1 x_1 x1 x 2 x_2 x2是向量。

当然也可以有 Φ ( x ) = x \Phi (x)=x Φ(x)=x,这样就相当于构造了线性核 κ ( x , z ) = x T z \kappa \left( x,z \right) =x^Tz κ(x,z)=xTz,类似于线性回归的形式,这种方式就没有实现升维,就退回到了线性SVM。

3.2 带核函数的SVM

核函数分为了几类:

  1. 多项式核函数: K ( x 1 , x 2 ) = ( x 1 ⋅ x 2 + c ) d K\left( x_1,x_2 \right) =\left( x_1\cdot x_2+c \right) ^d K(x1,x2)=(x1x2+c)d

  2. 高斯核函数:
    K ( x 1 , x 2 ) = exp ⁡ ( − γ ⋅ ∥ x 1 − x 2 ∥ 2 ) K\left( x_1,x_2 \right) =\exp \left( -\gamma \cdot \left\| x_1-x_2 \right\| ^2 \right) K(x1,x2)=exp(γx1x22)

  3. Sigmoid核函数:
    K ( x 1 , x 2 ) = tanh ⁡ ( x 1 ⋅ x 2 + c ) K\left( x_1,x_2 \right) =\tanh \left( x_1\cdot x_2+c \right) K(x1,x2)=tanh(x1x2+c)
    替换为核函数后,目标函数如下:
    min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i = 1 N α i    s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , . . . N \begin{aligned} &\min_{\alpha} \frac{1}{2}\sum_{i=1}^N{\sum_{j=1}^N{\alpha _i}}\alpha _jy_iy_jK\left( x_i\cdot x_j \right) -\sum_{i=1}^N{\alpha _i}\\ &\,\,\mathrm{s}.\mathrm{t}. \sum_{i=1}^N{\alpha _i}y_i=0\\ &\quad 0\le \alpha _i\le C,\quad i=1,2,...N\\ \end{aligned} αmin21i=1Nj=1NαiαjyiyjK(xixj)i=1Nαis.t.i=1Nαiyi=00αiC,i=1,2,...N
    只是形式变了,实际不论是硬间隔或是软间隔都可以用到核函数。不仅是维度提升,而且计算量也会比先给出映射的情况要降低。

3.3 高斯核

着重介绍一下高斯核函数。高斯核函数是最常用的核函数,实际中不知道要用什么核函数时,都可以先选用高斯核函数:
K ( x 1 , x 2 ) = e − ∥ x 1 − x 2 ∥ 2 2 σ 2 = e − ( x 1 − x 2 ) 2 2 σ 2 = e − x 1 2 + x 2 2 − 2 x 1 x 2 2 σ 2 = e − x 1 2 + x 2 2 2 σ 2 ⋅ e x 1 x 2 σ 2 = e − x 1 2 + x 2 2 2 σ 2 ⋅ ( 1 + 1 σ 2 ⋅ x 1 x 2 1 ! + ( 1 σ 2 ) 2 ⋅ ( x 1 x 2 ) 2 2 ! + ( 1 σ 2 ) 3 ⋅ ( x 1 x 2 ) 3 3 ! + ⋯ + ( 1 σ 2 ) n ⋅ ( x 1 x 2 ) n n ! + ⋯   ) = e − x 1 2 + x 2 2 2 σ 2 ⋅ ( 1 ⋅ 1 + 1 1 ! x 1 σ ⋅ x 2 σ + 1 2 ! ⋅ x 1 2 σ 2 ⋅ x 2 2 σ 2 + 1 3 ! ⋅ x 1 3 σ 3 ⋅ x 2 3 σ 3 + ⋯ + 1 n ! ⋅ x 1 n σ n ⋅ x 2 n σ n + ⋯   ) = Φ ( x 1 ) T ⋅ Φ ( x 2 ) \begin{aligned} K\left( x_1,x_2 \right) &=e^{-\frac{\left\| x_1-x_2 \right\| ^2}{2\sigma ^2}}=e^{-\frac{\left( x_1-x_2 \right) ^2}{2\sigma ^2}}=e^{-\frac{x_{1}^{2}+x_{2}^{2}-2x_1x_2}{2\sigma ^2}}=e^{-\frac{x_{1}^{2}+x_{2}^{2}}{2\sigma ^2}}\cdot e^{\frac{x_1x_2}{\sigma ^2}}\\ &=e^{-\frac{x_{1}^{2}+x_{2}^{2}}{2\sigma ^2}}\cdot \left( 1+\frac{1}{\sigma ^2}\cdot \frac{x_1x_2}{1!}+\left( \frac{1}{\sigma ^2} \right) ^2\cdot \frac{\left( x_1x_2 \right) ^2}{2!}+\left( \frac{1}{\sigma ^2} \right) ^3\cdot \frac{\left( x_1x_2 \right) ^3}{3!}+\cdots +\left( \frac{1}{\sigma ^2} \right) ^n\cdot \frac{\left( x_1x_2 \right) ^n}{n!}+\cdots \right)\\ &=e^{-\frac{x_{1}^{2}+x_{2}^{2}}{2\sigma ^2}}\cdot \left( 1\cdot 1+\frac{1}{1!}\frac{x_1}{\sigma}\cdot \frac{x_2}{\sigma}+\frac{1}{2!}\cdot \frac{x_{1}^{2}}{\sigma ^2}\cdot \frac{x_{2}^{2}}{\sigma ^2}+\frac{1}{3!}\cdot \frac{x_{1}^{3}}{\sigma ^3}\cdot \frac{x_{2}^{3}}{\sigma ^3}+\cdots +\frac{1}{n!}\cdot \frac{x_{1}^{n}}{\sigma ^n}\cdot \frac{x_{2}^{n}}{\sigma ^n}+\cdots \right)\\ &=\Phi \left( x_1 \right) ^T\cdot \Phi \left( x_2 \right)\\ \end{aligned} K(x1,x2)=e2σ2x1x22=e2σ2(x1x2)2=e2σ2x12+x222x1x2=e2σ2x12+x22eσ2x1x2=e2σ2x12+x22(1+σ211!x1x2+(σ21)22!(x1x2)2+(σ21)33!(x1x2)3++(σ21)nn!(x1x2)n+)=e2σ2x12+x22(11+1!1σx1σx2+2!1σ2x12σ2x22+3!1σ3x13σ3x23++n!1σnx1nσnx2n+)=Φ(x1)TΦ(x2)
高斯核函数实际为无穷维的:
Φ ( x ) = e − x 2 2 σ 2 ( 1 , 1 1 ! x σ , 1 2 ! x 2 σ 2 , 1 3 ! x 3 σ 3 , ⋯   , 1 n ! x n σ n , ⋯   ) \Phi (x)=e^{-\frac{x^2}{2\sigma ^2}}\left( 1,\sqrt{\frac{1}{1!}}\frac{x}{\sigma},\sqrt{\frac{1}{2!}}\frac{x^2}{\sigma ^2},\sqrt{\frac{1}{3!}}\frac{x^3}{\sigma ^3},\cdots ,\sqrt{\frac{1}{n!}}\frac{x^n}{\sigma ^n},\cdots \right) Φ(x)=e2σ2x2(1,1!1 σx,2!1 σ2x2,3!1 σ3x3,,n!1 σnxn,)
这里的 γ \gamma γ就等于 1 2 σ 2 \frac{1}{2\sigma ^2} 2σ21,写法不同而已:
K ( x 1 , x 2 ) = exp ⁡ ( − γ ⋅ ∥ x 1 − x 2 ∥ 2 ) K\left( x_1,x_2 \right) =\exp \left( -\gamma \cdot \left\| x_1-x_2 \right\| ^2 \right) K(x1,x2)=exp(γx1x22)
高斯核函数理解就是以样本x为中心,其他的点都衰减,根据相似度来区分。每一个样本都是一个中心, γ \gamma γ可以理解为衰减因子。
在这里插入图片描述
调参效果:
在这里插入图片描述

4 损失函数的角度

如果把硬间隔考虑为软间隔的一种特殊形式的话,那么可以写出通用的目标函数:
min ⁡ w , b , ξ 1 2 ∣ w ∣ 2 + C ∑ i = 1 N ξ i    s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , n ξ i ≥ 0 , i = 1 , 2 , ⋯   , n \begin{aligned} &\min_{w,b,\xi} \frac{1}{2}|w|^2+C\sum_{i=1}^N{\xi _i}\\ &\,\,\mathrm{s}.\mathrm{t}. \quad y_i\left( w\cdot x_i+b \right) \ge 1-\xi _i,\quad i=1,2,\cdots ,n\\ &\quad \xi _i\ge 0,\quad i=1,2,\cdots ,n\\ \end{aligned} w,b,ξmin21w2+Ci=1Nξis.t.yi(wxi+b)1ξi,i=1,2,,nξi0,i=1,2,,n
问题可以写作:
min ⁡ w , b ∑ i = 1 N ξ i + λ ∣ w ∣ 2 \underset{w,b}{\min}\sum_{i=1}^N{\xi _i}+\lambda |w|^2 w,bmini=1Nξi+λw2
实际观察可以发现,这就是类似于LR(逻辑回归)加上了L2正则项,只是损失函数不同。损失函数 SVM是hinge损失,而LR是log损失 ,且输出 LR给出了后验概率 SVM只给出0或1,也就是属于哪一个类别 。

hinge函数:
在这里插入图片描述

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值