总结:
机器学习4——没有免费午餐定理
世界上不存在任何一个算法满足任何的一个场景都是最好的
5.1 线性可分定义
本篇给出严格的数学定义、向量形式以及简单的定义,都在这节最末尾
5.2问题描述
支持向量机寻找的最优分类直线应该满足三个条件:
(1)该直线分开了两类
(2)该直线最大化间隔(margin)
(3)该直线处于间隔的中间,到所有支持向量距离相等。
———————————————————————————————————————————————————————————
机器学习4——没有免费午餐定理
世界上不存在任何一个算法满足任何的一个场景都是最好的
……………………………………………………………………
——————————————————————————
哪种机器学习算法更好?这一节从理论上做一个回答,
image.png
image.png
因此没有任何场景都是最好的算法,
image.png
image.png
image.png
image.png
因为评价算法的好坏涉及到对特征空间先验分布的假设,然而没有人知道特征空间先验分布真实的样子,
机器学习5——支持向量机
5.1 线性可分定义
本篇给出严格的数学定义、向量形式以及简单的定义,都在这节最末尾
……………………………………………………………………
——————————————————————————
人们总结出在大多数场景好一点的算法,比如支持向量机
image.png
1995年发表和创作的,首先来讲解两个基础的概念:线性可分(linear separable)、线性不可分(nonlinear separable)
image.png
如上图,假设特征空间是二维的,各个训练样本在特征空间的分布如图所示,可以看到圆圈代表一类,×是另一类,是指存在一条直线分开yuan and cha
image.png
而在上图中这种是线性不可分的,上述的例子是在二维中取得的,三维的如下 image.png
xi是个向量,yi是xi的标签,我们规定若xi属于c1那么yi = 1,若xi属于c2,yi = -1,这个规定也是人为的,这里的+1或者-1是可以替换的,但是这个是最方便的, image.png=四维的时候也是这样,无法直观看出,因此必须借助数学对其有个定义:
image.png
类别c1和c2,这条直线的方程如图,
image.png
那么刚才的假设大于0还是小于0完全是反的
image.png
image.png
image.png
image.png
image.png
5.2问题描述
支持向量机寻找的最优分类直线应该满足三个条件:
(1)该直线分开了两类
(2)该直线最大化间隔(margin)
(3)该直线处于间隔的中间,到所有支持向量距离相等。
……………………………………………………………………
——————————————————————————
image.png
如何解决线性可分问题的,如果一个数据集是线性可分的,那么一定存在无数多个超平面将这两个类别完全分开,那么在这无数多个分开各个类别的超平面中,到底哪一个最好呢? image.png
如下图 image.png 那么这三条直线哪个最好呢,2最好的,这是很奇怪的,因为根据没有免费午餐定理,在没有假设先验条件的时候这三条线应该是相等的,但是为什么我们会认为2号线更好呢?是因为 image.png 我们认为2号线更好是因为以及对训练样本的先验分布有一定的假设:这个假设有很多种比如,假设训练样本的位置在特征空间上有误差, image.png 在这两种误差中2号线能正确分类,由此可得出,2号线对训练样本所处位置的误差的容忍程度是最高的, image.png
那么2号线是怎么画出来的?
基于最优化理论
vapnik给出的回答是:假设给出一条分开类别的线,平行移动到如图虚线
image.png
image.png
我们定义这两条虚线与训练样本接触的训练样本为支持向量,这两条平行线之间的距离叫做间隔,我们想要求的二号线是使间隔(margin)最大的一条线 image.png
我们来比较这三条线做出来的间隔:
image.png
image.png
image.png
image.png 显然2号线的margin比其他的都大,而 image.png 例如 image.png
所有平行于2号线的线所产生的margin都和2号线都是一样大的
为了让找到的直线唯一,那么我们还应该定义这条线应该在上下两个平行线的正中间,也就是说这条线到左右两边的支持向量距离应该相等,因此,在线性可分的情况下,支持向量机寻找的最优分类直线应该满足:
image.png
我们上述的讨论是基于二维特征空间的结果
在高维的特征空间中,直线将变成超平面,但是是一致的,
5.3优化问题
image.png在这一讲中讲解如何用严格的数学把这个过程写成最优化的问题: image.png
线性可分的定义: image.png
image.png
解释:
w是个向量假设又m个分量, image.png
image.png
image.png
image.png
image.png
image.png
在高中学过这个是二维的特例: image.png
image.png
image.png
image.png
image.png
image.png
两者是相等的,
image.png
支持向量机的限制条件
image.png
image.png
上面的限制条件中右边的1可以改为任意正数,
image.png
而根据事实1他们代表的是同一个平面,
image.png
image.png
这是凸优化问题中的二次优化问题
image.png
image.png
他是一个二次项,
image.png
image.png
在最优化问题中如果一个问题是一个凸优化问题,那么他已经解决了 因为凸优化问题只有唯一一个全局的最小解,比如
设置梯度不断试探, image.png
不断试探,可以找到某一个w,y最低,在多维且存在限制条件的
image.png
因此线性可分条件下的支持向量机求解是凸优化问题,因此可以被快速的解决
我们在这里不去详细的求解如何求解凸优化问题,如果我们把,某一个问题归类为凸优化问题,那么有很方便的算法可以解出,
求解凸优化问题是一个课程感兴趣可以去了解,我们可以用支持向量机的工具包解出w和b,同时把这条直线画出来,
5.4线性不可分的情况下
image.png如果训练样本集是线性不可分的,那么以上的优化问题是i没有解的,也就是不存在w和b,所以需要我们适当放松限制条件,对于每个训练样本 image.png
image.png
image.png
image.png
image.png
这也就意味着我们不止要让二分之一w模的平方越小越好,也要让 image.png 越小越好,在这里有一个比例因子c起到了平衡两项的作用, image.png
image.png
image.png
我们在实际的运用过程中会不断的变化c的值,同时对于每一个c image.png
都要同时测定算法的识别率从而选取超参数c,如果一个算法的超参数c越多也就意味着需要手动调节参数的地方越多,
image.png
我们会学到很多超参数很多的算法模型,比如人工神经网络,卷积神经网络,下面是在线性不可分形况下应用支持向量机的例子,在这里我们采用第一个目标函数,i的和(另一个是i的平方和)这里取c=10000这样迫使i的和趋近于0,使得最后解出的超平面和线性可分的情况下保持一致,! image.png
有了线性不可分情况下的支持向量机的算法,我们似乎可以解决一切二分类问题,但是这只是错觉,例如下图 image.png
这里支持向量机求出来的解,和之前的线性求出来是一样的,结果是不可用的, image.png
线性模型的表现力是不够的,应该是椭圆曲面,而不是直线,所以我们要扩大可选的函数范围,不只是线性的,下一节讲述支持向量机是如何扩大可选函数的范围,从而提高非线性处理的能力,
网友评论