• 概要
  • 对偶SVM的动机
  • 拉格朗日对偶SVM
  • 解决对偶SVM
  • 对偶SVM背后的理论

欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen
题目可能不全,因为有字数限制,不好意思,可以参考:
https://www.csie.ntu.edu.tw/~htlin/course/ml15fall/

概要

上节课讲到了线性的支持向量机,采用胖胖的分割线作为分类器。要进行求解,首先将X投影到z空间,然后在z空间进行线性分割就好了。但是如果投影到z空间中的维度很高,或者是无线维,那么好像就不好求解了。
本节课就是讨论如何求解特征转换到高维度或者无线维度的方程。

对偶SVM的动机

所以为啥要用svm的对偶方程去求解呢,就是因为当我们经过特征转化到高维度后,直接采用QP的方式太慢了,或者有的时候会投影到无限多维,这个时候就没法算了。所以能不能在不依赖于空间维度的数量,而是样本数量?如果学习过对偶问题的童鞋应该是知道的,在运筹学中,就相当于影子价格。言归正传,目的如下图:


目的就是SVM的对偶求解不依赖于新产生的维度数量,减少运算复杂度
关于线性对偶可以参考
http://blog.csdn.net/cqy_chen/article/details/77872159


将变量个数从d˜+1\widetilde{d}+1——>NN,而条件个数从NN——>N+1N+1。这就是对偶问题干的事情。
这个怎么做呢?使用熟悉的拉格朗日乘子法啦。
回顾原始的式子:

minw,b 12wTwsubject to:yn(wTzn+b)≥1for all n=1,2,.....N

\min_{w,b}\ \frac{1}{2}w^Tw \\ subject\ to :y_n(w^Tz_n+b)\geq 1 \\ for \ all \ n=1,2,.....N
通过添加拉个朗日乘子后,添加了 ana_n个乘子:

L(w,b,a)=12wTw+∑n=1Nan(1−yn(wTzn+b))其中:a1,a1,a3......an≥0

\mathcal{L}(w,b,a)= \frac{1}{2}w^Tw+\sum_{n=1}^{N}a_n(1-y_n(w^Tz_n+b))\\ 其中:a_1,a_1,a_3......a_n \geq 0
这里我们来看看添加之后的式子和原来的式子会不会是一样的呢?
首先我们令, m=12wTwm= \frac{1}{2}w^Tw以及 n=∑Nn=1an(1−yn(wTzn+b))n=\sum_{n=1}^{N}a_n(1-y_n(w^Tz_n+b))则: L(w,b,a)=m+n\mathcal{L}(w,b,a)=m+n,原来的最小化我们先将w和b固定住,做最大化,然后再做最小化操作,如下:

minb,w(maxa(m+n))

\min_{b,w}(\max_{a}(m+n))
当我们选择了一个不符合条件的点,就会导致 yn(wTzn+b)≤1y_n(w^Tz_n+b)\leq 1,由于要使得固定w和b之后的最大化,就会导致 nn无穷大。

当我们选择了一个符合条件的点的时候,就会导致yn(wTzn+b)≥1y_n(w^Tz_n+b)\geq 1,这个时候由于要使得固定w和b之后的最大化,只能令所有的拉格朗日乘子都为0,n=0。

当我们最大化之后再进行最小化,只能选择n=0的情况,这个时候和原来的情况是一样一样的,如下图:

拉格朗日对偶SVM

上面式子只是说明了经过变换,拉格朗日式子和原来的求解是一样的。如果是对于非最优的aa则有:

minb,w(maxa(L(w,b,a)))≥minb,w(L(w,b,a′))对于任意的a′存在上面的式子。所以在右边的式子加上最大化也成立得到;minb,w(maxa(L(w,b,a)))≥maxa(minb,w(L(w,b,a′)))

\min_{b,w}(\max_{a}(\mathcal{L}(w,b,a)))\geq \min_{b,w}(\mathcal{L}(w,b,a'))\\ 对于任意的a'存在上面的式子。所以在右边的式子加上最大化也成立得到;\\ \min_{b,w}(\max_{a}(\mathcal{L}(w,b,a)))\geq \max_{a}(\min_{b,w}(\mathcal{L}(w,b,a')))
上面的这个式子称为拉格朗日对偶问题,这个证明了先固定a,求得最小值,然后求解最大值是原问题的一个解的下确界。
当条件满足kkt条件的时候两个式子是相等的:

对于SVM问题,恰好满足条件,可以通过求解对偶问题来求解原问题。
变成对偶问题之后,有啥好处,因为没有可以在没有条件的情况下去求解w和bw和b了啊
对偶问题是:

maxa(minw,b(12wTw+∑n=1Nan(1−yn(wTzn+b))))

\max_{a}(\min_{w,b}(\frac{1}{2}w^Tw+\sum_{n=1}^{N}a_n(1-y_n(w^Tz_n+b))))
由于先求解里面的最小化,而且是木有任何条件限制的,所以呢,可以直接求解梯度,令为0不就好了么,所以最佳解应该满足:

∂Lb=∑n=1Nan(−yn)=0<==>∑n=1Nanyn=0∂Lw=w+∑n=1Nan(−ynzn)=0<==>w=∑n=1Nanynzn

\frac{\partial {\mathcal{L}}}{b}=\sum_{n=1}^{N}a_n(-y_n)=0\sum_{n=1}^{N}a_ny_n=0\\ \frac{\partial {\mathcal{L}}}{w}=w+\sum_{n=1}^{N}a_n(-y_nz^n)=0w=\sum_{n=1}^{N}a_ny_nz_n
所以带入 bb的导数得到:

L(w,b,a)=maxa,∑Nn=1anyn=0(minw(12wTw+∑n=1Nan(1−yn(wTzn))))=maxa,w=∑Nn=1anynzn,∑Nn=1anyn=0(minw(12wTw+∑n=1Nan−wTw))=maxa,w=∑Nn=1anynzn,∑Nn=1anyn=0(minw(−12wTw+∑n=1Nan))=maxa,w=∑Nn=1anynzn,∑Nn=1anyn=0(−12||∑n=1Nanynzn||2+∑n=1Nan)

\begin{align*} \mathcal{L}(w,b,a)&= \max_{a,\sum_{n=1}^{N}a_ny_n=0}(\min_{w}(\frac{1}{2}w^Tw+\sum_{n=1}^{N}a_n(1-y_n(w^Tz_n))))\\ &=\max_{a,w=\sum_{n=1}^{N}a_ny_nz_n,\sum_{n=1}^{N}a_ny_n=0}(\min_{w}(\frac{1}{2}w^Tw+\sum_{n=1}^{N}a_n-w^Tw))\\ &=\max_{a,w=\sum_{n=1}^{N}a_ny_nz_n,\sum_{n=1}^{N}a_ny_n=0}(\min_{w}(-\frac{1}{2}w^Tw+\sum_{n=1}^{N}a_n))\\ &=\max_{a,w=\sum_{n=1}^{N}a_ny_nz_n,\sum_{n=1}^{N}a_ny_n=0}(-\frac{1}{2}||\sum_{n=1}^{N}a_ny_nz_n||^2+\sum_{n=1}^{N}a_n)\\ \end{align*}
所以最后我们得到如下式子:

L(w,b,a)=maxa,w=∑Nn=1anynzn,∑Nn=1anyn=0(−12||∑n=1Nanynzn||2+∑n=1Nan)

\mathcal{L}(w,b,a)=\max_{a,w=\sum_{n=1}^{N}a_ny_nz_n,\sum_{n=1}^{N}a_ny_n=0}(-\frac{1}{2}||\sum_{n=1}^{N}a_ny_nz_n||^2+\sum_{n=1}^{N}a_n)
需要满足如下条件:
1)拉格朗日乘子: a1,a2,a2...an≥0a_1,a_2,a_2...a_n\geq 0
2)梯度为0: w=∑Nn=1anynzn,∑Nn=1anyn=0w=\sum_{n=1}^{N}a_ny_nz_n,\sum_{n=1}^{N}a_ny_n=0
3)线性可分,就是有解: 1−yn(wTzn+b)≥01-y_n(w^Tz_n+b)\geq 0
4)同时我们知道当所选点违反条件的时候,原始的式子里面是趋于无穷大,只有当选择的点满足条件才证明了与原始的式子等同,所以有: an(1−yn(wTzn+b))=0a_n(1-y_n(w^Tz_n+b))=0

上面的条件称之为kkt条件,所以我们成功将SVM的问题转换成了对偶问题。

解决对偶SVM

那么我们看到上的式子只是关于aa的,主要将aa求解完毕,不就ok了嘛,所以我们将上面的式子稍微转换下,最大化变成最小化,同时只保留aa的条件,如下:

mina(12∑n=1N∑m=1NanamynymzTnzm−∑n=1Nan)s.t.:a1,a2,......an≥0∑n=1Nynan=0

\min_{a}(\frac{1}{2}\sum_{n=1}^{N}\sum_{m=1}^{N}a_na_my_ny_mz_n^Tz_m-\sum_{n=1}^{N}a_n)\\ s.t.:a_1,a_2,......a_n\geq 0\\ \sum_{n=1}^{N}{y_na_n}=0
哇咔咔,这是个啥,不就是一个QP问题么?这里有N+1N+1个条件,同时有N个变量,转换成QP问题的标准形式如下:

这里有一个问题,就是Q矩阵,可以看看这是一个资料量大小相关的方阵,假如有1W笔资料就需要1W*1W的大小。而且是一个很稠密的矩阵,这就麻烦了,原来是的SVM问题Q是一个稀疏的矩阵。
对于这种稠密的,很大的Q矩阵一般采用了SMO方法进行优化,可以参考:
http://blog.csdn.net/luoshixian099/article/details/51227754

ok,现在假设已经求解出了aa,剩下的问题就是要求解w和bw和b
根据我们的限制条件:

w=∑n=1Nanynznan(1−yn(wTzn+b))=0

w=\sum_{n=1}^{N}a_ny_nz_n\\ a_n(1-y_n(w^Tz_n+b))=0
这就是很easy的一件事情啦。w就直接求出,对于 bb呢,我们看到只要选择任意一个ana_n不为0的情况, 1−yn(wTzn+b)=01-y_n(w^Tz_n+b)=0就求解了b。
这里当 ana_n不为0的情况的点,称为支持向量,因为这个时候 1−yn(wTzn+b)=01-y_n(w^Tz_n+b)=0,反之, 1−yn(wTzn+b)=01-y_n(w^Tz_n+b)=0不一定有 an=0a_n=0。所以我们前面说边界上的点是支持向量点的候选集。

对偶SVM背后的理论

上面中我们知道了
当an>0a_n>0,我们称这些点为支持向量,这个时候得到:

w=∑n=1Nanynzn=∑支持向量anynznb=yn−wTzn,任意的支持向量

w=\sum_{n=1}^{N}a_ny_nz_n=\sum_{支持向量}a_ny_nz_n\\ b=y_n-w^Tz_n,任意的支持向量
所以最后得到的w和b只和支持向量有关,我们对比下以前学习到的PLA;

可以看到,在SVM中,w可以通过支持向量表现出来,而PLA中,w可以通过犯错误的点表现出来。
其实在使用优化算法,GD或者SGD的过程中,w都可以表现成 ynzny_nz_n的形式。只不过在SVM中,只与支持向量有关。

但是其实我们还没做完呢,对比原始的SVM和对偶的SVM:

在原始的SVM中,因为映射到了高维,所以我们想要通过对偶问题来求解,所以只得到了NN个变量和N+1N+1个条件。
但是在对偶问题求解过程中,真的和高维度的映射么有关系么?

这里在进行QP求解的时候:qn,m=ynymzTnzmq_{n,m}=y_ny_mz_n^Tz_m就包含了映射到高维度的z了哇,如果采用无线维度的映射,那岂不是Q矩阵没法求解啦?

所以这里还留下了一个问题,如何来避免求解Q。

预知后事如何,请听下回分解。

欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen

林轩田之机器学习课程笔记( embedding numerous feature之dual support vector machine)(32之18)相关推荐

  1. 林轩田之机器学习课程笔记( embedding numerous feature之support vector regression)(32之22)

    概要 带核函数的岭回归 支持向量回归原问题 支持向量回归的对偶问题 核函数模型总结 欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen 题目可能不全,因为有字数限制,不 ...

  2. 林轩田之机器学习课程笔记(when can machines learn之learning problem)(32之1)

    前言 课程简介 什么是机器学习 为什么要用机器学习 机器学习的应用 机器学习的构成 机器学习和其他领域的关系 欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen 前言 ...

  3. 林轩田之机器学习课程笔记( how can machines learn better之three learning principles)(32之16)

    概要 奥卡姆剃刀 抽样偏差 数据偷看 三的力量 欢迎转载,可以关注博客:http://blog.csdn.net/cqy_chen 概要 上节讲到了交叉验证,采用这种方法模拟做测试的过程,从而调整超参 ...

  4. 台湾大学林轩田机器学习技法课程学习笔记2 -- Dual Support Vector Machine

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了线性支持向量机(Linear Support Vector Machine).Linear SVM的目标是找出最"胖 ...

  5. 【本站原创】台大林轩田《机器学习基石》系列课程教材的习题解答和实现

    台湾大学林轩田老师的<机器学习基石>.<机器学习技法>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.本站实现了课程教材的绝大 ...

  6. 台大林轩田《机器学习基石》系列课程教材的习题更新完毕了

    台湾大学林轩田老师的<机器学习基石>.<机器学习技法>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.本站实现了课程教材的绝大 ...

  7. 首发:台大林轩田《机器学习基石》系列课程教材的习题解答和实现

    台湾大学林轩田老师的<机器学习基石>.<机器学习技法>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.本站实现了课程教材的绝大 ...

  8. 林轩田《机器学习基石》资源汇总(视频+学习笔记+书)

    来源 | AI有道(公众号ID:redstonewill) ▌课程介绍 台湾大学林轩田老师的<机器学习基石>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和 ...

  9. 台湾大学林轩田教授机器学习基石课程理解及python实现----PLA

    最近在班主任的带领下,开始观看台湾大学林轩田教授的机器学习基石课程,虽然吧,台湾人,汉语说得蛮6,但是还是听着怪怪的,不过内容非常值得刚刚入门的机器学习 小白学习,话不多说,直接进入正题. 1.基本介 ...

  10. 假期福利 | 林轩田《机器学习基石》资源汇总

    AI有道 不可错过的AI技术公众号 关注 课程介绍 台湾大学林轩田老师的<机器学习基石>课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面.其作为机器学习的入门和进阶资料非常适合.而 ...

最新文章

  1. 《Java: The Complete Reference》等书读书笔记
  2. 对付惰性必杀:(10+2)*5法
  3. 高性能key-value数据库
  4. 手把手教你建网站--程序小白适用篇
  5. SAP Spartacus ng serve 之后,localhost 4200 会后面自动添上 electronics-spa 吗?
  6. 数据库人员面试:SQL Server常用测试题
  7. linux端口爆破软件,Linux网络安全:端口扫描软件 nmap
  8. 数据结构之外部排序:归并排序法
  9. 拿来就能用!几步搭建一套简单直播系统 | 原力计划
  10. 父母延长退休,作为程序员的我光荣失业
  11. html与js简单小游戏,JS实现简单贪吃蛇小游戏
  12. java ssh 框架下 利用junit4 spring-test进行单元测试
  13. sas 安装后处理出错
  14. java号码池_Java常量池详解
  15. 软件工程入门基本知识
  16. 计算机右键管理没有管理员权限,win7系统右键菜单没有“以管理员身份运行”选项如何恢复...
  17. win7系统文件夹共享后有锁图标怎么去掉?
  18. 【论文复现】ARBITRAR : User-Guided API Misuse Detectionl
  19. HyperLynx(十一)BoardSim和PCB板级仿真分析(二)
  20. Zoomit默认快捷键

热门文章

  1. 子目录和子域名哪个好?子目录和子域名如何利用seo优化?
  2. SDCC 2016数据库架构技术峰会(深圳站),PPT全回顾
  3. 房地产企业与项目管理
  4. 使用键盘设置桌面计算机图标的显示不出来,显示桌面,小编教你显示桌面图标不见了如何恢复...
  5. java的duplicate用法_Java FloatBuffer duplicate()用法及代码示例
  6. 【图像压缩】基于余弦变换及霍夫曼编码实现jpeg压缩和解压附matlab代码
  7. mac日历与iphone日历不无法同步问题
  8. Error: Network Error
  9. QScrollArea qt滚动区域的简单使用
  10. 安装免费在线客服livezilla系统