《统计学习方法(李航)》讲义 第07章 支持向量机

      支持向量机(supportvectormachines,SVM) 是一种二类分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机; 支持向量机还包括核技巧,这使它成为实质上的非线性分类器.支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic也等价于正则化的合页损失函数的最小化问题.支持向programming )的 问题,量机的学习算法是求解凸二次规划的最优化算法.支持向量机学习方法包含构建由简至繁的模型: 线性可分支持向量机(linearsupport vector machine in linearly separable case)、线性支持向量机(lincar supportvector machine) 及非线性支持向量机(non-linear support vector machine).简单模型是复杂模型的基础,也是复杂模型的特殊情况.当训练数据线性可分时,通过硬间隔最大化(hard margin maximization),学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机; 当训练数据近似线性可分时,通过软间隔最大化(soft margin maximization),也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机; 当训练数据线性不可分时,通过使用核技巧(kerael trick) 及软间隔最大化,学习非线性支持向量机.当输入空间为欧氏空间或离散集合、特征空间为希尔伯特空间时,核函数(kernel function) 表示将输入从输入空间映射到特征空间得到的特征向量之间的内积.通过使用核函数可以学习非线性支持向量机,等价于隐式地在高维的特征空间中学习线性支持向量机.这样的方法称为核技巧.核方法(kernel method) 是比支持向量机更为一般的机器学习方法.Cortes 与Vapnik 提出线性支持向量机,Boser、Guyon 与Vapnik 又引入核技巧,提出非线性支持向量机,本章按照上述思路介绍3 类支持向量机、核函数及一种快速学习算法一一序列最小最优化算法(SMO).

 

支持向量机Python实战(手写体识别): https://github.com/itmorn/Machine-Learning/tree/master/SupportVectorMachine

Python sklearn-svm地址: http://scikit-learn.org/stable/modules/svm.html

——黎明传数

posted @ 2017-10-13 21:23  黎明程序员  阅读(2444)  评论(0编辑  收藏  举报