机器学习知识点查漏补缺(支持向量机)
一、模型概念
支持向量机的模型基本模型是建立在特征空间上的最大间隔线性分类器,通过使用核技巧,可以使它成为非线性分类器。
当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;当训练数据近似线性可分时,通过软间隔最大化,学习一个线性分类器,即软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
支持向量机的几何意义很直观,用分离超平面分隔线性可分和近似线性可分的数据集(可对每个线性不可分点设置一定的缓冲量,这个缓冲量也会进入最后的最优化目标函数里面),保证分隔的同时,最大化分隔间距。
二、优化目标函数
所以其优化目标函数其实也很直观,就是最大化所有类别点到分隔超平面的距离和。只是目标函数优化过程中会发现,目标函数的最优值只由离分隔平面最近的向量点决定,这也是模型为什么叫支持向量机的原因。
其中,在我理解的时候,觉得有一个难理解的点,分隔超平面到间隔边界距离(其实是函数间隔,实际距离应该是几何间隔)为什么就为1?其实只是认为选定的一个规范化标准而已,取几何间隔为1.
而其最终的优化目标函数如下:
对于近似线性可分的问题,需要给每个样本点一个松弛变量,也就是一个缓冲,
从而其优化目标函数变为:
三、对偶问题
而实际对支持向量机的目标函数优化,并不是直接对其优化,而是转化成其对偶问题优化。
这样的优点是:
1、对偶问题一般相对更简单,对偶问题一定是凸问题(对偶函数是拉格朗日函数的相对乘子变量的逐点下确界,对偶函数必然是凹函数,而求其最大化问题,必然为凸问题),同时也因为普遍的设计变量相对于约束条件更多,对偶反转之后,优化变量变少;另外,某些时候对偶变量具有一定的实际意义。2、在支持向量机中,对偶问题带来最大优点是,对偶问题目标函数具有变量的內积形式,用非线性內积形式对变量內积形式的替换,可以方便的对线性空间进行某种扭曲,从而实现非线性的分隔问题。特别的,用核函数来替换,甚至不用考虑具体的非线性扭曲的变换形式,只考虑內积变换的结果就可以。
四、核函数