机器学习技法总结(一):支持向量机(linear support vector machine,dual support vector machine)
第一阶段技法:
large margin (the relationship between large marin and regularization), hard-SVM,soft-SVM,dual problem(解对偶问题),kernel trick,kernel logistic regression,
主要思路是:(这里不区分线性与非线性,差别只是特征空间转换,X空间与Z空间的关系)
1. 从PLA出发,对于二维平面的二分类问题,PLA可能得出一堆能够正确分类的直线,但是哪一条直线会是最好的呢?我们应当如何评价分类的好坏呢?从而导出了large margin 和 support vector的概念。
具有large margin的那条直线具有更好的抗干扰能力,鲁棒性好。而影响margin大小的其实就是在fat边界上的那些数据,这些数据叫做support vector(candidate)。所以,就有了这样的一个优化目标,如何通过调节w使得margin最大。后面就是一系列的数学优化推导,最后转化为二次规划问题得到解决。
下面说明large margin背后所隐藏的一些可以解释为何large margin会“好”的原因:1)从regularization角度看,large margin所对应的优化函数,类似于加了regularizer的线性分类/回归问题,也就是说,large margin对应着regularization;
2)从VC dimension的角度来讲,large margin其实是减少了hypothesis能够shutter的dichotomy(二分类)的数量,也就是说减少了VC dimension,使得模型可以控制overfitting。
2. 我们另一个动机就是:能不能将X特征空间转化到无限维度的特征空间呢?同时为了保证Hoeffding's 不等式对VC dimension的限制及计算量上的限制,则希望转化后的Z空间的VC dimension不跟W的自由度d相关。
因此,开始研究svm的dual problem(对偶问题)。在不断的推导和求解dual support vector machine问题时,用到了著名的KKT条件:
通过上面给的推导和解释,我们可以看到,实际上W值是由on fat boundary上面的support vector线性表出的(这就是后面要讲到的表示定理)。数学的推导与理论分析都说明support vector才是主导我们进行模型选择所用到的数据。
所以,现在重新限制support vector,刚开始我们提出的边界上的data叫做support vector(candidate),而这个通过解dual问题得到的决定W的alpha不为零的data就叫做support vector。
回想PLA,类似support vector machine,这个W都是可以通过样本点线性表出的;PLA实际上是通过犯错误的点表出,而support vector machine则是通过support vector线性表出的。
这就是原始的svm和dual svm的对比。
到目前为止,我们还没有解决W的维度d和计算量的评估,下面将通过一个叫做kernel trick的方法,实现无限维度的特征转换。
机器学习技法总结(一):支持向量机(linear support vector machine,dual support vector machine)的更多相关文章
- 机器学习技法笔记:01 Linear Support Vector Machine
Roadmap Course Introduction Large-Margin Separating Hyperplane Standard Large-Margin Problem Support ...
- 机器学习技法:06 Support Vector Regression
Roadmap Kernel Ridge Regression Support Vector Regression Primal Support Vector Regression Dual Summ ...
- 机器学习技法笔记:06 Support Vector Regression
Roadmap Kernel Ridge Regression Support Vector Regression Primal Support Vector Regression Dual Summ ...
- 机器学习技法笔记(2)-Linear SVM
从这一节开始学习机器学习技法课程中的SVM, 这一节主要介绍标准形式的SVM: Linear SVM 引入SVM 首先回顾Percentron Learning Algrithm(感知器算法PLA)是 ...
- 机器学习技法之Aggregation方法总结:Blending、Learning(Bagging、AdaBoost、Decision Tree)及其aggregation of aggregation
本文主要基于台大林轩田老师的机器学习技法课程中关于使用融合(aggregation)方法获得更好性能的g的一个总结.包含从静态的融合方法blending(已经有了一堆的g,通过uniform:voti ...
- 机器学习技法课之Aggregation模型
Courses上台湾大学林轩田老师的机器学习技法课之Aggregation 模型学习笔记. 混合(blending) 本笔记是Course上台湾大学林轩田老师的<机器学习技法课>的学习笔记 ...
- 【Matrix Factorization】林轩田机器学习技法
在NNet这个系列中讲了Matrix Factorization感觉上怪怪的,但是听完第一小节课程就明白了. 林首先介绍了机器学习里面比较困难的一种问题:categorical features 这种 ...
- 机器学习常见面试题—支持向量机SVM
前言 总结了2017年找实习时,在头条.腾讯.小米.搜狐.阿里等公司常见的机器学习面试题. 支持向量机SVM 关于min和max交换位置满足的 d* <= p* 的条件并不是KKT条件 Ans: ...
- Coursera台大机器学习技法课程笔记01-linear hard SVM
极其淡腾的一学期终于过去了,暑假打算学下台大的这门机器学习技法. 第一课是对SVM的介绍,虽然之前也学过,但听了一次感觉还是很有收获的.这位博主总结了个大概,具体细节还是 要听课:http://www ...
随机推荐
- python3爬虫--反爬虫应对机制
python3爬虫--反爬虫应对机制 内容来源于: Python3网络爬虫开发实战: 网络爬虫教程(python2): 前言: 反爬虫更多是一种攻防战,针对网站的反爬虫处理来采取对应的应对机制,一般需 ...
- SpringMVC的全局异常处理
@ControllerAdvice的使用 我们都知道做项目一般都会有全局异常统一处理的类,那么这个类在Spring中可以用@ControllerAdvice来实现. @ControllerAdvice ...
- shortcuts for contructor 创建对象捷径
- vs下载代码
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012605477/article/details/62222919Visual Studio 20 ...
- mybatis连接mysql查询时报Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP
今天在学习mybatis框架的时候遇到了一个问题:查询用户表的时候报 Cannot convert value '0000-00-00 00:00:00' from column 10 to TIME ...
- web自动化测试-selenium多表单切换
一.概述 1.在web应用中会经常遇到frame/iframe表单嵌套页面的应用 2.WebDriver只能在一个页面上对元素进行识别与定位 3.对于frame/iframe表单内嵌的页面上元素无法识 ...
- 持续集成学习10 Pipline初探
一.流水线概述 1.案例 2.流水线语法(input 处会阻塞住让你选择) 3.执行脚本 4.查看语法
- hibernate之多对多关系
hibernate的多对多hibernate可以直接映射多对多关联关系(看作两个一对多) 下面我们拿三张表来做实例 t_book_hb t_book_category_hb(桥接表) t_catego ...
- 如何在Unity中开发Leap Motion桌面版(Non-VR)APP
最近因需要,翻出几年前的Leapmotion感测器,准备用Unity3D做个互动APP,于是连上官网下载SDK.等下载下来一安装调试,瞬间傻眼,居然要求VR设备.我们Lab倒是不缺VR,有几套VIVE ...
- java.lang.IllegalAccessException: void #####.MyBroadcastReceiver.() is not accessible from jav
java.lang.IllegalAccessException: void #####.MyBroadcastReceiver.<init>() is not accessible fr ...