机器学习5——支持向量机
总结:
机器学习4——没有免费午餐定理
世界上不存在任何一个算法满足任何的一个场景都是最好的
5.1 线性可分定义
本篇给出严格的数学定义、向量形式以及简单的定义,都在这节最末尾
5.2问题描述
支持向量机寻找的最优分类直线应该满足三个条件:
(1)该直线分开了两类
(2)该直线最大化间隔(margin)
(3)该直线处于间隔的中间,到所有支持向量距离相等。
———————————————————————————————————————————————————————————
机器学习4——没有免费午餐定理
世界上不存在任何一个算法满足任何的一个场景都是最好的
……………………………………………………………………
——————————————————————————
哪种机器学习算法更好?这一节从理论上做一个回答,


因此没有任何场景都是最好的算法,




因为评价算法的好坏涉及到对特征空间先验分布的假设,然而没有人知道特征空间先验分布真实的样子,
机器学习5——支持向量机
5.1 线性可分定义
本篇给出严格的数学定义、向量形式以及简单的定义,都在这节最末尾
……………………………………………………………………
——————————————————————————
人们总结出在大多数场景好一点的算法,比如支持向量机

1995年发表和创作的,首先来讲解两个基础的概念:线性可分(linear separable)、线性不可分(nonlinear separable)

如上图,假设特征空间是二维的,各个训练样本在特征空间的分布如图所示,可以看到圆圈代表一类,×是另一类,是指存在一条直线分开yuan and cha

而在上图中这种是线性不可分的,上述的例子是在二维中取得的,三维的如下

xi是个向量,yi是xi的标签,我们规定若xi属于c1那么yi = 1,若xi属于c2,yi = -1,这个规定也是人为的,这里的+1或者-1是可以替换的,但是这个是最方便的,=四维的时候也是这样,无法直观看出,因此必须借助数学对其有个定义:
image.png
类别c1和c2,这条直线的方程如图,
image.png
那么刚才的假设大于0还是小于0完全是反的
image.png





5.2问题描述
支持向量机寻找的最优分类直线应该满足三个条件:
(1)该直线分开了两类
(2)该直线最大化间隔(margin)
(3)该直线处于间隔的中间,到所有支持向量距离相等。
……………………………………………………………………
——————————————————————————

如何解决线性可分问题的,如果一个数据集是线性可分的,那么一定存在无数多个超平面将这两个类别完全分开,那么在这无数多个分开各个类别的超平面中,到底哪一个最好呢?

如下图




那么2号线是怎么画出来的?
基于最优化理论
vapnik给出的回答是:假设给出一条分开类别的线,平行移动到如图虚线


我们定义这两条虚线与训练样本接触的训练样本为支持向量,这两条平行线之间的距离叫做间隔,我们想要求的二号线是使间隔(margin)最大的一条线

我们来比较这三条线做出来的间隔:






所有平行于2号线的线所产生的margin都和2号线都是一样大的
为了让找到的直线唯一,那么我们还应该定义这条线应该在上下两个平行线的正中间,也就是说这条线到左右两边的支持向量距离应该相等,因此,在线性可分的情况下,支持向量机寻找的最优分类直线应该满足:

我们上述的讨论是基于二维特征空间的结果
在高维的特征空间中,直线将变成超平面,但是是一致的,
5.3优化问题

在这一讲中讲解如何用严格的数学把这个过程写成最优化的问题:

线性可分的定义:


解释:
w是个向量假设又m个分量,






在高中学过这个是二维的特例:






两者是相等的,

支持向量机的限制条件


上面的限制条件中右边的1可以改为任意正数,

而根据事实1他们代表的是同一个平面,


这是凸优化问题中的二次优化问题


他是一个二次项,


在最优化问题中如果一个问题是一个凸优化问题,那么他已经解决了 因为凸优化问题只有唯一一个全局的最小解,比如
设置梯度不断试探,

不断试探,可以找到某一个w,y最低,在多维且存在限制条件的

因此线性可分条件下的支持向量机求解是凸优化问题,因此可以被快速的解决
我们在这里不去详细的求解如何求解凸优化问题,如果我们把,某一个问题归类为凸优化问题,那么有很方便的算法可以解出,
求解凸优化问题是一个课程感兴趣可以去了解,我们可以用支持向量机的工具包解出w和b,同时把这条直线画出来,
5.4线性不可分的情况下

如果训练样本集是线性不可分的,那么以上的优化问题是i没有解的,也就是不存在w和b,所以需要我们适当放松限制条件,对于每个训练样本





这也就意味着我们不止要让二分之一w模的平方越小越好,也要让




我们在实际的运用过程中会不断的变化c的值,同时对于每一个c

都要同时测定算法的识别率从而选取超参数c,如果一个算法的超参数c越多也就意味着需要手动调节参数的地方越多,

我们会学到很多超参数很多的算法模型,比如人工神经网络,卷积神经网络,下面是在线性不可分形况下应用支持向量机的例子,在这里我们采用第一个目标函数,i的和(另一个是i的平方和)这里取c=10000这样迫使i的和趋近于0,使得最后解出的超平面和线性可分的情况下保持一致,!

有了线性不可分情况下的支持向量机的算法,我们似乎可以解决一切二分类问题,但是这只是错觉,例如下图

这里支持向量机求出来的解,和之前的线性求出来是一样的,结果是不可用的,

线性模型的表现力是不够的,应该是椭圆曲面,而不是直线,所以我们要扩大可选的函数范围,不只是线性的,下一节讲述支持向量机是如何扩大可选函数的范围,从而提高非线性处理的能力,