您的位置:首页 > 其它

台湾国立大学机器学习技法.听课笔记(第三讲) :Kernel Support Vector Machine

2015-09-10 13:03 375 查看
台湾国立大学机器学习技术.听课笔记(第三讲)

:Kernel Support Vector Machine

一,kernel trick(kernel技巧)

1,kernel 的引出

对偶SVM的目标是:



但是正如上一讲中对偶问题讲到的,我们还隐藏计算q_(n,m)时要依据d~来看SVM的计算量。我们算q_(n,m) 时是先转换后计算,那我们想能不能用其他方式减少q_(n,m)的计算量,让它比O(d~)更小。
Z的Feature Transform其实就是先转换空间(能量),然后再进行内积相乘。那我们把x转换到z的feature transform写成二次多项式转换,然后把二次多项式带入进行算术运算,看能不能简化计算量。



带入一看,结果计算量已经进一步的减小了。



2,kernel 的定义

所以在处理SVM问题上,我们把transform + Inner Product称之为kernel,所以我们用Φ_2解决上一讲中的SVM问题:



在dual SVM的问题中,我们在三个地方用上了kernel,分别是:



这样运用kernel trick就真正可以不需要去考虑d~的算术大小了。

3,把kernel加入kernel dualSVM,在QP中运算。

Dual SVM在QP(二次规划)上的步骤是:



那我们用上kernel 时,我们运算量将进一步的减少,而且于d~的大小不相关:




二,Polynomial Kernel

1,一般的二次规划问题的kernel

一般的二次规划问题的kernel可以进行缩放,让它成为更加一般的形式:



上式的K_2中,改变γ,会产生不同的结果。结果好坏得看具体情况而定。

2,把kernel从2次扩展到N次



这样把K_Q嵌入到Φ_Q中,可能算出的结果不会差,而且计算量并没有增加多少。



这样,我们就有了kernel + Polynonial的定义:



但是我们一般计算时,还是从简单的一次多项式开始,即K_1。



三,Gaussian Kernel(高斯核)

我们上边说的多项式的Kernel是把x转换到有限维度上去,那么如果kernel是无限维度的话,行不行呢?

其实是可以的,我们在这就引出了高斯kernel的概念。



其转换到的空间就是:



更为一般的Gaussian Kernel是:



如果把上式的Gaussian kernel带入到kernel SVM中,我们就能得到



Gaussian kernel就是找到SV的点,把高斯kernel带入到SVM中,使得其投影到无限的空间维度。

我们之前得到的Dual SVM +kernel的特点是:



Gaussian kernel依然符合这个特点。

但是Gaussian kernel存在过拟合,我们要认真选择γ。



四,Comparison of kernel

先是线性的kernel:



再是多项式的kernel:



最后是Gaussian kernel:





所以:



总结:

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