台湾国立大学机器学习技法.听课笔记(第三讲) :Kernel Support Vector Machine
2015-09-10 13:03
375 查看
台湾国立大学机器学习技术.听课笔记(第三讲)
:Kernel Support Vector Machine
但是正如上一讲中对偶问题讲到的,我们还隐藏计算q_(n,m)时要依据d~来看SVM的计算量。我们算q_(n,m) 时是先转换后计算,那我们想能不能用其他方式减少q_(n,m)的计算量,让它比O(d~)更小。
Z的Feature Transform其实就是先转换空间(能量),然后再进行内积相乘。那我们把x转换到z的feature transform写成二次多项式转换,然后把二次多项式带入进行算术运算,看能不能简化计算量。
带入一看,结果计算量已经进一步的减小了。
在dual SVM的问题中,我们在三个地方用上了kernel,分别是:
这样运用kernel trick就真正可以不需要去考虑d~的算术大小了。
那我们用上kernel 时,我们运算量将进一步的减少,而且于d~的大小不相关:
上式的K_2中,改变γ,会产生不同的结果。结果好坏得看具体情况而定。
这样把K_Q嵌入到Φ_Q中,可能算出的结果不会差,而且计算量并没有增加多少。
这样,我们就有了kernel + Polynonial的定义:
但是我们一般计算时,还是从简单的一次多项式开始,即K_1。
其实是可以的,我们在这就引出了高斯kernel的概念。
其转换到的空间就是:
更为一般的Gaussian Kernel是:
如果把上式的Gaussian kernel带入到kernel SVM中,我们就能得到
Gaussian kernel就是找到SV的点,把高斯kernel带入到SVM中,使得其投影到无限的空间维度。
我们之前得到的Dual SVM +kernel的特点是:
Gaussian kernel依然符合这个特点。
但是Gaussian kernel存在过拟合,我们要认真选择γ。
再是多项式的kernel:
最后是Gaussian kernel:
所以:
: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:
所以:
总结:
相关文章推荐
- hdu1848 Fibonacci again and again(SG游戏功能)
- hdu 5030 Rabbit's String(后缀数组&二分法)
- SQL SERVER镜像配置(包含见证服务器)
- 模态窗口,在IE下是模态,在FF下不是模态,作了最大的努力来实现通用
- solr4.7学习
- svn系列之六基本操作——手动删除文件
- CSS灵活运用expression来区分只读文本框
- SQL非域环境下带自动故障转移数据库镜像的实现方法(包括镜像服务器)
- jTemplates——学习(1)
- session保存至mongodb
- Unity延迟执行一段代码的较为优雅的方式
- 直接让浏览器下载文件而不打开
- svn系列之五基本操作——手动添加文件
- BufferedReader重新定位到文件首位置,每一次读完之后重新定位到文件首位置继续读入
- apk的签名加密
- 用JS 对对象添加事件
- 常用工具 -- 产品经理
- 如何把Java Script写成类
- hive、Hasee、pig区别.docx
- 前端常用的一些方法