机器学习笔记6

来源:互联网 发布:linux命令怎么退出vi 编辑:程序博客网 时间:2024/06/05 03:43

核函数



在节中,我们的SVM分类器可以实现分类了

 

对于一个新的样本x,我们只需要计算这个新样本与训练集的內积即可,而且只会计算支持向量的內积,因为其他向量的=0。

实际上,对于一个线性不可分样本集,我们一般做法是将其映射到更高甚至无限高的维度空间,来在高维情况下进行SVM分类

例如

这时,我们用代替x即可。并令 其中即被称为核函数

假设这里写图片描述
这里写图片描述
可以写成,这里写图片描述
以n=3为例,这里写图片描述

可以看出没有核函数,计算复杂度为,利用核函数只有

直观上来说,如果这里写图片描述这里写图片描述很近,我们可能认为这里写图片描述很大,相反,如果很远–几近正交,则这里写图片描述很小. 因此,我们可以认为这里写图片描述可以看作是这里写图片描述相似度的一种测量. 例如,或许选择,这里写图片描述,这是一种合理的测量方法,当x和z很近时值接近于1,很远时值接近0. 在特定的例子中是可以作为SVM的核的. (这个核叫做高斯核 Gaussian kernel,映射到一个无限维的特征)

还有一种常用的核函数是

定理(Mercer):给定K,这里写图片描述是给定的,对于一个确定的核,它的充分必要条件是相应的核矩阵式对称半正定的.

实际上核函数是一个比SVM更广泛的概念,只有遇到內积形式,都可以转换为核函数,从而在高维解决低维不可分问题。

软边界

正则化和不可分的例子(regularization and the non-separable case)
到目前为止,我们讨论SVM时认为数据是线性可分的, 把数据映射到高维空间一般会增加线性可分的可能性,但是我们不能保证一定可以.

左图显示的是一个最优间隔分类器,但是如果在左上区域加上一个异常值,决定边界线会发生剧烈的变化,
导致分类器有更小的边界.
这里写图片描述

为了使算法能够处理非线性可分的数据集并且对异常值不会这么敏感, 修订优化问题如下,加了一个正则化因子:
这里写图片描述

因此,样本现在允许边界小于1.

其对偶问题为:


而且我们可以得出:



SMO算法

SMO = sequential minimal optimization

坐标上升(Coordinate ascend)
对于没有限制的优化问题:
这里写图片描述,除了用梯度上升和牛顿方法,还能使用坐标上升算法:
这里写图片描述
下图是坐标上升执行的一个过程:
这里写图片描述

但是我们现在解决的问题是有约束的

这是我们要解决的对偶问题:
这里写图片描述

这里不能直接使用坐标上升算法,因此(19)的限制. 因此我们至少要同时改变两个才能满足限制. 因此:
这里写图片描述

SMO算法之所以高效是能够很高效的计算出ai,aj.

以改变a1,a2为例,这里写图片描述)所以

带入到W中,我们得到W关于一个二次函数,很容易求得的最优值

a1、a2的限制如下图所示:
这里写图片描述
得到:
这里写图片描述
之后计算出a1的值.



0 0
原创粉丝点击