700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 机器学习——SVM(支持向量机)

机器学习——SVM(支持向量机)

时间:2020-08-30 13:09:49

相关推荐

机器学习——SVM(支持向量机)

先从一个故事说起

国王为武林高手出了一道题,将红豆绿豆摆在桌子上,让他将其分开,于是武林高手轻松的在桌子上画了一条线,将红豆绿豆分开,如下图

于是,国王又将这两种豆子混子一起散落在桌子上,如图

又让武林高手将其分开,心想,这次我看你怎么分,没想到,武林高手站在桌子面前,运足内力,用手掌拍在桌子上,豆子瞬间腾空而起,高手用一张纸将豆子分成两部分,上面的是绿豆,下面的是红豆

上面的故事其实就是支持向量机的直观理解,这些豆子叫做data,把线叫做classifier, 最大间隙trick叫做optimization,拍桌子叫做kernelling, 那张纸叫做hyperplane

支持向量机( support vector machines, SVM)是一种二类分类模型。SVM最基本的原理就是寻找一个分隔“平面”将样本空间一分为二,对于二维平面,分割的其实是一条线,三维平面就需要一个平面来分开,对于 n 维数据,要想将其分开,就需要一个 n-1 维的超平面

支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机( linear support vectormachine in linearly separable case)、线性支持向量机( linear support vector machine)及非线性支持向量机(non- linear support vector machine)。 简单模型是复杂模型的基础,也是复杂模型的特殊情况。当训练数据线性可分时, 通过硬间隔最大化( hard margin maximization),学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化( soft margin aximization),也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧( kernel trick)及软间隔最大化,学习非线性支持向量机

硬间隔最大化模型

下面就从线性可分支持向量机硬间隔最大化说起,以二维为例,如图

要把数据分开可以有很多种分法,我们要取得就是最好的分法,如上图,黑色线代表分割直线(平面),蓝色区域代表间隔,显然,间隔越大,代表这个线(面)的区分能力越大。我们的目的就是找到这个线(面),由上图我们可以看到,绝大多数样本对这个间隔的大小不起作用,只有在蓝色区域边上的样本才能决定间隔的大小,SVM中这些落在边缘的样本称为支持向量,这也就是SVM名字的由来

这个分割平面用公式表示

w T x + b = 0 w^Tx+b=0 wTx+b=0

分类决策函数为

f ( x ) = s i g n ( w T x + b ) f(x)=sign(w^Tx+b) f(x)=sign(wTx+b)

其中 x x x 表示一个 n 维的样本向量, w w w 是平面的 n 维法向量。虽然从公式上来看和线性回归很像,但是它们之间的本质区别,线性回归是用来拟合label的,而SVM的平面方程是用来确定平面方向的。在这个平面一侧为一类数据,另一侧则为另一类

我们的目标是让这个间隔最大,样本到这个分割平面的距离为

d = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ d=\frac{|w^Tx+b|}{||w||} d=∣∣w∣∣∣wTx+b∣​

这个公式其实就是高中学过点到直线距离得演变

d = ∣ A x + B y + C ∣ A 2 + B 2 d=\frac{|Ax+By+C|}{\sqrt{A^2+B^2}} d=A2+B2 ​∣Ax+By+C∣​

||w|| 是L2范数

模型假设

首先这个平面要将数据正确分类,在平面上方的数据类别为 y = 1 y=1 y=1,在平面下方的数据类别为 y = − 1 y=-1 y=−1

对于上方数据,到平面距离 w T x + b > 0 w^Tx+b>0 wTx+b>0, 平面下方数据 w T x + b < 0 w^Tx+b<0 wTx+b<0,这样我们可以用

y i ( w T x i + b ) > 0 y_i(w^Tx_i+b)>0 yi​(wTxi​+b)>0

表示样本被正确分类

这样问题就转化为

{ m a x 2 ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) > 0 , i = 1 , 2 , 3 … , n \begin{cases} max&2\frac{|w^Tx+b|}{||w||} \\ s.t.&y_i(w^Tx_i+b)>0, i=1,2,3…,n \end{cases} {maxs.t.​2∣∣w∣∣∣wTx+b∣​yi​(wTxi​+b)>0,i=1,2,3…,n​

在间隔边缘上的点到分割平面的距离是间隔距离得一半,我们令这个点的函数值为 γ \gamma γ,则

y i ( w T x i + b ) = γ y i ( w T γ x i + b γ ) = 1 y_i(w^Tx_i+b)=\gamma \\ y_i(\frac{w^T}{\gamma}x_i+\frac{b}{\gamma})=1 yi​(wTxi​+b)=γyi​(γwT​xi​+γb​)=1

这里令新的 w ^ = w T γ \hat{w}=\frac{w^T}{\gamma} w^=γwT​,新的 b ^ = b γ \hat{b}=\frac{b}{\gamma} b^=γb​,可以将这个距离看做是单位 1,这样就得到 y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)≥1 yi​(wTxi​+b)≥1 对于支持向量来说 y i ( w T x i + b ) = 1 y_i(w^Tx_i+b)=1 yi​(wTxi​+b)=1,那么间隔可以表示为

γ = 2 ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ = 2 ∣ ∣ w ∣ ∣ \gamma=2\frac{|w^Tx+b|}{||w||}=\frac{2}{||w||} γ=2∣∣w∣∣∣wTx+b∣​=∣∣w∣∣2​

为了方便计算,我们要求 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2​的最大值,转换为 ∣ ∣ w ∣ ∣ 2 ||w||^2 ∣∣w∣∣2 的最小值,问题进一步转化为

{ m i n w , b ∣ ∣ w ∣ ∣ 2 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , 3 … , n \begin{cases} \underset{w,b}{min}&\frac{||w||^2}{2} \\ s.t.&y_i(w^Tx_i+b)\geq1, i=1,2,3…,n \end{cases} ⎩⎨⎧​w,bmin​s.t.​2∣∣w∣∣2​yi​(wTxi​+b)≥1,i=1,2,3…,n​

目标函数本身是一个凸二次规划问题,能直接用现成的优化计算包求解,这种解法有一个很大的缺点在于没办法套用核函数,我们可以有更高效的做法——求解对偶问题

首先要构造朗格朗日函数

我们先看一下拉格朗日乘子法的使用过程,给定一个不等式约束问题:

{ m i n x f ( x ) s . t . g i ( x ) ≤ 0 , i = 1 , 2 , 3 … , k h i ( x ) = 0 , i = 1 , 2 , 3 … , m \begin{cases} \underset{x}{min}f(x) \\ \begin{aligned}s.t.g_i(x)≤0, i=1,2,3…,k \\ h_i(x)=0, i=1,2,3…,m\end{aligned}\end{cases} ⎩⎪⎪⎨⎪⎪⎧​xmin​f(x)s.t.gi​(x)≤0,i=1,2,3…,khi​(x)=0,i=1,2,3…,m​​

我们引入一个广义朗格朗日函数,将它改写成这样:

L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i g i ( x ) + ∑ i = 1 m β i h i ( x ) , α i ≥ 0 L(x,\alpha,\beta)=f(x)+\sum_{i=1}^{k}\alpha_ig_i(x)+\sum_{i=1}^{m}\beta_ih_i(x),\alpha_i≥0 L(x,α,β)=f(x)+i=1∑k​αi​gi​(x)+i=1∑m​βi​hi​(x),αi​≥0

我们会发现 L ≤ f ( x ) L\leq f(x) L≤f(x)所以我们要求的是 m a x L ( x , α , β ) max L(x,\alpha,\beta) maxL(x,α,β)

最终的目标是

m i n b , w ( m a x α i ≥ 0 L ( b , w , α ) ) \underset{b,w}{min} \big(\underset{\alpha_i\geq0}{max}L(b,w,\alpha)\big) b,wmin​(αi​≥0max​L(b,w,α))

构造的拉格朗日函数为

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^{m}\alpha_i(1-y_i(w^Tx_i+b)) L(w,b,α)=21​∣∣w∣∣2+i=1∑m​αi​(1−yi​(wTxi​+b))

对偶问题

m i n b , w ( m a x α i ≥ 0 L ( b , w , α ) ) \underset{b,w}{min}\big(\underset{\alpha_i\geq0}{max}L(b,w,\alpha)\big) b,wmin​(αi​≥0max​L(b,w,α)) 转化为 m a x α i ≥ 0 ( m i n b , w L ( b , w , α ) ) \underset{\alpha_i\geq0}{max}\big(\underset{b,w}{min}L(b,w,\alpha)\big) αi​≥0max​(b,wmin​L(b,w,α))

KKT条件

α i ≥ 0 y i ( w T + b ) − 1 ≥ 0 α i ( 1 − y i ( w T + b ) ) = 0 \begin{aligned} \alpha_i&\geq0 \\ y_i(w^T+b)-1&\geq0\\ \alpha_i(1-y_i(w^T+b))&=0 \end{aligned} αi​yi​(wT+b)−1αi​(1−yi​(wT+b))​≥0≥0=0​

分别对 w , b w,b w,b求导

∂ L ∂ b = − ∑ i = 1 m α i y i = 0 ∂ L ∂ w = w − ∑ i = 1 m α i y i x i → w = ∑ i = 1 m α i y i x i \begin{aligned} &\frac{\partial L}{\partial b}=-\sum_{i=1}^{m}\alpha_iy_i=0 \\ &\frac{\partial L}{\partial w}=w-\sum_{i=1}^{m}\alpha_iy_ix_i → w=\sum_{i=1}^{m}\alpha_iy_ix_i \end{aligned} ​∂b∂L​=−i=1∑m​αi​yi​=0∂w∂L​=w−i=1∑m​αi​yi​xi​→w=i=1∑m​αi​yi​xi​​

代入到上面函数

L ( w , b , α ) = 1 2 w T w + ∑ i = 1 m α i − ∑ i = 1 m α i y i w T x i − ∑ i = 1 m α i y i b = − 1 2 ( ∑ i = 1 m α i y i x i ) T ∑ i = 1 m α i y i x i + ∑ i = 1 m α i = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \begin{aligned} L(w,b,\alpha)&=\frac{1}{2}w^Tw+\sum_{i=1}^{m}\alpha_i-\sum_{i=1}^{m}\alpha_iy_iw^Tx_i-\sum_{i=1}^{m}\alpha_iy_ib \\ &=-\frac{1}{2}(\sum_{i=1}^{m}\alpha_iy_ix_i )^T\sum_{i=1}^{m}\alpha_iy_ix_i +\sum_{i=1}^{m}\alpha_i \\ &=\sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j \end{aligned} L(w,b,α)​=21​wTw+i=1∑m​αi​−i=1∑m​αi​yi​wTxi​−i=1∑m​αi​yi​b=−21​(i=1∑m​αi​yi​xi​)Ti=1∑m​αi​yi​xi​+i=1∑m​αi​=i=1∑m​αi​−21​i=1∑m​j=1∑m​αi​αj​yi​yj​xiT​xj​​

我们要求的是上式的最大值,最终我们的目标是

m i n α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j − ∑ i = 1 m α i \underset{\alpha}{min}\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j-\sum_{i=1}^{m}\alpha_i αmin​21​i=1∑m​j=1∑m​αi​αj​yi​yj​xiT​xj​−i=1∑m​αi​

s . t . ∑ i = 1 m α i y i = 0 α i ≥ 0 , i = 1 , 2 , 3 , … , m \begin{aligned} s.t. \ &\sum_{i=1}^{m}\alpha_iy_i=0 \\ &\alpha_i\geq 0, i=1,2,3,…,m \end{aligned} s.t.​i=1∑m​αi​yi​=0αi​≥0,i=1,2,3,…,m​

唯一的变量 α \alpha α,求出 α \alpha α 就可以推导出对应的 w w w 和 b b b 了

w = ∑ i = 1 m α i y i x i b = y i − w ∗ x i w=\sum_{i=1}^{m}\alpha_iy_ix_i \\ b=y_i-w*x_i w=i=1∑m​αi​yi​xi​b=yi​−w∗xi​

软间隔最大化模型

在实际场景中,数据不可能都是线性可分的,我们要允许一些样本出错,这样我们就要引入一个松弛变量 ξ \xi ξ,适当放松 y i ( w t x i + b ) ≥ 1 y_i(w^tx_i+b)\geq1 yi​(wtxi​+b)≥1 这个条件,变为 y i ( w t x i + b ) ≥ 1 − ξ y_i(w^tx_i+b)\geq1-\xi yi​(wtxi​+b)≥1−ξ

我们把松弛变量加入到目标函数中

m i n b , w , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s . t . y i ( w T x i + b ) ≥ 1 − ξ , i = 1 , 2 , 3 … , n ξ i ≥ 0 , i = 1 , 2 , 3 … n , \begin{aligned} \underset{b,w,\xi}{min}&\frac{1}{2}||w||^2+C\sum_{i=1}^m\xi_i\\&s.t. \quad y_i(w^Tx_i+b)\geq1-\xi, i=1,2,3…,n \end{aligned}\\ \xi_i\geq0,i=1,2,3…n, b,w,ξmin​​21​∣∣w∣∣2+Ci=1∑m​ξi​s.t.yi​(wTxi​+b)≥1−ξ,i=1,2,3…,n​ξi​≥0,i=1,2,3…n,

C为一个常数,可以理解为惩罚参数。我们希望 ∣ ∣ w ∣ ∣ 2 ||w||^2 ∣∣w∣∣2尽可能小,也希望 ∑ ξ i \sum\xi_i ∑ξi​尽量小,C就是用来协调两者的。C越大代表我们对模型的分类要求越严格

拉格朗日函数

L ( w , b , ξ , α , β ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i − y i ( w T x i + b ) ) + ∑ i = 1 m β i ( − ξ i ) L(w,b,\xi,\alpha,\beta)=\frac{1}{2}||w||^2+C\sum_{i=1}^{m}\xi_i+\sum_{i=1}^{m}\alpha_i(1-\xi_i-y_i(w^Tx_i+b))+\sum_{i=1}^{m}\beta_i(-\xi_i) L(w,b,ξ,α,β)=21​∣∣w∣∣2+Ci=1∑m​ξi​+i=1∑m​αi​(1−ξi​−yi​(wTxi​+b))+i=1∑m​βi​(−ξi​)

我们要求这个函数的最值,也就是

m i n w , b , ξ ( m a x α ≥ 0 , β ≥ 0 L ( w , b , ξ , α , β ) ) \underset{w,b,\xi}{min}\big(\underset{\alpha\geq0,\beta\geq0}{max}L(w,b,\xi, \alpha,\beta)\big) w,b,ξmin​(α≥0,β≥0max​L(w,b,ξ,α,β))

原函数的对偶问题是

m a x α ≥ 0 , β ≥ 0 ( m i n w , b , ξ L ( w , b , ξ , α , β ) ) \underset{\alpha\geq0,\beta\geq0}{max}\big(\underset{w,b,\xi}{min}L(w,b,\xi, \alpha,\beta)\big) α≥0,β≥0max​(w,b,ξmin​L(w,b,ξ,α,β))

分别对 w , b , ξ w,b,\xi w,b,ξ求导

∂ L ∂ w = w − ∑ i = 1 m α i y i x i → w = ∑ i = 1 m α i y i x i ∂ L ∂ b = − ∑ i = 1 m α i y i = 0 ∂ L ∂ ξ = C − α i − β i = 0 → β i = C − α i \begin{aligned} &\frac{\partial L}{\partial w}=w-\sum_{i=1}^{m}\alpha_iy_ix_i → w=\sum_{i=1}^{m}\alpha_iy_ix_i \\ &\frac{\partial L}{\partial b}=-\sum_{i=1}^{m}\alpha_iy_i=0 \\ &\frac{\partial L}{\partial \xi}=C-\alpha_i-\beta_i=0 →\beta_i = C-\alpha_i \end{aligned} ​∂w∂L​=w−i=1∑m​αi​yi​xi​→w=i=1∑m​αi​yi​xi​∂b∂L​=−i=1∑m​αi​yi​=0∂ξ∂L​=C−αi​−βi​=0→βi​=C−αi​​

代入对偶函数得:

L ( w , b , ξ , α , β ) = − 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i ) − ∑ i = 1 m ( C − α i ) ξ i = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \begin{aligned}L(w,b,\xi,\alpha,\beta)&=-\frac{1}{2}||w||^2+C\sum_{i=1}^{m}\xi_i+\sum_{i=1}^{m}\alpha_i(1-\xi_i)-\sum_{i=1}^{m}(C-\alpha_i)\xi_i\\ &=\sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j \end{aligned} L(w,b,ξ,α,β)​=−21​∣∣w∣∣2+Ci=1∑m​ξi​+i=1∑m​αi​(1−ξi​)−i=1∑m​(C−αi​)ξi​=i=1∑m​αi​−21​i=1∑m​j=1∑m​αi​αj​yi​yj​xiT​xj​​

由于 α i ≥ 0 \alpha_i\geq0 αi​≥0 ,可以得到 0 ≤ α i ≤ C 0\leq\alpha_i\leq C 0≤αi​≤C ,所以最后式子化简为

m i n α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j − ∑ i = 1 m α i \underset{\alpha}{min}\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j-\sum_{i=1}^{m}\alpha_i αmin​21​i=1∑m​j=1∑m​αi​αj​yi​yj​xiT​xj​−i=1∑m​αi​

s . t . ∑ i = 1 m α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , 3 , … , m \begin{aligned} s.t. \ &\sum_{i=1}^{m}\alpha_iy_i=0 \\ &0\leq\alpha_i\leq C, i=1,2,3,…,m \end{aligned} s.t.​i=1∑m​αi​yi​=00≤αi​≤C,i=1,2,3,…,m​

下面来看KTT条件,分三个部分

原始问题可行:

1 − ξ i − y i ( w T x i + b ) ≤ 0 − ξ i ≤ 0 \begin{aligned}1-\xi_i-y_i(w^Tx_i+b)&\leq0\\ -\xi_i&\leq0 \end{aligned} 1−ξi​−yi​(wTxi​+b)−ξi​​≤0≤0​

对偶问题可行:

α i ≥ 0 β i = C − α i \begin{aligned}\alpha_i&\geq0\\ \beta_i &= C-\alpha_i \end{aligned} αi​βi​​≥0=C−αi​​

以及松弛可行:

α i ( 1 − ξ i − y i ( w T x i + b ) ) = 0 β i ξ i = 0 \begin{aligned}\alpha_i(1-\xi_i-y_i(w^Tx_i+b))&=0\\ \beta_i\xi_i&=0 \end{aligned} αi​(1−ξi​−yi​(wTxi​+b))βi​ξi​​=0=0​

观察 α i ( 1 − ξ i − y i ( w T x i + b ) ) = 0 \alpha_i(1-\xi_i-y_i(w^Tx_i+b))=0 αi​(1−ξi​−yi​(wTxi​+b))=0

1.如果 α i = 0 \alpha_i=0 αi​=0,则 β > 0 , \beta>0, β>0, ξ i = 0 \xi_i=0 ξi​=0 那么 1 − ξ i − y i ( w T x i + b ) ≤ 0 1-\xi_i-y_i(w^Tx_i+b)\leq0 1−ξi​−yi​(wTxi​+b)≤0,即 y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq1 yi​(wTxi​+b)≥1,样本被正确分类,这些样本不是支持向量

2.如果 α i > 0 \alpha_i>0 αi​>0,那么 1 − ξ i − y i ( w T x i + b ) = 0 1-\xi_i-y_i(w^Tx_i+b)=0 1−ξi​−yi​(wTxi​+b)=0,样本是支持向量。由于 C = α i + β i C=\alpha_i+\beta_i C=αi​+βi​

又可以分为下面两种情况

(1) 0 < α < C 0<\alpha<C 0<α<C,那么 β i > 0 \beta_i>0 βi​>0 ,所以 ξ i = 0 \xi_i=0 ξi​=0,样本在边界上

(2) α = C \alpha=C α=C,那么 β i = 0 \beta_i=0 βi​=0 ,此时

如果 ξ i < 1 \xi_i<1 ξi​<1,样本被正确分类如果 ξ i = 1 \xi_i=1 ξi​=1,样本在超平面上如果 ξ i > 1 \xi_i>1 ξi​>1,样本分类错误

核函数

对于线性不可分的数据集,无法在原始空间找到分离平面,于是我们就要把原始数据映射到更高的维度(如故事中的拍桌子),在高维度上找到一个分割平面。

在线性回归中,我们用多项式扩展可以将非线性问题转化为线性问题,我们借鉴这个思路,在SVM中,我们把低维不可分的数据,映射到高维,变成线性可分的。

我们用 Φ \Phi Φ 来表示核函数,样本经过核函数映射之后,就变为 Φ ( x ) \Phi(x) Φ(x)

m i n α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j − ∑ i = 1 m α i \underset{\alpha}{min}\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j-\sum_{i=1}^{m}\alpha_i αmin​21​i=1∑m​j=1∑m​αi​αj​yi​yj​xiT​xj​−i=1∑m​αi​

s . t . ∑ i = 1 m α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , 3 , … , m \begin{aligned} s.t. \ &\sum_{i=1}^{m}\alpha_iy_i=0 \\ &0\leq\alpha_i\leq C, i=1,2,3,…,m \end{aligned} s.t.​i=1∑m​αi​yi​=00≤αi​≤C,i=1,2,3,…,m​

把核函数代入便得到

m i n α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j Φ ( x i ) T Φ ( x j ) − ∑ i = 1 m α i \underset{\alpha}{min}\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j\Phi(x_i)^T\Phi(x_j)-\sum_{i=1}^{m}\alpha_i αmin​21​i=1∑m​j=1∑m​αi​αj​yi​yj​Φ(xi​)TΦ(xj​)−i=1∑m​αi​

s . t . ∑ i = 1 m α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , 3 , … , m \begin{aligned} s.t. \ &\sum_{i=1}^{m}\alpha_iy_i=0 \\ &0\leq\alpha_i\leq C, i=1,2,3,…,m \end{aligned} s.t.​i=1∑m​αi​yi​=00≤αi​≤C,i=1,2,3,…,m​

我们可以看到,核函数仅仅是将內积 x i T x j x_i^Tx_j xiT​xj​ 变成 Φ ( x i ) T Φ ( x j ) \Phi(x_i)^T\Phi(x_j) Φ(xi​)TΦ(xj​),如果我们的原始数据是2维度,映射到5维,再做点积运算,复杂度就会大大提高,如果是更高维度,复杂度将会大大增加,而核函数是在低微来计算得,这样就降低了运算的复杂度,我们把符合这种条件的函数称为核函数,称为K

K ( x i , x j ) = K ( x i T x j ) = Φ ( x i ) T Φ ( x j ) K(x_i,x_j)=K(x_i^Tx_j)=\Phi(x_i)^T\Phi(x_j) K(xi​,xj​)=K(xiT​xj​)=Φ(xi​)TΦ(xj​)

核函数作用其实就是把问题映射到更高维度,把求解复杂度降下来,在训练模型时如果用到了核函数,在与测试也会经过核函数

经过核函数,数据被映射到高维,计算量只是增加了一点

常用的核函数有

1、线性核函数 K ( x i , x j ) = x i T x j K(x_i,x_j)=x_i^Tx_j K(xi​,xj​)=xiT​xj​

2、多项式核函数 K ( x i , x j ) = ( γ x i T x j + r ) d K(x_i,x_j)=(\gamma x_i^Tx_j+r)^d K(xi​,xj​)=(γxiT​xj​+r)d 其中 γ , r , d \gamma,r,d γ,r,d需要自己调参

3、高斯核函数 K ( x i , x j ) = e x p ( − γ ∣ ∣ x i − x j ∣ ∣ 2 ) K(x_i,x_j)=exp(-\gamma ||x_i-x_j||^2) K(xi​,xj​)=exp(−γ∣∣xi​−xj​∣∣2)

4、sigmoid核函数 K ( x i , x j ) = t a n h ( γ x i T x j + r ) K(x_i,x_j)=tanh(\gamma x_i^Tx_j+r) K(xi​,xj​)=tanh(γxiT​xj​+r) 其中 γ , r \gamma,r γ,r需要自己调参

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。