支持向量机SVM(Support Vector Machine)

支持向量机(Support Vector Machine)是一种监督式的机器学习方法(supervised machine learning),一般用于二类问题(binary classification)的模式识别应用中。

支持向量机的最大特点是既能够最小化经验损失(也叫做经验风险、或者经验误差),同时又能够最大化几何间距(分类器的置信度),因此SVM又被称为最大边缘区(间距)的分类器。

根据具体应用场景的不同,支持向量机可以分为线性可分SVM、线性SVM和带有核函数的SVM。最终的结果都是得到一个分类超平面和一个决策函数。

根据机器学习的框架来说,SVM可以被描述为: 模型——分类超平面和最大化最小几何间距;策略——最大化几何间距;算法——二次凸规划问题。

1. 根据函数间隔,推出几何间隔;进而通过几何间隔的数学表示得到带有约束的最优化问题,通过拉格朗日乘子法和KKT条件,转化原问题为对偶问题,通过对于对偶问题的优化求解(如SMO,序列最小化优化算法)来得到最终的分类超平面参数和决策函数表示。

2. 对于线性不可分的线性SVM问题,通过引入松弛变量(合页损失函数hinge loss function,即为松弛变量的取值),对于分类问题进行扩展描述,得到相关的问题结果。按照1. 中步骤,继续求得分类超平面和决策函数。

3. 对于非线性可分问题,通过引入核技巧(kernel trick),将特征空间变换到高维空间,变为高维空间的线性可分问题,然后通过线性SVM解决在低维空间的线性不可分问题。

这里面需要注意的几点内容:输入空间、特征空间的区别。拉格朗日乘子法,对偶性问题和KKT条件。最优解,可行解,二次规划问题。软间隔。核函数:内积等于变换(映射)的内积。

时间: 04-19

支持向量机SVM(Support Vector Machine)的相关文章

机器学习之支持向量机(Support Vector Machine)(更新中...)

支持向量机 支持向量机(support vector machines,SVMs)是一种二类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机:支持向量机还包括核技巧,这使它成为实质上的非线性分类器.支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题. 支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机(linear support vector machine in

Machine Learning Techniques -1-Linear Support Vector Machine

1-Linear Support Vector Machine 我们将这种定义为margin,则之前判断最优划分的问题转化为寻找最大margain的问题. 对于待选的几个w所表示的线,问题转化成利用对应w比较相对距离的问题. 此时定义w为方向向量,b为之前的w0,即bia. 由于w就是所求点到直线的法线方向,问题转化为求投影的问题. 因为每个点对应符号yn只有在和距离表示的绝对值内部符号为+的时候才说明划分正确,所以可以乘上yn来去除abs() 这里的距离是一种容忍度,所以我们选其中最近的那个.

机器学习技法——第1-2讲.Linear Support Vector Machine

本栏目(机器学习)下机器学习技法专题是个人对Coursera公开课机器学习技法(2015)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Techniques中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumltwo-001/lecture) 第1讲-------Linear Support Vector Machine 在机器学习基石介绍的基本工具(主要围绕特征转换Feature Transf

Support vector machine

https://en.wikipedia.org/wiki/Support_vector_machine In machine learning, support vector machines (SVMs, also support vector networks[1]) are supervised learning models with associated learning algorithms that analyze data used for classification and

【Linear Support Vector Machine】林轩田机器学习技法

首先从介绍了Large_margin Separating Hyperplane的概念. (在linear separable的前提下)找到largest-margin的分界面,即最胖的那条分界线.下面开始一步步说怎么找到largest-margin separating hyperplane. 接下来,林特意强调了变量表示符号的变化,原来的W0换成了b(这样的表示利于推导:觉得这种强调非常负责任,利于学生听懂,要不然符号换来换去的,谁知道你说的是啥) 既然目标是找larger-margin s

机器学习技法(1)--Linear Support Vector Machine

线性支持向量机. 在这种分类问题中,我们需要选一条最“胖”的线,而这条最胖的线就是margin largest的线. 我们的优化目标就是最大化这个margin.也就是在最小化每一个点到这条线的距离.这个距离怎么计算呢? 为了以后不会混淆,w0就不整合成向量w了,另外取一个新名字b.同样地,x0=1也就不用塞进x向量里了. 所以得出:h(x)=sign(wTx+b),而距离distance(x,b,w)满足wTx'+b=0 x'和x''是平面上的两个点,(x''–x')是平面上的向量,如果这个平面

【Dual Support Vector Machine】林轩田机器学习技法

这节课内容介绍了SVM的核心. 首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下: 如果x进行non-linear transform后,二次规划算法需要面对的是d`+1维度的N个变量,以及N个约束 如果d`的维度超大,那么二次规划解起来的代价就太大了.因此,SVM的精髓就在于做了如下的问题转化: 不需要问太深奥的数学,知道为啥要dual的motivation就可以了. 这里再次搬出前人的智慧:Lagrange Multipliers 但是这里跟ridge regr

Machine Learning Techniques -3-Dual Support Vector Machine

For the naive thought to practise my academic English skill, the rest of my notes will be wrriten in my terrrible English.XD If you have any kind of uncomfortable feel, please close this window and refer to the original edition from Mr. Lin. I will b

Support Vector Machine (3) : 再谈泛化误差(Generalization Error)

在SVM第一节中我们有简单涉及到泛化误差这个概念.在SVM中,使得Margin最大的解即为使泛化误差最小.那么泛化误差到底是什么,为什么Margin最大时泛化误差就最小?下面我们来探究一下. 什么是泛化误差?Wiki给出这样一个描述:generalization error (also known as the out-of-sample error) is a measure of how accurately an algorithm is able to predict outcome v