SVM理解

0 简介

用一个超平面把正负样本分开,最大化(离超平面最近的正负样本距离超平面的)间隔
注意几何间隔和函数间隔的区别 点到超平面的距离公式
仅供个人整理使用,所以写的很简略。。。

1 线性可分

{ m i n 1 2 w T w y i ( w T x i + b ) ≥ 1 \left\{ \begin{array}{lr} min\cfrac12w^Tw \\\\ y_i(w^Tx_i+b)\ge1\\ \end{array} \right. min21wTwyi(wTxi+b)1
构造L
{ L ( w , b , α ) = 1 2 w T w − ∑ i = 1 l α i [ y i ( w T x i + b ) − 1 ] α i ≥ 0 \left\{ \begin{array}{lr} L(w,b,\alpha)=\cfrac12w^Tw-\sum\limits_{i=1}^l\alpha_i[y_i(w^Tx_i+b)-1] \\\\ \alpha_i\ge0\\ \end{array} \right. L(w,b,α)=21wTwi=1lαi[yi(wTxi+b)1]αi0
L o l d ≥ L L_{old}\ge L LoldL 所 以 m i n L o l d ≥ m a x L 所以minL_{old}\ge maxL minLoldmaxL由于要求原目标的最小值
所以问题:对L先求最大值,再求最小值
由于线性可分,满足slater条件,可转化为对偶问题求解
min ⁡ w , b [ max ⁡ α L ( w , b , α ) ] ⇔ max ⁡ α [ min ⁡ w , b L ( w , b , α ) ] \min_{w,b}[\max_\alpha L(w,b,\alpha)]\Leftrightarrow\max_{\alpha}[\min_{w,b}L(w,b,\alpha)] w,bmin[αmaxL(w,b,α)]αmax[w,bminL(w,b,α)]转化为对偶问题之后:先求L最小值,再求最大值

1.1 w,b作参数 求极小值

求w b的偏导 令其为0
{ ∂ L ∂ b = − ∑ i = 1 l α i y i = 0 ∂ L ∂ w j = w j − ∑ i = 1 l α i y i x i j = 0 \left\{ \begin{array}{lr} \cfrac{\partial L}{\partial b}=-\sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ \cfrac{\partial L}{\partial w_j}=w_j-\sum\limits_{i=1}^l\alpha_iy_ix_{ij}=0\\ \end{array}\right. bL=i=1lαiyi=0wjL=wji=1lαiyixij=0
{ ∑ i = 1 l α i y i = 0 w = ∑ i = 1 l α i y i x i \left\{ \begin{array}{lr} \sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ w=\sum\limits_{i=1}^l\alpha_iy_ix_i\\ \end{array}\right. i=1lαiyi=0w=i=1lαiyixi

1.2 α作参数 求极大值

先把上述w和b的表达式代入L 消除w和b 得到(需要展开后式 不想写过程了 直接给出结果):
L = − 1 2 ( ∑ i = 1 l α i y i x i T ) ( ∑ j = 1 l α j y j x j ) + ∑ i = 1 l α i L=-\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)+\sum_{i=1}^l\alpha_i L=21(i=1lαiyixiT)(j=1lαjyjxj)+i=1lαi
max ⁡ α ( L ) = { min ⁡ α 1 2 ( ∑ i = 1 l α i y i x i T ) ( ∑ j = 1 l α j y j x j ) − ∑ i = 1 l α i α i ≥ 0 ∑ i = 1 l α i y i = 0 \max_\alpha(L)=\left\{ \begin{array}{lr} \min\limits_\alpha\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)-\sum\limits_{i=1}^l\alpha_i\\\\ \alpha_i\ge0\\\\ \sum\limits_{i=1}^l\alpha_iy_i=0 \end{array}\right. αmax(L)=αmin21(i=1lαiyixiT)(j=1lαjyjxj)i=1lαiαi0i=1lαiyi=0只剩下α参数 求出α即可求出 w w w

2 线性不可分

加入松弛变量 ξ \xi ξ 和惩罚因子 C C C 最优化问题为:
{ m i n 1 2 w T w + C ∑ i = 1 l ξ i y i ( w T x i + b ) ≥ 1 − ξ i ξ i ≥ 0 , i = 1 , 2 , . . . , l \left\{ \begin{array}{lr} min\cfrac12w^Tw+C\sum\limits_{i=1}^l \xi_i \\\\ y_i(w^Tx_i+b)\ge1-\xi_i\\\\ \xi_i\ge0,\quad i=1,2,...,l \end{array} \right. min21wTw+Ci=1lξiyi(wTxi+b)1ξiξi0,i=1,2,...,l
ξ i = 0 \xi_i=0 ξi=0,样本 i i i 遵守约束;
ξ i > 0 \xi_i>0 ξi>0,样本 i i i 违反约束。
w = 0 , b = 0 , ξ i = 2 w=0,b=0,\xi_i=2 w=0,b=0,ξi=2 约束 0 > − 1 0>-1 0>1恒成立 满足slater条件
所以可以转化为对偶问题 构造L:
{ L ( w , b , α , ξ , β ) = 1 2 w T w + C ∑ i = 1 l ξ i − ∑ i = 1 l α i [ y i ( w T x i + b ) − 1 + ξ i ] − ∑ i = 1 l β i ξ i α i ≥ 0 ξ i ≥ 0 β i ≥ 0 \left\{ \begin{array}{lr} L(w,b,\alpha,\xi,\beta)=\cfrac12w^Tw+C\sum\limits_{i=1}^l \xi_i-\sum\limits_{i=1}^l\alpha_i[y_i(w^Tx_i+b)-1+\xi_i]-\sum\limits_{i=1}^l\beta_i\xi_i \\\\ \alpha_i\ge0\\\\ \xi_i\ge0\\\\ \beta_i\ge0 \end{array} \right. L(w,b,α,ξ,β)=21wTw+Ci=1lξii=1lαi[yi(wTxi+b)1+ξi]i=1lβiξiαi0ξi0βi0
同理,分为以下两步

2.1 w , b , ξ w,b,\xi w,b,ξ 作参数 求极小值

w , b , ξ w,b,\xi w,b,ξ 的偏导 令其为0
{ ∂ L ∂ b = − ∑ i = 1 l α i y i = 0 ∂ L ∂ w j = w j − ∑ i = 1 l α i y i x i j = 0 ∂ L ∂ ξ i = C − α i − β i = 0 \left\{ \begin{array}{lr} \cfrac{\partial L}{\partial b}=-\sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ \cfrac{\partial L}{\partial w_j}=w_j-\sum\limits_{i=1}^l\alpha_iy_ix_{ij}=0\\\\ \cfrac{\partial L}{\partial \xi_i}=C-\alpha_i-\beta_i=0 \end{array}\right. bL=i=1lαiyi=0wjL=wji=1lαiyixij=0ξiL=Cαiβi=0
{ ∑ i = 1 l α i y i = 0 w = ∑ i = 1 l α i y i x i α i + β i = C \left\{ \begin{array}{lr} \sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ w=\sum\limits_{i=1}^l\alpha_iy_ix_i\\\\ \alpha_i+\beta_i=C \end{array}\right. i=1lαiyi=0w=i=1lαiyixiαi+βi=C

2.2 α , β \alpha,\beta α,β作参 求极大值

将上述表达式代入L,消除 w , b , ξ w,b,\xi w,b,ξ 得:
L = − 1 2 ( ∑ i = 1 l α i y i x i T ) ( ∑ j = 1 l α j y j x j ) + ∑ i = 1 l α i L=-\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)+\sum_{i=1}^l\alpha_i L=21(i=1lαiyixiT)(j=1lαjyjxj)+i=1lαi求L的最大值 等价于下列:
max ⁡ α , β ( L ) = { min ⁡ α 1 2 ( ∑ i = 1 l α i y i x i T ) ( ∑ j = 1 l α j y j x j ) − ∑ i = 1 l α i 0 ≤ α i ≤ C ( 因 为 α i + β i = C , β i ≥ 0 ) ∑ i = 1 l α i y i = 0 \max_{\alpha,\beta}(L)=\left\{ \begin{array}{lr} \min\limits_\alpha\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)-\sum\limits_{i=1}^l\alpha_i\\\\ 0\le\alpha_i\le C\quad(因为\alpha_i+\beta_i=C,\beta_i\ge0)\\\\ \sum\limits_{i=1}^l\alpha_iy_i=0 \end{array}\right. α,βmax(L)=αmin21(i=1lαiyixiT)(j=1lαjyjxj)i=1lαi0αiC(αi+βi=Cβi0)i=1lαiyi=0
观察可以发现,与线性可分情况相比,其他相同,就是多了 α i ≤ C \alpha_i\le C αiC的约束

2.3 简化表述

定义矩阵 Q Q Q
Q i j = y i y j x i T x j Q_{ij}=y_iy_jx_i^Tx_j Qij=yiyjxiTxj
定义矩阵 X = [ y 1 x 1 , y 2 x 2 , . . . , y l x l ] X=[y_1x_1,y_2x_2,...,y_lx_l] X=[y1x1,y2x2,...,ylxl],则 Q = X T X Q=X^TX Q=XTX
x : n × l ; X : n × l ; Q : l × l ; e : l × 1 ; α : l × 1 x:n×l;X:n×l;Q:l×l;e:l×1;\alpha:l×1 x:n×lX:n×lQ:l×le:l×1αl×1
原对偶问题可以表示为:
{ min ⁡ α 1 2 α T Q α − e T α 0 ≤ α i ≤ C y T α = 0 \left\{ \begin{array}{lr} \min\limits_\alpha\cfrac12\alpha^TQ\alpha-e^T\alpha\\\\ 0\le\alpha_i\le C\\\\ y^T\alpha=0 \end{array}\right. αmin21αTQαeTα0αiCyTα=0

2.4 KKT条件

最优点处必须满足KKT条件,也就是不等式必须为0
{ α i [ y i ( w T x i + b ) − 1 + ξ i ] = 0 , i = 1 , 2 , . . . , l β i ξ i = 0 , i = 1 , 2 , . . . , l \left\{ \begin{array}{lr} \alpha_i[y_i(w^Tx_i+b)-1+\xi_i]=0,\quad i=1,2,...,l \\\\ \beta_i\xi_i=0,\quad i=1,2,...,l \\ \end{array} \right. αi[yi(wTxi+b)1+ξi]=0,i=1,2,...,lβiξi=0,i=1,2,...,l 而之前的约束是:
{ α i ≥ 0 ξ i ≥ 0 α i + β i = C y i ( w T x i + b ) ≥ 1 − ξ i \left\{ \begin{array}{lr} \alpha_i\ge0 \\\\ \xi_i\ge0\\\\ \alpha_i+\beta_i=C \\\\ y_i(w^Tx_i+b)\ge1-\xi_i\\ \end{array} \right. αi0ξi0αi+βi=Cyi(wTxi+b)1ξi
根据 α \alpha α 的取值,分为以下情况:

  • α i = 0 ⇒ β i = C ⇒ ξ i = 0 ⇒ y i ( w T x i + b ) ≥ 1 \alpha_i=0\Rightarrow\beta_i=C\Rightarrow\xi_i=0\Rightarrow y_i(w^Tx_i+b)\ge1 αi=0βi=Cξi=0yi(wTxi+b)1
  • α i > 0 ⇒ y i ( w T x i + b ) = 1 − ξ i \alpha_i>0\Rightarrow y_i(w^Tx_i+b)=1-\xi_i αi>0yi(wTxi+b)=1ξi
    • ②-① α i < C ⇒ β i > 0 ⇒ ξ i = 0 ⇒ y i ( w T x i + b ) = 1 \alpha_i<C\Rightarrow\beta_i>0\Rightarrow\xi_i=0\Rightarrow y_i(w^Tx_i+b)=1 αi<Cβi>0ξi=0yi(wTxi+b)=1
    • ②-② α i = C ⇒ β i = 0 ⇒ ξ i ≥ 0 即 可 ⇒ y i ( w T x i + b ) ≤ 1 \alpha_i=C\Rightarrow\beta_i=0\Rightarrow\xi_i\ge0即可\Rightarrow y_i(w^Tx_i+b)\le1 αi=Cβi=0ξi0yi(wTxi+b)1

综上,可分为以下三种情况:
{ α i = 0 ⇒ y i ( w T x i + b ) ≥ 1 0 ≤ α i ≤ C ⇒ y i ( w T x i + b ) = 1 α i = C ⇒ y i ( w T x i + b ) ≤ 1 \left\{ \begin{array}{lr} \alpha_i=0\Rightarrow y_i(w^Tx_i+b)\ge1\\\\ 0\le \alpha_i\le C\Rightarrow y_i(w^Tx_i+b)=1\\\\ \alpha_i=C \Rightarrow y_i(w^Tx_i+b)\le1\\ \end{array} \right. αi=0yi(wTxi+b)10αiCyi(wTxi+b)=1αi=Cyi(wTxi+b)1

3 核函数

之前是 x i T x j x_i^Tx_j xiTxj 核函数将其映射为 K ( x i , x j ) K(x_i,x_j) K(xi,xj)

  • 线性核 K ( x i , x j ) = x i T x j K(x_i,x_j)=x_i^Tx_j K(xi,xj)=xiTxj
  • 多项式核 K ( x i , x j ) = ( γ x i T x j + b ) d K(x_i,x_j)=(\gamma x_i^Tx_j+b)^d K(xi,xj)=(γxiTxj+b)d
  • 高斯核 K ( x i , x j ) = e − γ ∣ ∣ x i − x j ∣ ∣ 2 K(x_i,x_j)=e^{-\gamma||x_i-x_j||^2} K(xi,xj)=eγxixj2
  • sigmoid核 K ( x i , x j ) = t a n h ( γ x i T x j + b ) K(x_i,x_j)=tanh(\gamma x_i^Tx_j+b) K(xi,xj)=tanh(γxiTxj+b)

4 SMO算法

求解出 α \alpha α,即可求出 w w w
个人认为SMO算法可以分为以下几个步骤:

  • ①选取两个分量 α i , α j \alpha_i,\alpha_j αi,αj,写出损失函数 f f f
  • ②根据约束条件得到 α j \alpha_j αj三种情况下最小值的取值
  • ③消掉 α i \alpha_i αi,求出第2种情况(无约束)下的 α j 无 约 束 \alpha_j^{无约束} αj
  • ④根据 α j \alpha_j αj的值求出 α i \alpha_i αi的值

过程有点长,就先不写了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值