机器学习技法笔记-Lecture 3 Kernel support vector machine

上一节说到,如果新的空间维度很高,计算耗时,那z的内积能不能先在原始x空间计算好了再应用到z空间呢?

 

举了一个转化到二阶空间的例子,其实可以先在x空间做内积,减少计算量

这种转换叫做kernel function

它将z'z的内积表示成x’x的函数。

 

经过替换,在SVM中一些式子的就可以如下表示。kernel trick是一个避免了在高纬度空间进行计算的方法。

 

更一般的kernel

称为线性核,就是普通的内积,在primal形式下也容易求解。模型选择的时候还是先从linear开始。

 

能不能对x做无限维的变换呢?有了kernel就能做到。

这里就是把x变换为了无穷维……这种kernel称为高斯核。

 

把g的表达式写一下,就像是将 每个以一个sv为中心的高斯函数 线性组合了一下。

所以使用高斯核的SVM的本质:

 

SVM如果参数选择不好仍然会overfit

 

几种kernel的比较:

linear kernel 简单快速可解释性强,只能对线性可分数据集

 

polynomial kernel 线性不可分情况可处理,比linear灵活,参数选择困难

Gaussian kernel 参数选择问题...

 

kernel描述了一种相似性

自己可以构造kernel,必须符合mercer's condition。对称、半正定。

posted @ 2017-06-20 17:02  Akane  阅读(291)  评论(0编辑  收藏  举报