机器学习——SVM原理解析

简介

支持向量机(support vector machines,SVM)是一种二分类模型,学习策略是间隔最大化,是求解凸二次规划的最优化算法。
模型由繁到简分为:线性可分支持向量机、线性支持向量机和非线性支持向量机。
机器学习——SVM原理解析
<<>>6.2<<机器学习>> 6.2图

线性可分支持向量机

  • 假设给定一个特征空间上的训练数据集
    T={(x1,y1),(x2,y2),...,(xN,yN)}T = \{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
    其中,xiRnx_i \in R^n,yi{1,1}y_i \in \{1,-1\},当$y_i =1时,称 xix_i 为正例,yi=1y_i =-1时xix_i为负例。
  • 1、 学习的目的是在特征空间中找到一个合适的分离超平面,将不同实例分到不同类,分离超平面方程为:
    wx+b=0(1)w \cdot x +b =0\qquad(1)
  • 正类和反类的分类方程:
    {wx+b>=+1yi=1wx+b<=1yi=1(2)\left\{ \begin{aligned} w \cdot x +b >=+1 & & {\quad y_i =1 } \\ w \cdot x +b <=-1 & & {\quad y_i =-1 } \\ \end{aligned} \qquad(2)\right.

  • 最大间隔,样本xix_i到超平面(w,b)(w,b)距离为:
    γ=yi(wxi+b)w(3)\gamma = y_i\frac{(w\cdot x_i+b)}{||w||}\qquad (3)

  • 当(2)中的等号成立时候,γ\gamma为: γ=1w(4)\gamma =\frac{1}{||w||}\qquad(4)
    约束优化
    maxw,bγ(5) \max \limits_{w,b}\quad \gamma \qquad(5)
    s.tyi(wxiw+bw)>=γ,i=1,2,..N(6)s.t \quad y_i(\frac{w\cdot x_i}{||w||}+\frac{b}{||w||})>=\gamma,i=1,2,..N \qquad (6)

  • 化简得:
    maxw,b1w(7) \max \limits_{w,b}\quad \frac{1}{||w||} \qquad(7)
    s.tyi(wxi+b)>=1,i=1,2,..N(8)s.t \quad y_i(w\cdot x_i+b)>=1,\qquad i=1,2,..N \qquad (8)

  • 由上面可得,最大化1w\frac{1}{||w||}等于最小化12w2\frac{1}{2}||w||^2,于是,(7)变为:
    minw,b12w2(9) \min \limits_{w,b}\quad\frac{1}{2}||w||^2 \qquad(9)
    s.tyi(wxi+b)>=1,i=1,2,..N(10)s.t \quad y_i(w\cdot x_i+b)>=1,\qquad i=1,2,..N \qquad (10)

  • 2、拉格朗日乘子法对偶问题

  • 公式(10)使用拉格朗日乘子法和对偶问题求最优解,添加拉格朗日乘子 αi0\alpha_i \ge0,则函数为:
    L(w,b,α)=12w2+i=1mαi(1yi(wxi+b))(11)L(w,b,\alpha) = \frac{1}{2}||w||^2 + \sum^{m}_{i=1}\alpha_i(1-y_i(w\cdot x_i + b)) \qquad(11)
    -根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
    maxαminw,bL(w,b,α)(12)\max \limits_{\alpha} \min \limits_{w,b} L(w,b,\alpha)\qquad(12)
    Lw=0Lb=0\frac{\partial L}{\partial w }=0和\frac{\partial L}{\partial b }=0
    Lw=wi=1mαiyixiw=i=1mαiyixi(13)\frac{\partial L}{\partial w }=w-\sum^{m}_{i=1}\alpha_iy_ix_i ,即 w = \sum_{i=1}^{m}\alpha_iy_ix_i \qquad(13)
    Lb=i=1mαiyi=0(14)\frac{\partial L}{\partial b }=\sum^{m}_{i=1}\alpha_iy_i=0 \qquad(14)
    -将(13)带入(11)可得:
    minw,bL(w,b,α)=12i=1mj=1mαiαjyiyj(xixj)+i=1mαi(15)\min \limits_{w,b }L(w,b,\alpha) =\frac{-1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_j y_i y_j(x_i\cdot x_j) + \sum_{i=1}^{m}\alpha_i \qquad(15)

  • minw,bL(w,b,α)\min \limits_{w,b }L(w,b,\alpha)α\alpha的极大,即是对偶问题:
    maxα12i=1mj=1mαiαjyiyj(xixj)+i=1mαi\max \limits_{\alpha} \quad \frac{-1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_j y_i y_j(x_i\cdot x_j) + \sum_{i=1}^{m}\alpha_i
    s.t.i=1mαiyi=0s.t. \qquad \sum^{m}_{i=1}\alpha_iy_i=0
    αi0,i=1,2,3,...N\alpha_i \ge 0, \qquad i=1,2,3,...N

  • 上面极大转为极小
    minα12i=1mj=1mαiαjyiyj(xixj)i=1mαi(16)\min \limits_{\alpha} \quad \frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_j y_i y_j(x_i\cdot x_j) - \sum_{i=1}^{m}\alpha_i \qquad(16)
    s.t.i=1mαiyi=0s.t. \qquad \sum^{m}_{i=1}\alpha_iy_i=0
    αi0,i=1,2,3,...N\alpha_i \ge 0, \qquad i=1,2,3,...N

  • 求解出α\alpha后,
    w=i=1mαiyixi(17)w = \sum_{i=1}^{m}\alpha_iy_ix_i \qquad(17)

KTT 条件
{αi0yi(wxi)10αi(yi(wxi)1)=0(18)\left\{ \begin{aligned} \alpha_i \ge0& & \\ y_i(w\cdot x_i) -1 \ge 0 & & \\ \alpha_i(y_i(w\cdot x_i) -1) = 0 & & \\ \end{aligned} \qquad(18)\right.

相关文章: