台湾大学机器学习笔记——Soft-Margin 支持向量机
来源:互联网 发布:融资租赁软件 编辑:程序博客网 时间:2024/06/06 04:00
问题:接着第三讲的加核的支持向量机,如果现在有以下样本,按照左边的线性法,会有少部分样本点出现误判。但是之前讲的所有SVM问题中,我们都是要求所有的点都必须分正确,并且在分正确的情况下找出margin最大的情况,所以在很多场合下运用Hard-Margin SVM很容易出现过拟合。
1.那么此时为了控制容忍错误的能力,我们将问题转化为下列式子:
我们将pocket和hard-margin合起来,第一项为hard-margin中原有的,二莜面那一项意思是将所有翻的错误加起来,没犯错,值为0,犯错后值为1,条件则变成了当n点没犯错时,还是原来的要求,就是跟原标签的乘积大于等于1,对于犯错的点则没有要求,其中C代表我们容忍错误的能力,如果我们希望错误越少越好,那么C的值就可以定义的很大。则:
2.那么现在的SVM问题并不是一个QP,二次规划的问题了,并且现在的式子并不能区分错误的大小。我们将错误定义为:ε_n,那么此时我们不在记录和惩罚错误的个数,而惩罚和记录错误的大小,然后将等式转化为:
3.此时的问题就被转化为了一个QP问题,也可以带到二次规划里面进行计算。但是很明显跟前面讲过的一样,还是会存在特征维度过大,解二次规划问题很耗时的问题。所以我们还是需要将这个问题转化为拉格朗日对偶问题,将上式的条件转化到min中,则:
4.再做括号内的min时,跟之前一样可以对ε_n求偏导,得出β_n=C-α_n,
5.那么我们可以求出α_n的范围,并且可以将β_n和ε_n全部拿掉,此时式子可以继续化简为:
6.此时的式子跟之前解得Hard-Margin的式子min部分一样,只是alpha多了一个上界C,同样我们能得到以下等式:
然后继续化简,使之成为跟第二讲中讲到的一样,又成为了一个二次规划的QP问题,在这个问题中,不一样的是alpha有了上限:
7.推导完对偶问题,继续进行加核。在上一个问题的求解中,唯一不一样的就是加上了upper bound,就是根据C得出的上限,求出最好的alpha后,接着就是求b,再接着求出最终的SVM的hypothsis。
8.现在就来看第三步中的b怎么求,在hard-margin中大家很熟悉了,就是找出一个alpha大于0的点,也就是支持向量,通过这些点求出b。但是如果用相同的方法求soft-margin中的b,找出支持向量带入,得出b还是跟误差ε_n有关,那么怎么很容易的得出b呢,最想做的就是将ε_n那一项干掉,让ε_n等于0的话,那么alpha就必须小于C。即:
那么我们通过free support vector就可以算出b的值:
9.这些都是高斯核,拥有不同的C值做出的实验,所以C值的选择很重要,搞不好就会overfit:
10.通过不同的alpha的值,我们可以给样本点分类:当alpha等于0的时候,ε_n就会等于0,所以代表并没有犯错的非支持向量的点,就是远在margin之外的那些点,图中圆形所示。当alpha大于0小于C的时候,ε_n还是会等于0,此时还是没有犯错误,所以此时的样本点为支持向量点,在边界Margin上,图中的正方形所示。当alpha等于C时,那么ε_n就会存在,它就表示了那些有误差,有犯错的点,图中的三角形所示。
- 台湾大学机器学习笔记——Soft-Margin 支持向量机
- 林轩田--机器学习技法--SVM笔记4--软间隔支持向量机(Soft-Margin Support Vector Machine)
- 台湾大学林轩田机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine
- 机器学习笔记6——支持向量机
- 机器学习-学习笔记 支持向量机
- 【笔记】机器学习基础——国立台湾大学
- 台湾大学机器学习笔记——Neural Network 神经网络
- 机器学习技法 笔记四 Soft-Margin Support Vector Machine
- 机器学习笔记:支持向量机
- (斯坦福机器学习笔记)支持向量机
- 机器学习笔记(六)支持向量机
- 机器学习实战笔记-支持向量机
- 机器学习笔记三------支持向量机
- 机器学习笔记之支持向量机1——支持向量机基础知识梳理即大概流程
- 台湾大学林轩田机器学习笔记
- 监督学习之支持向量机——Andrew Ng机器学习笔记(五)
- 机器学习实战学习笔记3——支持向量机
- 人工智障学习笔记——机器学习(4)支持向量机
- 多个Activity之间共享数据的5种方式以及 Application Context
- nodejs记录一
- Android之Toolbar的三个问题:修改左边箭头颜色、怎样修改右边以及子activity中的toolbar添加返回箭头
- Android应用开发常用知识(3)
- 不会赛车的程序员不是一个好作家
- 台湾大学机器学习笔记——Soft-Margin 支持向量机
- 第十六周项目1—阅读程序(2)
- xcode 两个窗口 上下显示
- Training Region-based Object Detectors with Online Hard Example Mining
- ViewStub动态加载布局提高UI加载性能
- IOS绘制矢量图 SVGKIT 的使用
- C++复习——template,template类,memcmp
- Mac 配置环境变量的方法
- 常用框架组合