MLb-006 47《机器学习》周志华 第六章:支持向量机

第六章 支持向量机

此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…

6.1 间隔与支持向量

  • 超平面(w,b)
    存在多个划分超平面将两类样本分开的情况MLb-006 47《机器学习》周志华 第六章:支持向量机_第1张图片
    线性方程: w T x + b = 0 w^Tx+b=0 wTx+b=0

    • w w w:法向量,决定超平面方向
    • b b b:位移项,决定超平面与原点之间的距离

    样本空间中任意点到超平面的距离: r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=wwTx+b

  • 支持向量(super vector)
    条件一:距离超平面最近的几个训练样本点
    条件二:使得下方任一式子的等号成立
    { w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 \begin{cases} w^Tx_i+b≥+1,y_i=+1\\ w^Tx_i+b≤-1,y_i=-1 \end{cases} {wTxi+b+1,yi=+1wTxi+b1,yi=1
    MLb-006 47《机器学习》周志华 第六章:支持向量机_第2张图片

  • 间隔(margin)
    两个一类支持向量到超平面的距离直和: r = 2 ∣ ∣ w ∣ ∣ r=\frac 2{||w||} r=w2

  • 最大间隔(maximum margin)
    对应的划分超平面
    m a x w , b   2 ∣ ∣ w ∣ ∣ max_{w,b}\ \frac 2{||w||} maxw,b w2
    s . t .   y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . m s.t. \ y_i(w^Tx_i+b)≥1,i=1,2,...m s.t. yi(wTxi+b)1,i=1,2,...m
    支持向量机的基本型
    m i n w , b   1 2 ∣ ∣ w ∣ ∣ 2 min_{w,b}\ \frac 1 2||w||^2 minw,b 21w2
    s . t .   y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . m s.t. \ y_i(w^Tx_i+b)≥1,i=1,2,...m s.t. yi(wTxi+b)1,i=1,2,...m

上式就是凸二次规划问题

6.2 对偶问题

6.2.1 凸二次规划问题(convex quadratic programming)

6.2.2 对偶问题(dual problem)

  • 更高效求解参数w和b的方法:拉格朗日乘子法
    对SVM基本型式子的每条约束添加大于等于零的拉格朗日乘子,得到该问题的拉格朗日函数:
    L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L(\bm w,b,\bm{\alpha})=\frac 1 2||\bm w||^2+\sum_{i=1}^m\alpha_i(1-y_i(\bm w^T\bm x_i+b)) L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))
    令L(w,b,α)对w和b的偏导为零
    w = ∑ i = 1 m α 1 y i x i ,   0 = ∑ i = 1 m α i y i \bm w=\sum_{i=1}^m\alpha_1y_i\bm x_i,\ 0=\sum_{i=1}^m\alpha_iy_i w=i=1mα1yixi, 0=i=1mαiyi
    将L(w,b,α)中的w和b消去,得到SVM基本型式子的对偶问题
    m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j max_\bm \alpha\sum_{i=1}^m\alpha_i-\frac 1 2\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\bm x_i^T\bm x_j maxαi=1mαi21i=1mj=1mαiαjyiyjxiTxj
    s . t .   ∑ i = 1 m α i y i = 0 ,   α i ≥ 0 , i = 1 , 2 , . . . m s.t.\ \sum_{i=1}^m\alpha_iy_i=0,\ \alpha_i≥0,i=1,2,...m s.t. i=1mαiyi=0, αi0,i=1,2,...m
  • KKT(Karush-Kuhn-Tucker)条件
    { α i ≥ 0 ; y i f ( x i ) − 1 ≥ 0 ; α i ( y i f ( x i ) − 1 ) = 0 b \begin{cases} \alpha_i≥0;\\ y_if(\bm x_i)-1≥0;\\ \alpha_i(y_if(\bm x_i)-1)=0b \end{cases} αi0;yif(xi)10;αi(yif(xi)1)=0b
  • 求解对偶问题中的α
    思路:当做二次规划问题求解
    算法
    • 二次规划算法
      缺点:问题的规模正比于训练样本数,开销大
    • SMO(Sequential Minimal Optimization)算法
      选取一对需更新的变量
      固定这对变量以外的参数,求解对偶问题式中获得更新后的参数
      不断执行,直到收敛
  • 确定偏移项b
    思路:使用所有支持向量求解的平均值

6.2.3 支持向量机的重要性质

训练完成后大部分的训练样本都不需保留,最终模型仅与支持向量有关

6.3 核函数

  • 起初
    对非线性可分问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分
    如:异或问题与非线性映射
    MLb-006 47《机器学习》周志华 第六章:支持向量机_第3张图片

  • 对偶问题
    目标函数: m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) 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 \phi(\bm x_i)^T\phi(\bm x_j) maxαi=1mαi21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)
    限制条件: ∑ i = 1 m α i y i = 0 , α i ≥ 0 , i = 1 , 2 , . . . , m \sum_{i=1}^m \alpha_i y_i=0, \alpha_i≥0, i=1,2,...,m i=1mαiyi=0,αi0i=1,2,...,m
    困难性:由于特征空间维数可能很高,甚至无穷维,直接计算特征向量内积通常是困难的
    进行函数变换: m a x α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) 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 \mathcal{K}(\bm x_i,\bm x_j) maxαi=1mαi21i=1mj=1mαiαjyiyjK(xi,xj)

  • 支持向量展式(support vector expansion)
    模型最优解可通过训练样本的核函数展开
    f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m α i y i ϕ ( x i ) T ϕ ( x ) + b = ∑ i = 1 m α i y i K ( x , x i ) + b \begin{aligned} f(\bm x)&=\bm w^T\phi (\bm x)+b \\ &=\sum_{i=1}^m \alpha_i y_i \phi (\bm x_i)^T\phi(\bm x)+b\\&=\sum_{i=1}^m\alpha_i y_i \mathcal{K}(\bm x,\bm x_i)+b \end{aligned} f(x)=wTϕ(x)+b=i=1mαiyiϕ(xi)Tϕ(x)+b=i=1mαiyiK(x,xi)+b

  • 核函数定理
    核矩阵(kernel matrix)K总是半正定的
    只要一个对称函数所对应的核矩阵半正定,就能用作核函数
    对于一个半正定矩阵,总能找到一个与之对应的映射
    任何一个核函数都隐式地定义了一个称谓“再生核希尔伯特空间”(RKHS)的特征空间

  • 常用的核函数
    线性核: K ( x i , x j ) = x i T x j \mathcal{K}(\bm x_i,\bm x_j)=\bm x_i^T\bm x_j K(xi,xj)=xiTxj
    多项式核(d=1退化为线性核): K ( x i , x j ) = ( x i T x j ) d \mathcal{K}(\bm x_i,\bm x_j)=(\bm x_i^T\bm x_j)^d K(xi,xj)=(xiTxj)d
    高斯核(RBF核): K ( x i , x j ) = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 2 σ 2 ) \mathcal{K}(\bm x_i,\bm x_j)=exp(-\frac{||\bm x_i-\bm x_j||^2}{2\sigma^2}) K(xi,xj)=exp(2σ2xixj2)
    拉普拉斯核: K ( x i , x j ) = e x p ( − ∣ ∣ x i − x j ∣ ∣ σ ) \mathcal{K}(\bm x_i,\bm x_j)=exp(-\frac{||\bm x_i-\bm x_j||}{\sigma}) K(xi,xj)=exp(σxixj)
    Sigmoid核: K ( x i , x j ) = t a n h ( β x i T x j + θ ) \mathcal{K}(\bm x_i,\bm x_j)=tanh(\beta \bm x_i^T \bm x_j +\theta) K(xi,xj)=tanh(βxiTxj+θ)

  • 注意点
    特征空间的好坏对支持向量机的性能至关重要
    “核函数选择”成为支持向量机的最大变数

6.4 软间隔与正则化

  • 硬间隔(hard margin):要求所有样本均满足约束,即所有样本都必须划分正确
  • 软间隔(soft margin)
  • MLb-006 47《机器学习》周志华 第六章:支持向量机_第4张图片
    • 解决现实任务:很难确定合适的核函数使得训练样本在特征空间中线性可分
    • 缓解的方法:允许支持向量机在一些样本上出错
      允许某些样本不满足约束: y i ( w T x i + b ) ≥ 1 y_i(\bm w^T \bm x_i +b)≥1 yi(wTxi+b)1
      不满足约束的样本应尽可能少
    • 新的优化目标函数: m i n w . b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 2 l 0 / 1 ( y i ( w T x i + b ) − 1 ) min_{w.b}\ \frac 1 2||\bm w||^2 +C\sum_{i=1}^2l_{0/1}(y_i(\bm w^T\bm x_i+b)-1) minw.b 21w2+Ci=12l0/1(yi(wTxi+b)1)
  • 替代损失(surrogate loss)
    • 替代损失函数比0/1损失函数一般具有较好的数学性质
      凸的连续函数
      0/1损失函数的上界
    • 常用的替代损失函数
      hinge损失: l h i n g e ( z ) = m a x ( 0 , 1 − z ) l_{hinge}(z)=max(0,1-z) lhinge(z)=max(0,1z)
      指数损失(exponential loss): l e x p ( z ) = e x p ( − z ) l_{exp}(z)=exp(-z) lexp(z)=exp(z)
      对率损失(logistic loss): l l o g ( z ) = l o g ( 1 + e x p ( − z ) ) l_{log}(z)=log(1+exp(-z)) llog(z)=log(1+exp(z))
  • 松弛变量(slack variables)
    新的目标函数: m i n w , b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i min_{w,b}\ \frac 1 2||\bm w||^2+C\sum_{i=1}^m\xi_i minw,b 21w2+Ci=1mξi
    限制条件: y i ( w T x i + b ) ≥ 1 − ξ i ,   ξ i ≥ 0 , i = 1 , 2 , . . . m y_i(\bm w^T\bm x_i+b)≥1-\xi_i, \ \xi_i ≥0, i=1,2,...m yi(wTxi+b)1ξi, ξi0,i=1,2,...m
  • 正则化(regularization)
    • 各种替代损失函数学习模型的共性: m i n f Ω ( f ) + C ∑ i = 1 m l ( f ( x i ) , y i ) min_f \Omega(f)+C\sum_{i=1}^ml(f(\bm x_i),y_i) minfΩ(f)+Ci=1ml(f(xi),yi)
      • 结构风险(structural risk):优化目标中的第一项用来描述划分超平面的“间隔”大小
      • 经验风险(empirical risk):另一项用来表述训练集上的误差
      • C用于对二者进行折中
    • 可理解为一种“罚函数法”:对不希望得到的结果施以惩罚,从而使得优化过程中趋向于希望目标
    • 正则化问题
      • Ω(f):正则化项(Lp范数是常用的正则化项)
        • Lo范数||w||o
        • L1范数||w||1倾向于w的分量尽量稀疏,即非零分量个数尽量少
        • L2范数||w||2倾向于w的分量尽量取值均衡,即非零分量个数尽量稠密
      • C:正则化常数

6.5 支持向量回归

ε-间隔带:容忍f(x)与y之间最多有ε的偏差(认为此带中的预测正确)
MLb-006 47《机器学习》周志华 第六章:支持向量机_第5张图片
SVR问题形式: m i n w . b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l ε ( f ( x i ) − y i ) min_{w.b}\ \frac 1 2 ||w||^2 +C\sum_{i=1}^m l_{\varepsilon }(f(\bm x_i)-y_i) minw.b 21w2+Ci=1mlε(f(xi)yi)
ε-不敏感损失函数
1)表达式
{ 0 ,            i f   ∣ z ∣ ≤ ε ∣ z ∣ − ε , o t h e r w i s e \begin{cases} 0,\ \ \ \ \ \ \ \ \ \ if \ |z|≤\varepsilon\\ |z|-\varepsilon,otherwise \end{cases} {0,          if zεzε,otherwise
2)图像
MLb-006 47《机器学习》周志华 第六章:支持向量机_第6张图片
SVR式子重写(间隔带两次的松弛程度可以不同,引入两个松弛变量)
引入拉格朗日乘子、偏导为零、对偶问题、KKT条件、求解w和b,特征映射、核函数

6.6 核方法

  • 表示定理(representer theorem)
  • 核函数的巨大威力
    表示定理对损失函数没有限制
    对正则化项Ω仅要求单调递增,不要求是凸函数
  • 核方法定义:基于核函数的学习方法
  • 核方法的常见用法:通过“核化”(引入核函数)将线性学习器拓展为非线性学习器
    核线性判别分析(Kernelized Linear Discriminant Analysis, KLDA)

你可能感兴趣的:(MLBOOK,01)