机器学习技法---(Week2)Dual Support Vector Machine

  上节课把原始的优化问题改写成二次规划的形式,通过软件包来求解参数。这节课通过研究原问题的对偶问题,在一定条件下,对偶问题的最优解和解参数和原问题一致,继而得到原问题的解。

Motivation of Dual SVM

  对于非线性SVM,通常是用线性变换将变量从x域(非线性)转换到z域(线性)中(e.g. [x,x2,x3][z1,z2,z3] [ x , x 2 , x 3 ] → [ z 1 , z 2 , z 3 ] )。此时,z域是线性的,可以使用上节课的线性SVM求解最优解(这话听着怪怪的,我说下我的理解吧)。回忆基石的课,拟合回归问题时。可以通过增加 x x 高次方项增加模型的复杂度,继而减小Ein。同样的,对于SVM问题,也可以通过这样的方式减少 Ein E i n ,并且SVM的large-margin能够减少有效的VC Dimension,相当于加了一个惩罚项。但是做变换的时候特征维度往往会变得很大,由 dd^ d → d ^ ,此时求解QP问题会比较复杂。对偶问题在求解时,不依赖 d^ d ^ ,这就是提出对偶问题的原因。(后面会讲到对偶问题依赖的是训练集大小,一般来说都是样本数量大于特征数量吧,奇怪了。这个疑惑,暂且留着吧–据说和核函数升维有关系,升维之后特征会变得特别多)。
  经过变换之后,QP问题的形式如下:
Fig1

前面说过SVM相当于加了个惩罚项,基石的正则化课程讲到通过拉格朗日乘子法求解,同样的dual SVM问题也可以通过引入拉格朗日乘子的方式,把原问题转化为非条件问题。
Fig2

那么如何讲条件问题转化成非条件问题呢?拉格朗日乘子法熟悉的话,应该很直观:
Fig3

下面利用拉格朗日函数构造非条件问题:
Fig4

为什么这样构造之后,两个问题就等价了呢?可以这样理解:
max L(b,w,α) m a x   L ( b , w , α ) 记为 f f ,转化之后的问题就是在(w,b)的参数空间中找一个使得 f f 最小的值
对于f,是要找到一个 α α 使得 L(b,w,α) L ( b , w , α ) 最大。观察拉格朗日函数,显然如果原问题的约束条件不满足,则 1yn(wTzn+b)>0 1 − y n ( w T z n + b ) > 0 f f 趋于正无穷,那么min时,这样的参数取不到最优解。所以先对 L L 取关于α的极小,再取关于 w,b w , b 的极大和原问题是等价的。

Lagrange Dual SVM

  上一节我们找到了原问题的等价问题,已知 αn>0 α n > 0 ,那么对于固定的 α α ′ αn0 α ′ n ≥ 0 ,一定有如下不等式成立:
Fig5

上式显然成立,对不等式两边同时取Max,不等式同样成立:
Fig6

上式表明对等价问题的min和max做了一个对调,满足这样的关系叫做Lagrange dual problem。 称为弱对偶关系, = = 称为强对偶关系。在二次规划QP问题中,强对偶关系需要满足下面三个条件:
1. 函数是凸的(convex primal)
2. 函数有可行解(feasible primal)
3. 条件是线性的(linear constraints)
即存在满足条件的解(b,w,α)使得等式左右都成立,这样就可以通过直接解对偶问题求原问题。
关于拉格朗日对偶性,李航的《统计学习方法》有较为完整的介绍。并且强对偶要求的是约束和目标函数都是凸函数,有点差异的。此处存疑!
  这里原问题满足这三个条件,所以我们可以直接求对偶问题,经过推导对偶问题转化为无条件形式:
Fig7

先求上式括号里的部分,即对拉格朗日函数求最小值,那么必要条件是梯度为0。首先,令 L(b,w,α) L ( b , w , α ) 对参数 b b 的偏导为0:

Lb=0n=1Nαnyn=0

把上述求偏导得到的等式带入并化简:
Fig8

同样的对 w w 求偏导:

Lw=0wn=1Nαnynzn=0w=n=1Nαnynzn

把上述求偏导得到的等式带入并化简:
Fig9

这样,表达式里面消去了 w w ,问题进一步简化。这时候的条件有3个:

  • all αn>0

    • n=1Nαnyn=0 ∑ n = 1 N α n y n = 0
    • w=n=1Nαnynzn w = ∑ n = 1 N α n y n z n
    • 这时候我们只需要计算满足上述三个条件时, 12n=1Nαnynzn2+n=1Nαn − 1 2 ‖ ∑ n = 1 N α n y n z n ‖ 2 + ∑ n = 1 N α n 的最小值以及对应的 αn α n
      最终形式如下:
      Fig10

      其中满足最佳化条件称为Karush-Kuhn-Tucker(KKT):
      Fig11

      这里有个逻辑问题没搞明白,就SVM问题而言,是因为原问题和对偶问题满足一些条件所以他们有相同的最优解,然后一定会满足KKT条件,不知道是不是这个逻辑,回头再查查资料吧。

      Solveing Dual SVM

        进一步简化,把MAX问题转化为Min问题,把部门条件放到约束中:
      Fig12

      w=n=1Nαnynzn w = ∑ n = 1 N α n y n z n 这个条件暂时不考虑,因为目标函数中没有出现 w w 。然后改写成QP问题的形式,用软件包求解即可。
      Fig13

      这里没有看懂,主要αn0拆到约束里怎么表达,存疑吧~
      计算 Q Q 矩阵时,如果样本量特别大,计算量也会很大。所以计算Q时会采用一些特殊的方法。
      得到 αn α n 之后,根据KKT条件就可以计算 w w b
      首先 w=n=1Nαn w = ∑ n = 1 N α n
      其次根据 αn(1yn(wTzn+b))=0 α n ( 1 − y n ( w T z n + b ) ) = 0 得到 b=ynwTzn b = y n − w T z n
      Fig14

      计算 b b 时,如果αn>0成立,那么 yn(wTzn+b)=1 y n ( w T z n + b ) = 1 成立,那说明这个点正好在分解线上,即fat boundary上,这些点就是support vector。

      Messages behind Dual SVM

      前面讲到如果 αn>0 α n > 0 成立,那么 yn(wTzn+b)=1 y n ( w T z n + b ) = 1 成立,那说明这个点就是支持向量,但是分类线上的点不一定都是支持向量,但满足 αn>0 α n > 0 的点一定都是支持向量。
      Fig15

      比较PLA和SVM的公式:
      Fig16

      两者形式上十分相似,但是 wSVM w S V M 由fattest hyperplane边界上所有的SV决定(非支持向量点对应 α α 为0), wPLA w P L A 由所有当前分类错误的点决定。 wSVM w S V M wPLA w P L A 都是原始数据点 yn,zn y n , z n 的线性组合形式,是原始数据的代表。

      Summary

        比较原始问题和对偶问题:
      Fig17

      对偶问题的引进是为了避免计算中对 d^ d ^ 的依赖,约束由 d^ d ^ 个条件转换成 N N 个约束条件。但是计算Q矩阵时候已经引入了。下节课将研究探讨如何消除对 d^ d ^ 的依赖。

      存疑

      有两个疑问,记录下:
      1. 对偶问题QP问题的改写
      2. KKT条件的逻辑,是因为对偶问题和原问题满足三个条件,所以有共同的最优解,继而满足KKT条件?

      Ref

      [1] 《机器学习技法》第二周课程
      [2] https://blog.csdn.net/red_stone1/article/details/73822768#reply

                                      2018-03-28 于杭州

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值