首页 > 技术文章 > 25-在SCIKIT-LEARN中使用SVM

turingbrain 2017-10-15 20:18 原文

如果你在现实生活中找不到方向,对任何事情提不起兴趣;或自我感觉过于良好,觉得在茫茫人海中鹤立鸡群——重新去学数学吧,它会给你当头一瓢冷水,你先是一激灵,然后竟然神清气爽:从此一览众山小,回到平凡庸碌的工作中,感觉就是在搬砖啊:)用小宝的话说:没问题,这对我来说就是游戏(我让她帮忙撕新家具上的贴纸时她的原话)。

 

上周我尝试接近SVM这块硬骨头,发现很难下口。大家可以通过阅读下面链接的文章来有个大概了解,对于公式推导的过程可以不求甚解:https://raw.githubusercontent.com/liuzheng712/Intro2SVM/master/Intro2SVM.pdf

 

读了这篇文章,相信你对为啥要求特征空间中样本之间的内积,核函数的本质是把特征空间投影和内积合在一起计算等概念有个感性认识。

 

下面示范如何在SCIKIT-LEARN中使用SVM:

 

SVM 也可以解决非线性分类问题,下面是一个人工制造的非线性分类例子:

下面使用 svm kernel 方法, 投射到高维度中, 使之成为线性可分离的。rbf 是指 radial basis function kernel 或者 Gaussian kernel。

gamma parameter 可以被理解为 cut-off parameter for Gaussian sphere, gamma 增加, 也就增加了训练样本的影响, 也就会使决策边界变得模糊。

 

下周学习简单又好用的KNN算法,敬请期待:)

推荐阅读