您的位置:首页 > 其它

[置顶] 台大机器学习笔记-Kernel 支持向量机

2016-06-12 20:43 295 查看
Kernel support vector machine

1.在上一讲中我们已经推出了对偶问题的二次规划问题:



在解这个二次规划问题的时候,变量和条件的数量都在N左右,跟特征维数看似没什么关系了,但是仔细看q_(n,m),里面依旧包含了特征维数,那么在求解释,如果特征维数很高,求解二次规划的为题依然很难!为了加速q的求解,让两个Z的内积更快。

如果从x空间来看,Z的内积可已看作两个步骤,就是先将x转换到Z空间,再做内积,即:



2.那么此时我们是否能找到一种方法直接将这两个步骤联合起来,专业术语叫做偷吃步,那么如何能做到这一点呢?



假设Z中最高次为二次项,那么x转化到Z空间就如ϕ_2 (x),那么Z的内积就可以有图中推导所得,可以发现,此时的Z的内积,本来要花两步,现在只用求解x空间x自身的内积就够了!那么此时达到了一个什么效果,就是在求解对偶问题中二次规划里的q是,我们彻底特征维数的限制。此时我们就把这个转换称为,核函数:



3.那么根据这个核函数的定义以及前面对偶形式得出的支持向量机的条件,我们可以化简很多求解的公式:



那么在整个SVM的求解过程中,都可以用到这个偷吃步,kernel trick!



5.以上介绍只是特殊的二次转换,当然一般多项式核的形式为:



当其中的系数为0,1,1时就是我们熟悉的最简单的线性核函数。在机器学习实践的过程中,可以先试线性核,效果不好的时候再去采用更高次的核。

6.以上的核最多也是在Q次多项式,那么如果我们想将偷吃步做到极致,就是Z空间里特征的维数为无限多维,那么在这种情况下我们怎样通过偷吃步也能进行有效的计算,那么就引入了高斯核函数,那么为何高斯核为何是两个无限多维的Z的内积呢?推导如下:





那么此时我们将之前的Z的内积换成现在的高斯核,就能求解SVM问题,那么它的SVM结果就是基于支持向量的高斯函数的线性组合,且将x映射到了无限多维的空间里面:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: