支持向量机(三):软间隔与正则化

软间隔原问题

在(一)中,我们要求求出一个超平面,使得其能完全将样本空间划分,但现实中很难找到这样的超平面,因此需要允许支持向量机在一些样本上出错,即软间隔。
对于硬间隔,我们要求对任意样本点\((x_{i},y_{i})\),均有:

\[y_{i}(\omega^Tx_{i}+b)\ge1 \]

而对于软间隔,我们允许有一些样本不满足上述约束,当然,不满足上述约束的样本点个数越少越好,因此,原问题可变为:

\[\underset{\omega,b}{min}\frac{1}{2}||\omega||^2+C\sum_{i=1}^{m}max[0,1-y_{i}(\omega^Tx_{i}+b)] \]

其中\(C>0\),是一个常数,当\(C\)为无穷大时,上式会令所有样本均满足硬间隔的约束,从而等价于(一)中的原问题,而\(C\)为一个有限值时,会允许一些样本不满足约束。
\(\xi_{i}=max[0,1-y_{i}(\omega^Tx_{i}+b)]\),则上式变为:

\[\underset{\omega,b}{min}\frac{1}{2}||\omega||^2+C\sum_{i=1}^{m}\xi_{i} \]

显然\(\xi_{i}\ge0\),且当\(1-y_{i}(\omega^Tx_{i}+b)>0\)时,\(\xi_{i}=1-y_{i}(\omega^Tx_{i}+b)\),当\(1-y_{i}(\omega^Tx_{i}+b)\le0\)时,\(\xi_{i}=0\),综上有\(1-y_{i}(\omega^Tx_{i}+b)\le\xi_{i}\),即

\[y_{i}(\omega^Tx_{i}+b)\ge1-\xi_{i} \]

故对于软间隔,其原问题为:

\[\underset{\omega,b}{min}\frac{1}{2}||\omega||^2+C\sum_{i=1}^{m}\xi_{i} \]

\[st.\quad y_{i}(\omega^Tx_{i}+b)\ge1-\xi_{i} \]

\[\xi_{i}\ge0 \]


原问题的转换

类似于(一)中对原问题的转换,在这里,我们也对原问题进行转换,可得原问题等价于:

\[\underset{\omega,b,\xi}{min}\underset{\lambda,\mu}{max}L(\omega,b,\xi,\lambda,\mu) \]

其中\(L\)的表达式如下:

\[L(\omega,b,\xi,\lambda,\mu)=\frac{1}{2}||\omega||^2+C\sum_{i=1}^{m}\xi_{i}+\sum_{i=1}^{m}\lambda_{i}[1- \]

\[\xi_{i}-y_{i}(\omega^Tx_{i}+b)]-\sum_{i=1}^{m}\mu_{i}\xi_{i} \]

其中\(\lambda_{i}\ge0,\mu_{i}\ge0\)
则原问题的对偶问题为:

\[\underset{\lambda,\mu}{max}\underset{\omega,b,\xi}{min}L(\omega,b,\xi,\lambda,\mu) \]

\(L\)\(\omega,\xi_{i},b\)求偏导并令其为\(0\),可得:

\[\omega=\sum_{i=1}^{m}\lambda_{i}y_{i}x_{i} \]

\[\sum_{i=1}^{m}\lambda_{i}y_{i}=0 \]

\[C=\lambda_{i}+\mu_{i} \]

将上面几个式子代入到对偶问题中,可得对偶问题等价于:

\[\underset{\lambda}{max}\sum_{i=1}^{m}\lambda_{i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^Tx_{j} \]

\[st.\quad \sum_{i=1}^{m}\lambda_{i}y_{i}=0 \]

\[0\le\lambda_{i}\le C \]


KKT条件

在(二)中,我们知道,\(KKT\)条件为强对偶的必要条件,因此,当原问题和对偶问题的关系为强对偶时,对偶问题的最优解必满足\(KKT\)条件。
当一个解\(\omega^{*},b^{*},\xi^{*}\)是最优解时,其必满足以下条件:
首先是原问题本身具备的约束

\[\lambda_{i}\ge0 \]

\[\mu_{i}\ge0 \]

\[\xi_{i}\ge0 \]

\[y_{i}(\omega^Tx_{i}+b)\ge1-\xi_{i} \]

其次,当该解为最优解时,其应满足\(L\)\(\omega,b,\xi,\lambda,\mu\)的偏导为\(0\),由于\(L\)\(\omega,b,\xi\)的偏导等于\(0\)的等式已经作为条件代入到对偶问题中了,因此求出来的解天然就满足这些条件,故还需要让\(L\)\(\lambda,\mu\)的偏导为0的等式成立,即:

\[1-\xi_{i}-y_{i}(\omega^Tx_{i}+b)=0 \]

\[\xi_{i}=0 \]

\(1-\xi_{i}-y_{i}(\omega^Tx_{i}+b)\ne0\),则\(\lambda_{i}=0\)。同理,若\(\xi_{i}\ne0\),则\(\mu_{i}=0\)
\(KKT\)条件为:

\[\lambda_{i}\ge0 \]

\[\mu_{i}\ge0 \]

\[\xi_{i}\ge0 \]

\[y_{i}(\omega^Tx_{i}+b)\ge1-\xi_{i} \]

\[\lambda_{i}[1-\xi_{i}-y_{i}(\omega^Tx_{i}+b)]=0 \]

\[\mu_{i}\xi_{i}=0 \]


支持向量机求解的步骤

在这里再梳理一下支持向量机的求解步骤(假设问题已经满足强对偶关系),以软间隔为例:

  1. 先将原问题转换为对偶问题
  2. 由于最优解必满足\(L\)\(\omega,b,\xi\)的偏导等于\(0\)这些条件,故将这些条件代入到对偶问题中去,可以得到一个只含有参数\(\lambda\)的式子
  3. 将第二步中得到的式子使用\(SMO\)算法求解出\(\lambda\),而后再利用之前\(L\)\(\omega,b,\xi\)的偏导等于\(0\)的式子和求出\(\omega,b,\xi,\mu\)
  4. 将求解出来的结果代入到\(KKT\)条件中,若其满足\(KKT\)条件,则其为最优解,否则其不是最优解,还需要返回第三步,继续求出一个新的满足约束条件的解,而后再次看其是否满足\(KKT\)条件。
posted @ 2022-08-18 12:39  kris-phl  阅读(110)  评论(0)    收藏  举报