1. 支持向量机

1.1. 间隔与支持向量

给定训练样本集D={(x1,y1),(x2,y2),,(xm,ym)},yi{1,+1}D=\{(x_1,y_1),(x_2,y_2),\ldots,(x_m,y_m)\},y_i \in \{-1,+1\}
分类学习最基本的想法:基于训练集DD在样本空间中找到一个划分超平面(不是超曲面,数据是线性可分的),将不同类别的样本分开

超平面应该位于两类训练样本"正中间",对于局部扰动容忍最好,泛化能力最强
【深度之眼《机器学习》西瓜书训练营第十三期】支持向量机

在样本空间中,划分超平面可通过线性方程
wTx+b=0w ^Tx+b=0来描述,

  • w=(w1;w2;;wd)w=(w_1;w_2;\ldots;w_d)为法向量,决定了超平面的方向
  • bb为位移项,决定了超平面与原点之间的距离;
  • wwbb唯一决定超平面
  • 样本空间中认一点xx到超平面(w,b)(w,b)的距离为:r=wTx+bwr=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|}

假设超平面(w,b)(w,b)能将样本正确分类,即对于(xi,yi)D(x_i,y_i)\in D,

  • yi=+1y_i=+1,则有wTxi+b>0w^T x_i + b >0
  • yi=1y_i=-1,则有wTxi+b<0w^T x_i + b <0
    {wTxi+b+1,yi=+1wTxi+b1,yi=1\left\{\begin{array}{ll} \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b \geqslant+1, & y_{i}=+1 \\ \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b \leqslant-1, & y_{i}=-1 \end{array}\right.

间隔:两个异类支持向量到超平面的距离
γ=2w\gamma=\frac{2}{\|\boldsymbol{w}\|}
【深度之眼《机器学习》西瓜书训练营第十三期】支持向量机

找到具有最大间隔的划分超平面,即找能满足联立方程式中约束的参数wwbb,使得γ\gamma最大,即
maxw,b2w; s.t. yi(wTxi+b)1,i=1,2,,m\max _{\boldsymbol{w}, b} \frac{2}{\|\boldsymbol{w}\|};\text { s.t. } y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1, i=1,2, \ldots, m

为了最大化间隔,仅需最大化w1\|\boldsymbol{w}\|^{-1},等价于最小化w2\|\boldsymbol{w}\|^2
minw,bw22; s.t. yi(wTxi+b)1,i=1,2,,m\min _{\boldsymbol{w}, b} \frac{\|\boldsymbol{w}\|^2}{2};\text { s.t. } y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1, i=1,2, \ldots, m

间隔貌似仅与ww有关,但事实上bb通过约束隐式地影响着ww的取值,进而对间隔产生影响.

\uparrow \uparrow支持向量机(SVM)的基本型

1.2. 对偶问题

求解上式来得到大间隔划分超平面所对应的模型
f(x)=wTx+bf(x)=w^Tx+b
其中wwbb的模型参数,

  • 本身为一个凸二次规划问题,能直接用现成的优化计算包求解
  • 使用拉格朗日乘子法可得到其对偶问题
    对于上式的每条约束添加拉格朗日乘子αi0\alpha_{i} \geqslant 0,则该问题的拉格朗日函数可写为
    L(w,b,α)=12w2+i=1mαi(1yi(wTxi+b))L(\boldsymbol{w}, b, \boldsymbol{\alpha})=\frac{1}{2}\|\boldsymbol{w}\|^{2}+\sum_{i=1}^{m} \alpha_{i}\left(1-y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right)\right)
    其中α=(α1;α2;;αm)\alpha=(\alpha_1;\alpha_2;\ldots;\alpha_m).令L(w,b,α)L(\boldsymbol{w}, b, \boldsymbol{\alpha})wwbb的偏导为0
    w=i=1mαiyixi0=i=1mαiyi\begin{aligned} \boldsymbol{w} &=\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{x}_{i} \\ 0 &=\sum_{i=1}^{m} \alpha_{i} y_{i} \end{aligned}
    带入L(w,b,α)L(\boldsymbol{w}, b, \boldsymbol{\alpha})中的wwbb消去,得到对偶问题为
    maxαi=1mαi12i=1mj=1mαiαjyiyjxiTxj; s.t. i=1mαiyi=0,αi0,i=1,2,,m\max _{\alpha} \sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}_{j};\text { s.t. } \sum_{i=1}^{m} \alpha_{i} y_{i}=0, \alpha_{i} \geqslant 0, i=1,2, \ldots, m
    解出α\alpha后,求出wwbb即可得到模型
    f(x)=wTx+b=i=1mαiyixiTx+b\begin{aligned} f(\boldsymbol{x}) &=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b \\ &=\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}+b \end{aligned}

上述过程需满足KKT条件,
{αi0yif(xi)10αi(yif(xi)1)=0\left\{\begin{array}{l} \alpha_{i} \geqslant 0 \\ y_{i} f\left(\boldsymbol{x}_{i}\right)-1 \geqslant 0 \\ \alpha_{i}\left(y_{i} f\left(\boldsymbol{x}_{i}\right)-1\right)=0 \end{array}\right.

SMO算法

  • 基本思路:先固定αi\alpha_i之外的所有参数,然后求αi\alpha_i上的极值。由于存在约束i=1mαiyi=0\sum_{i=1}^{m}\alpha_i y_i=0,若固定αi\alpha_i之外的其他变量,则αi\alpha_i可由其他变量导出
    SMO每次选择两个变量αi\alpha_iαj\alpha_j,并固定其他参数,这样,在参数初始化后,SMO不断执行如下两个步骤直至收敛
    • 选取一对需更新的变量αi\alpha_iαj\alpha_j
    • 固定αi\alpha_iαj\alpha_j意外的参数,求解对偶问题获得更新后的αi\alpha_iαj\alpha_j

1.3. 核函数

1.4. 软间隔与正则化

1.5. 支持向量回归

得更新后的αi\alpha_iαj\alpha_j

1.3. 核函数

1.4. 软间隔与正则化

1.5. 支持向量回归

1.6. 核方法

相关文章:

  • 2021-11-18
  • 2021-08-04
  • 2022-01-21
  • 2021-08-12
  • 2021-07-24
  • 2021-10-13
  • 2021-05-02
  • 2021-10-21
猜你喜欢
  • 2021-09-15
  • 2022-12-23
  • 2021-05-06
  • 2021-07-08
  • 2021-08-05
  • 2021-12-23
  • 2021-08-01
相关资源
相似解决方案