《机器学习技法》---对偶SVM
2024-09-19 19:02:38
1.对偶问题的推导
为什么要求解对偶问题?一是对偶问题往往更容易求解,二是可以自然的引入核函数。
1.1 用拉格朗日函数将原问题转化为“无约束”等价问题
原问题是:
写出它的拉格朗日函数:
然后我们的原问题就等价为:
为什么可以这样等价:
即:对于不满足约束条件的(b,w),min里面趋于无穷大,因此min就把这些b,w舍去了;对于满足约束条件的解,min里面就刚好是原来的目标函数,刚好与原问题等价。
1.2 导出拉格朗日对偶问题
首先我们有如下成立:
然后我们取右边式子中的“best”阿尔法,仍然会有大于等于号成立,因为best is one of any:
这时右边的式子就是对偶问题。这里直接给出一个定理,当满足下面条件时(对于SVM来说刚好满足),原始问题和对偶问题的解是相同的:
并且它们的最优解满足KKT条件:偏导为0,对偶互补,拉格朗日乘子大于0.
1.3 用KKT条件来简化对偶问题
我们的对偶问题现在是:
根据KKT条件,我们有:
把第一个代进来:
再把第二个代进来:
这时候,我们的问题里面就只剩一个参数阿尔法了。再把平方项展开,写的好看一点,就得到了标准的硬间隔SVM对偶问题:
2. 解对偶问题
还是解QP那一套:
之后再求W和b:
(所有支持向量的加权和)
(任取一个支持向量算出)
3. 支持向量
引出对偶问题后,我们重现定义支持向量为阿尔法大于0的向量。他们一定是在边界上的(统计学习方法p107),但是在边界上的不一定阿尔法大于0:
前面我们也提到过,w和b的计算只需要支持向量,其他向量都是无用的:
最新文章
- Oracle OCP 1Z0-053 Exam Topics
- Gdb调试多进程程序
- PHP发送电子邮件
- MMC不能打开文件D:\Program Files\Microsoft SQL Server\80\Tools\BINN\SQL Server Enterprise Manager.MSC
- Fiddler环境配置教程
- linux中添加ftp用户,并设置相应的权限
- js中模仿接口继承
- 一个项目中哪些文件是要上传到 git上的,哪些是不必要的
- Oracle学习【语句查询】
- 三个C++资源链接(大量)
- 【IOS】 遍历info 所有内容 &;amp;&;amp; 唯一的节能设备UUID
- iOS 旋屏问题
- ASP.NET Core 源码学习之 Logging[1]:Introduction
- Cassandra HBase和MongoDb性能比较
- SSH2三大框架SQL查询
- 将来会是Python、Java、Golang三足鼎立的局面吗?
- [解读REST] 3.基于网络应用的架构
- python基础学习(二)注释和算术运算符
- Python使用正则表达式分割字符串
- 在django中使用django_debug_toolbar进行日志记录