支持向量机(SVM)的原理推导及解释

支持向量机(SVM)的原理推导及解释

在这里插入图片描述

支持向量机的本质:选出最优的分类超平面(标准:离超平面最近距离的样本点最远的超平面)。
假定超平面方程 W T x + b = 0 \mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}=0 WTx+b=0,则样本数据点x到该超平面的距离表示为: ∣ W T x + b ∣ |\mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}| WTx+b。而判断 W T x + b \mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b} WTx+b与标记y符号是否一致得到分类结果:一致,分类正确;否则,分类错误。

于是,我们采用 y ( W T x + b ) \mathbf{y}\left( \mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b} \right) y(WTx+b)替代 ∣ W T x + b ∣ |\mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b}| WTx+b表示样本点到超平面的距离。【当然,这里会有读者思考,如果分类错误,则 y ( W T x + b ) \mathbf{y}\left( \mathbf{W}^{\mathbf{T}}\mathbf{x}+\mathbf{b} \right) y(WTx+b)为负值,没错,我们假定所有的分类标签都是正确的->找到最优的超平面。】

函数距离 d i = y i ( w T x i + b ) \mathbf{d}_{\mathbf{i}}=\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) di=yi(wTxi+b) (i为第i个样本点),而样本总数据集D的函数间隔d定义为D中所有样本数据点到超平面的最小函数间隔值, d = min ⁡ d i \mathbf{d}=\min \mathbf{d}_{\mathbf{i}} d=mindi

但是,函数间隔也存在明显的缺点:若同比例缩放其参数向量w和偏置量b,会改变间隔di的取值。 s ∗ w T x + s ∗ b = 0 \mathbf{s}*\mathbf{w}^{\mathbf{T}}\mathbf{x}+\mathbf{s}*\mathbf{b}=0 swTx+sb=0 d i = s ∗ y i ( w T x i + b ) \mathbf{d}_{\mathbf{i}}=\mathbf{s}*\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) di=syi(wTxi+b),超平面的方向由w决定,位置由w、x和b决定,这里超平面的方向位置不变,但是di却发生了变化。于是,我们引入了几何间隔:
d i _ g = y i ( w T x i + b ) ∣ ∣ w ∣ ∣ = d i ∣ ∣ w ∣ ∣ \mathbf{d}_{\mathbf{i}\_g}=\frac{\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right)}{||\mathbf{w}||}=\frac{\mathbf{d}_{\mathbf{i}}}{||\mathbf{w}||} di_g=wyi(wTxi+b)=wdi

1.线性可分支持向量机(linear support vector machine in linearly separable case)

  • 核心:硬间隔最大化(hard margin maximization)

  • 数据对象:线性可分数据

  • 要求:必须所有的正例和负例分类标签正确(超平面受边界数据影响大)

  • 寻找参数w和b,使得D中所有样本数据点到超平面的最小函数间隔值d最大(这里设定d=1)。

  • 求解问题如下: max ⁡ w , b 1 ∣ ∣ w ∣ ∣    s . t . y i ( w T x i + b ) ⩾ 1 , i = 1 , 2.... n 转换 为 : min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2    s . t . y i ( w T x i + b ) − 1 ⩾ 0 , i = 1 , 2.... n \text{求解问题如下:} \\ \underset{\mathbf{w},\mathbf{b}}{\max}\frac{1}{||\mathbf{w}||}\,\, \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) \geqslant 1,\mathbf{i}=1,2....\mathbf{n} \\ \text{转换}为\text{:} \\ \underset{\mathbf{w},\mathbf{b}}{\min}\frac{1}{2}||\mathbf{w}||^2\,\, \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1\geqslant 0,\mathbf{i}=1,2....\mathbf{n} 求解问题如下:w,bmaxw1s.t.yi(wTxi+b)1,i=1,2....n转换w,bmin21w2s.t.yi(wTxi+b)10,i=1,2....n

  • 对于约束优化问题: min ⁡ f ( x ) s . t . g j ( x ) ⩽ 0 , j = 1 , 2 , . . . , m 若 f ( x ) 和 g j ( x ) 都 为 凸函数,则此问题 为 凸规划。 \text{对于约束优化问题:} \\ \min \mathbf{f}\left( \mathbf{x} \right) \\ \mathbf{s}.\mathbf{t}. \mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \leqslant 0,\mathbf{j}=1,2,...,\mathbf{m} \\ \text{若}\mathbf{f}\left( \mathbf{x} \right) \text{和}\mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \text{都}为\text{凸函数,则此问题}为\text{凸规划。} 对于约束优化问题:minf(x)s.t.gj(x)0,j=1,2,...,mf(x)gj(x)凸函数,则此问题凸规划。

  • 凸规划的性质: 1. 若给定一点 x 0 ,则集合 R = { x ∣ f ( x ) ⩽ f ( x 0 ) } 为 凸集。 2. 可行域 R = { x ∣ g j ( x ) ⩽ 0 , j = 1 , 2 , . . . , m } 为 凸集合。 3. 凸规划的任何 局 部最优解就 是 全 局 最优解。 \text{凸规划的性质:} \\ 1.\text{若给定一点}\mathbf{x}_0\text{,则集合}\mathbf{R}=\left\{ \mathbf{x}|\mathbf{f}\left( \mathbf{x} \right) \leqslant \mathbf{f}\left( \mathbf{x}_0 \right) \right\} 为\text{凸集。} \\ 2.\text{可行域}\mathbf{R}=\left\{ \mathbf{x}|\mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \leqslant 0,\mathbf{j}=1,2,...,\mathbf{m} \right\} 为\text{凸集合。} \\ 3.\text{凸规划的任何}局\text{部最优解就}是\text{全}局\text{最优解。} 凸规划的性质:1.若给定一点x0,则集合R={xf(x)f(x0)}凸集。2.可行域R={xgj(x)0,j=1,2,...,m}凸集合。3.凸规划的任何部最优解就最优解。

硬间隔最大化(HMM)学习算法流程:

输入:线性可分训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } ,其中 x ϵ X ϵ R n , y ϵ Y ϵ { 1 , − 1 } \mathbf{T}=\left\{ \left( \mathbf{x}_1,\mathbf{y}_1 \right) ,\left( \mathbf{x}_2,\mathbf{y}_2 \right) ,...,\left( \mathbf{x}_{\mathbf{n}},\mathbf{y}_{\mathbf{n}} \right) \right\} \text{,其中}\mathbf{x\epsilon X\epsilon R}^{\mathbf{n}},\mathbf{y\epsilon Y\epsilon }\left\{ 1,-1 \right\} T={(x1,y1),(x2,y2),...,(xn,yn)},其中xϵXϵRn,yϵYϵ{1,1}

输出:最大间隔分离超平面和分类决策函数

  • 构造并求解约束最优化问题,求得w*和b*
    min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2    s . t . y i ( w T x i + b ) − 1 ⩾ 0 , i = 1 , 2.... n \underset{\mathbf{w},\mathbf{b}}{\min}\frac{1}{2}||\mathbf{w}||^2\,\, \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1\geqslant 0,\mathbf{i}=1,2....\mathbf{n} w,bmin21w2s.t.yi(wTxi+b)10,i=1,2....n

  • 得到分离超平面:
    W ∗ T + b ∗ = 0 \mathbf{W}^{*\mathbf{T}}+\mathbf{b}^*=0 WT+b=0

  • 分类决策函数:
    f ( x i ) = s g n ( W ∗ T x i + b ∗ ) \mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) =sgn \left( \mathbf{W}^{*\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b}^* \right) f(xi)=sgn(WTxi+b)

使用拉格朗日乘子法求解凸规划:

  • 引入拉格朗日乘子αi≥0得到拉格朗日函数:
    L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 m α i ( y i ( w T x i + b ) − 1 ) \mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha } \right) =\frac{1}{2}||\mathbf{w}||^2-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1 \right)} L(w,b,α)=21w2i=1mαi(yi(wTxi+b)1)

  • 上式可以转换为(因为 g j ( x ) ⩾ 0 \mathbf{g}_{\mathbf{j}}\left( \mathbf{x} \right) \geqslant 0 gj(x)0 , 所 以 是 ,所以是 max ⁡ α i ⩾ 0 \underset{\mathbf{\alpha }_{\mathbf{i}}\geqslant 0}{\max} αi0max):
    min ⁡ w , b θ ( w ) = min ⁡ w , b max ⁡ α i ⩾ 0 L ( w , b , α ) \underset{\mathbf{w},\mathbf{b}}{\min}\mathbf{\theta }\left( \mathbf{w} \right) =\underset{\mathbf{w},\mathbf{b}}{\min}\underset{\mathbf{\alpha }_{\mathbf{i}}\geqslant 0}{\max}\mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha } \right) w,bminθ(w)=w,bminαi0maxL(w,b,α)

  • 满足以下KTT条件时,上式等价于 max ⁡ α i ⩾ 0 min ⁡ w , b L ( w , b , α ) \underset{\mathbf{\alpha }_{\mathbf{i}}\geqslant 0}{\max}\underset{\mathbf{w},\mathbf{b}}{\min}\mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha } \right) αi0maxw,bminL(w,b,α)
    { α i ⩾ 0 , y i f ( x i ) ⩾ 1 , α i ( y i f ( x i ) − 1 ) = 0 \left\{ \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\geqslant 0\text{,}\\ \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) \geqslant 1,\\ \mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) -1 \right) =0\\ \end{array} \right. αi0yif(xi)1,αi(yif(xi)1)=0

  • 令L(w,b,α)对w和b的偏导为零可得:
    w = ∑ i = 1 m α i y i x i , ∑ i = 1 m α i y i = 0 \mathbf{w}=\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}\text{,}}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0} w=i=1mαiyixii=1mαiyi=0

  • 代回原式,进一步简化目标函数,转化为优化 α i \mathbf{\alpha }_{\mathbf{i}} αi,总共m个 α i \mathbf{\alpha }_{\mathbf{i}} αi
    min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j − ∑ i = 1 m α i s . t . ∑ i = 1 m α i y i = 0 , α i ⩾ 0 , i = 1 , 2 , . . . , m \underset{\mathbf{\alpha }}{\min}\frac{1}{2}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\sum_{\mathbf{j}=1}^{\mathbf{m}}{\begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\mathbf{\alpha }_{\mathbf{j}}\mathbf{y}_{\mathbf{i}}\mathbf{y}_{\mathbf{j}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\\ \end{array}\\ \end{array}}\\ \end{array}}} \\ \mathbf{s}.\mathbf{t}.\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0},\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{i}=1,2,...,\mathbf{m} αmin21i=1mj=1mαiαjyiyjxiTxji=1mαis.t.i=1mαiyi=0,αi0,i=1,2,...,m

  • 使用序列最小化算法SMO求解,假定已经得到最优化参数向量 α ∗ \mathbf{\alpha }^* α,则:
    w ∗ = ∑ i = 1 m α i ∗ y i x i    \mathbf{w}^*=\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}\,\, } w=i=1mαiyixi
    而由 W T x i + b i = y i \mathbf{W}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b}_{\mathbf{i}}=\mathbf{y}_{\mathbf{i}} WTxi+bi=yi得:
    b j ∗ = y j − ∑ i = 1 m α i ∗ y i x i T x j , 且 α j ≠ 0 \mathbf{b}_{\mathbf{j}}^{*}=\mathbf{y}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}},}\text{且}\mathbf{\alpha }_{\mathbf{j}}\ne 0 bj=yji=1mαiyixiTxj,αj=0

  • 最终的分类决策函数:
    f ( x j ) = s g n ( ∑ i = 1 m α i ∗ y i x i T x j + b ∗ ) \mathbf{f}\left( \mathbf{x}_{\mathbf{j}} \right) =sgn \left( \sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}}+\mathbf{b}^* \right) f(xj)=sgn(i=1mαiyixiTxj+b)

  • 分析KKT条件的 y i f ( x i ) ⩾ 1 \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) \geqslant 1 yif(xi)1 α i ( y i f ( x i ) − 1 ) = 0 \mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) -1 \right) =0 αi(yif(xi)1)=0
    w h e n    y i f ( x i ) > 1 ⟹ α i = 0 \mathbf{when}\,\,\mathbf{y}_{\mathbf{i}}\mathbf{f}\left( \mathbf{x}_{\mathbf{i}} \right) >1\Longrightarrow \mathbf{\alpha }_{\mathbf{i}}=0 whenyif(xi)>1αi=0
    即:支持向量机具有稀疏性,训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。

在这里插入图片描述

  • 然后使用SMO算法求解优化参数 α i , i ϵ { 1 , 2 , . . . , m } \mathbf{\alpha }_{\mathbf{i}},\mathbf{i\epsilon }\left\{ 1,2,...,\mathbf{m} \right\} αi,iϵ{1,2,...,m}

    第一步:选取一对 α i \mathbf{\alpha }_{\mathbf{i}} αi 和 和 α j \mathbf{\alpha }_{\mathbf{j}} αj进行更新。

    第二步:固定 α i \mathbf{\alpha }_{\mathbf{i}} αi 和 和 α j \mathbf{\alpha }_{\mathbf{j}} αj以外的参数,仅考虑 α i \mathbf{\alpha }_{\mathbf{i}} αi 和 和 α j \mathbf{\alpha }_{\mathbf{j}} αj求解对偶问题,则对偶问题的约束变为:
    ∑ i = 1 m α i y i = 0  变  为 → α i y i + α j y j = − ∑ k ≠ i , j m α k y k , α i ⩾ 0 , α j ⩾ 0 \sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0}\underrightarrow{\text{ 变 } 为 } \mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}+\mathbf{\alpha }_{\mathbf{j}}\mathbf{y}_{\mathbf{j}}=-\sum_{\mathbf{k}\ne \mathbf{i},\mathbf{j}}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{k}}\mathbf{y}_{\mathbf{k}}\text{,}}\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{\alpha }_{\mathbf{j}}\geqslant 0 i=1mαiyi=0   αiyi+αjyj=k=i,jmαkykαi0,αj0
    第三步:通过第二步得出的 α i \mathbf{\alpha }_{\mathbf{i}} αi α j \mathbf{\alpha }_{\mathbf{j}} αj的等式关系,选取保留其中一者,例如 α i \mathbf{\alpha }_{\mathbf{i}} αi = g ( =g( =g( α j \mathbf{\alpha }_{\mathbf{j}} αj)代入目标函数:
    min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i g ( α j ) y i y j x i T x j − ∑ i = 1 m α i s . t . α i ⩾ 0 , i = 1 , 2 , . . . , m \underset{\mathbf{\alpha }}{\min}\frac{1}{2}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\sum_{\mathbf{j}=1}^{\mathbf{m}}{\begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\mathbf{g}\left( \mathbf{\alpha }_{\mathbf{j}} \right) \mathbf{y}_{\mathbf{i}}\mathbf{y}_{\mathbf{j}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\\ \end{array}\\ \end{array}}\\ \end{array}}} \\ \mathbf{s}.\mathbf{t}.\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{i}=1,2,...,\mathbf{m} αmin21i=1mj=1mαig(αj)yiyjxiTxji=1mαis.t.αi0,i=1,2,...,m
    第四步:针对上式再次求解该目标函数的凸优化问题,得到 α i \mathbf{\alpha }_{\mathbf{i}} αi α j \mathbf{\alpha }_{\mathbf{j}} αj的更新值, 然后求解出w * 和 b *。

例题:

  • 给定正例x1=(3,3),x2=(4,3),负例x3=(1,1),计算支 持向量、分类决策函数和分类超平面方程。

在这里插入图片描述

2.线性支持向量机(linear support vector machine)

  • 核心:软间隔最大化(soft margin maximization)
  • 数据对象:近似线性可分数据(大部分数据线性可分,有些不可分

训练数据中有一些特异点(outlier),不能满足函数间隔大于等于1的约束条件,引入一个松弛变量 𝜉𝑖,将约束条件转化为 :
y i ( w T x i + b ) ⩾ 1 − ξ i \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) \geqslant 1-\mathbf{\xi }_{\mathbf{i}} yi(wTxi+b)1ξi
而其中,𝜉𝑖的取值越大,模型对错误分类的容忍程度越高;其中𝐶 > 0是为惩罚因子。

min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i    s . t . y i ( w T x i + b ) ⩾ 1 − ξ i , ξ i ⩾ 0 \underset{\mathbf{w},\mathbf{b}}{\min}\frac{1}{2}||\mathbf{w}||^2+\mathbf{C}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\xi }_{\mathbf{i}}}\,\, \\ \mathbf{s}.\mathbf{t}.\mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) \geqslant 1-\mathbf{\xi }_{\mathbf{i}},\mathbf{\xi }_{\mathbf{i}}\geqslant 0 w,bmin21w2+Ci=1mξis.t.yi(wTxi+b)1ξi,ξi0

在这里插入图片描述

  • 上述优化问题对应的拉格朗日函数为:
    L ( w , b , α , ξ , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i    − ∑ i = 1 m α i ( y i ( w T x i + b ) − 1 + ξ i ) − ∑ i = 1 m μ i ξ i \mathbf{L}\left( \mathbf{w},\mathbf{b},\mathbf{\alpha },\mathbf{\xi },\mathbf{\mu } \right) =\frac{1}{2}||\mathbf{w}||^2+\mathbf{C}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\xi }_{\mathbf{i}}}\,\,-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\left( \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{x}_{\mathbf{i}}+\mathbf{b} \right) -1+\mathbf{\xi }_{\mathbf{i}} \right)}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\mu }_{\mathbf{i}}\\ \end{array}\\ \end{array}\mathbf{\xi }_{\mathbf{i}}} L(w,b,α,ξ,μ)=21w2+Ci=1mξii=1mαi(yi(wTxi+b)1+ξi)i=1mμiξi
    即有:
    min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j − ∑ i = 1 m α i       s . t . ∑ i = 1 m α i y i = 0 , 0 ⩽ α i ⩽ C , μ i = C − α i \underset{\mathbf{\alpha }}{\min}\frac{1}{2}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\sum_{\mathbf{j}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\mathbf{\alpha }_{\mathbf{j}}\mathbf{y}_{\mathbf{i}}\mathbf{y}_{\mathbf{j}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\\ \end{array}\\ \end{array}}\\ \end{array}\,\,\\ \end{array}}}\,\, \\ \mathbf{s}.\mathbf{t}.\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0},0\leqslant \mathbf{\alpha }_{\mathbf{i}}\leqslant \mathbf{C},\mathbf{\mu }_{\mathbf{i}}=\mathbf{C}-\mathbf{\alpha }_{\mathbf{i}} αmin21i=1mj=1mαiαjyiyjxiTxji=1mαis.t.i=1mαiyi=0,0αiC,μi=Cαi
    计算最优参数向量 α i \mathbf{\alpha }_{\mathbf{i}} αi后,可求得对应的软间隔支持向量 机模型:
    f ( x j ) = s g n ( ∑ i = 1 m α i ∗ y i x i T x j + b ∗ ) \mathbf{f}\left( \mathbf{x}_{\mathbf{j}} \right) =sgn \left( \sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}}}+\mathbf{b}^* \right) f(xj)=sgn(i=1mαiyixiTxj+b)
    其中, w ∗ = ∑ i = 1 m α i ∗ y i x i    \mathbf{w}^*=\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}\,\, } w=i=1mαiyixi b j ∗ = y j − ∑ i = 1 m α i ∗ y i x i T x j , 且 α j ≠ 0 \mathbf{b}_{\mathbf{j}}^{*}=\mathbf{y}_{\mathbf{j}}-\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{x}_{\mathbf{i}}^{\mathbf{T}}\mathbf{x}_{\mathbf{j}},}\text{且}\mathbf{\alpha }_{\mathbf{j}}\ne 0 bj=yji=1mαiyixiTxj,αj=0 ξ j = 0 \mathbf{\xi }_{\mathbf{j}}=0 ξj=0(与硬间隔不同之处在于,优化问题的约束条件不同,多了 ξ j = 0 \mathbf{\xi }_{\mathbf{j}}=0 ξj=0)。

3.非线性支持向量机(non-linear support vector machine)

  • 核心:引入核函数(kernel function)及软间隔最大化
  • 数据对象:非线性数据

设两个向量 x 1 = ( η 1 , η 2 ) T , x 2 = ( ξ 1 , ξ 2 ) T \mathbf{x}_1=\left( \mathbf{\eta }_1,\mathbf{\eta }_2 \right) ^{\mathbf{T}},\mathbf{x}_2=\left( \mathbf{\xi }_1,\mathbf{\xi }_2 \right) ^{\mathbf{T}} x1=(η1,η2)T,x2=(ξ1,ξ2)T ϕ ( x ) \mathbf{\phi }\left( \mathbf{x} \right) ϕ(x)表示之前2维->5维的映射,映射过后的内积是:
( ϕ ( x 1 ) , ϕ ( x 2 ) ) = η 1 ξ 1 + η 1 2 ξ 1 2 + η 2 ξ 2 + η 2 2 ξ 2 2 + η 1 η 2 ξ 1 ξ 2 \left( \mathbf{\phi }\left( \mathbf{x}_1 \right) ,\mathbf{\phi }\left( \mathbf{x}_2 \right) \right) =\mathbf{\eta }_1\mathbf{\xi }_1+\mathbf{\eta }_{1}^{2}\mathbf{\xi }_{1}^{2}+\mathbf{\eta }_2\mathbf{\xi }_2+\mathbf{\eta }_{2}^{2}\mathbf{\xi }_{2}^{2}+\mathbf{\eta }_1\mathbf{\eta }_2\mathbf{\xi }_1\mathbf{\xi }_2 (ϕ(x1),ϕ(x2))=η1ξ1+η12ξ12+η2ξ2+η22ξ22+η1η2ξ1ξ2
而经过观察发现,我们可以2维的样本的内积变换结果和5维的内积结果的形式很接近
( ( x 1 , x 2 ) + 1 ) 2 = 2 η 1 ξ 1 + η 1 2 ξ 1 2 + 2 η 2 ξ 2 + η 2 2 ξ 2 2 + 2 η 1 η 2 ξ 1 ξ 2 + 1 \left( \left( \mathbf{x}_1,\mathbf{x}_2 \right) +1 \right) ^2=2\mathbf{\eta }_1\mathbf{\xi }_1+\mathbf{\eta }_{1}^{2}\mathbf{\xi }_{1}^{2}+2\mathbf{\eta }_2\mathbf{\xi }_2+\mathbf{\eta }_{2}^{2}\mathbf{\xi }_{2}^{2}+2\mathbf{\eta }_1\mathbf{\eta }_2\mathbf{\xi }_1\mathbf{\xi }_2+1 ((x1,x2)+1)2=2η1ξ1+η12ξ12+2η2ξ2+η22ξ22+2η1η2ξ1ξ2+1
只要把某几个维度线性缩放一下,然后再加上一个常数维度,两者相等,区别是:

  • 一个是映射到高维空间中,然后再根据内积的公式进行计算。
  • 另一个则直接在原来的低维空间中进行计算,而不需要显式地写出映射后的结果。

设样本x映射后的向量为    ϕ ( x ) \,\,\mathbf{\phi }\left( \mathbf{x} \right) ϕ(x), 划分超平面为:
f ( x ) = w T    ϕ ( x ) + b \mathbf{f}\left( \mathbf{x} \right) =\mathbf{w}^{\mathbf{T}}\,\,\mathbf{\phi }\left( \mathbf{x} \right) +\mathbf{b} f(x)=wTϕ(x)+b
原始问题:
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T ϕ ( x i ) + b ) − 1 ⩾ 0 , i = 1 , 2.... m \underset{\mathbf{w},\mathbf{b}}{\min}\frac{1}{2}||\mathbf{w}||^2 \\ \mathbf{s}.\mathbf{t}. \mathbf{y}_{\mathbf{i}}\left( \mathbf{w}^{\mathbf{T}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) +\mathbf{b} \right) -1\geqslant 0,\mathbf{i}=1,2....\mathbf{m} w,bmin21w2s.t.yi(wTϕ(xi)+b)10,i=1,2....m
而转换为对偶问题为:
min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) − ∑ i = 1 m α i    s . t . ∑ i = 1 m α i y i = 0 , α i ⩾ 0 , i = 1 , 2 , . . . , m \underset{\mathbf{\alpha }}{\min}\frac{1}{2}\sum_{\mathbf{i}=1}^{\mathbf{m}}{\sum_{\mathbf{j}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\mathbf{\alpha }_{\mathbf{j}}\mathbf{y}_{\mathbf{i}}\mathbf{y}_{\mathbf{j}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ^{\mathbf{T}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{j}} \right) -\sum_{\mathbf{i}=1}^{\mathbf{m}}{\begin{array}{c} \begin{array}{c} \mathbf{\alpha }_{\mathbf{i}}\\ \end{array}\\ \end{array}}\\ \end{array}\,\,\\ \end{array}}} \\ \mathbf{s}.\mathbf{t}.\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}\mathbf{y}_{\mathbf{i}}=0},\mathbf{\alpha }_{\mathbf{i}}\geqslant 0,\mathbf{i}=1,2,...,\mathbf{m} αmin21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)i=1mαis.t.i=1mαiyi=0,αi0,i=1,2,...,m
而预测的决策函数为:
f ( x ) = w T    ϕ ( x ) + b = ∑ i = 1 m α i ∗ y i ϕ ( x i ) T ϕ ( x j ) + b ∗ \mathbf{f}\left( \mathbf{x} \right) =\mathbf{w}^{\mathbf{T}}\,\,\mathbf{\phi }\left( \mathbf{x} \right) +\mathbf{b}=\sum_{\mathbf{i}=1}^{\mathbf{m}}{\mathbf{\alpha }_{\mathbf{i}}^{*}\mathbf{y}_{\mathbf{i}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ^{\mathbf{T}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{j}} \right) +\mathbf{b}^*} f(x)=wTϕ(x)+b=i=1mαiyiϕ(xi)Tϕ(xj)+b
这里主要考虑优化 ϕ ( x i ) T ϕ ( x j ) \mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ^{\mathbf{T}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{j}} \right) ϕ(xi)Tϕ(xj)的计算,如果是显式地计算出 ϕ ( x i ) \mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ϕ(xi) ϕ ( x j ) \mathbf{\phi }\left( \mathbf{x}_{\mathbf{j}} \right) ϕ(xj),然后再计算出 ϕ ( x i ) T ϕ ( x j ) \mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ^{\mathbf{T}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{j}} \right) ϕ(xi)Tϕ(xj)则会需要超量的计算

于是,我们提出不显式地设计核映射, 而是设计核函数
k ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \mathbf{k}\left( \mathbf{x}_{\mathbf{i}},\mathbf{x}_{\mathbf{j}} \right) =\mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ^{\mathbf{T}}\mathbf{\phi }\left( \mathbf{x}_{\mathbf{j}} \right) k(xi,xj)=ϕ(xi)Tϕ(xj)
而我们设计的标准可以参考Mercer定理(充分非必要): 只要一个对称函数所对应的核矩阵半正定, 则它就能作为核函数来使用

常用核函数:

在这里插入图片描述

核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数的本质是在它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就避免了直接在高维空间中的复杂计算

解释:为什么这么多的认知中核函数是一种映射呢。一来这两件事一般先后进行,所以常常被混为一谈。二来就像前面所述,核函数让人们不需要知道 ϕ ( x i ) \mathbf{\phi }\left( \mathbf{x}_{\mathbf{i}} \right) ϕ(xi)长什么样,不需要知道怎么选取映射,就能够算出内积。因此这常常被认作是一种 implicit mapping。这是 由Mercer Theorem保证的,即只要核函数满足一定条件,那么映射空间一定存在

参考链接: 机器学习-支持向量机 – 软间隔SVM和非线性SVM

  • 19
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归问题。其原理公式推导如下: 1. 线性可分支持向量机: 假设我们有一个训练数据集,其中包含一些正例和负例样本。我们的目标是找到一个超平面,将正例和负例样本分开。超平面可以表示为 wx + b = 0,其中 w 是法向量,b 是偏置项。 对于正例样本,我们希望满足 wx + b ≥ 1,对于负例样本,我们希望满足 wx + b ≤ -1。这两个约束条件可以合并为一个约束条件:yi(wx + b) ≥ 1,其中 yi 是样本的标签(1 表示正例,-1 表示负例)。 我们的目标是找到一个最大间隔的超平面,使得所有样本点到该超平面的距离都大于等于1。这可以转化为一个优化问题,即最小化 ||w||^2/2,同时满足约束条件 yi(wx + b) ≥ 1。 通过拉格朗日乘子法,我们可以得到拉格朗日函数 L(w, b, α) = ||w||^2/2 - Σαi[yi(wx + b) - 1],其中 α 是拉格朗日乘子。 最终,我们需要求解的是关于 w 和 b 的最小化问题,可以通过对拉格朗日函数求偏导数并令其等于零来得到最优解。 2. 非线性支持向量机: 在现实问题中,数据往往不是线性可分的。为了解决这个问题,我们可以使用核函数将数据映射到高维空间,使其在高维空间中线性可分。 核函数可以定义为 K(xi, xj) = φ(xi)·φ(xj),其中 φ 是将数据映射到高维空间的函数。 在非线性支持向量机中,我们的目标是找到一个最大间隔的超平面,使得所有样本点到该超平面的距离都大于等于1。这可以转化为一个优化问题,即最小化 ||w||^2/2,同时满足约束条件 yi(wx + b) ≥ 1。 通过拉格朗日乘子法,我们可以得到拉格朗日函数 L(w, b, α) = ||w||^2/2 - Σαi[yi(wx + b) - 1],其中 α 是拉格朗日乘子。 最终,我们需要求解的是关于 w 和 b 的最小化问题,可以通过对拉格朗日函数求偏导数并令其等于零来得到最优解。 以上是支持向量机原理公式推导

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super__Tiger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值