机器学习从入门到创业手记-2.1.3 SVM与分球法则

第三天战情室。

 

       杨导师:今天的课程比较叫如何给五岁讲懂SVM[1],这也是我看到国外大神的博客里写的,看看诸位的智力如何?SVM的概念起始于一个故事,一个穷小子看上了女孩,并向女孩子表白了,女孩子心里虽然高兴但却要保持必要的矜持,所以给男孩出了一个游戏挑战,并表示你能挑战成功,我就答应你。挑战的内容大家看图2.1.3.1,这里有若干蓝色的球和红色的球放在一张纸上,我给你一个木根你要把它们分开。

 

 

http://bytesizebio.net/wp-content/uploads/2014/02/svm1-300x225.png

图2.1.3.1

 

       男孩心想这也太容易了吧,说着摆好了木棍的位置,见图2.1.3.2。

 

图2.1.3.2

 

       这时女孩拿起了一个红球放到了蓝色球的里面,如图2.1.3.3。

图2.1.3.3

 

       这对男孩也没有什么难度,他把木棍又调整了一下如图2.1.3.4。

 

图2.1.3.4

 

 

这时女孩把所有球打乱了,乱到用棍子根本无法分隔了,如图2.1.3.5。

 

https://pic4.zhimg.com/80/558161d10d1f0ffd2d7f9a46767de587_hd.png

图2.1.3.5

 

 

 

男孩左思右想,突然把所有球都抛向空中,这时他拿起了地面上的那张纸眼疾手快的插入空中的球中间。参看图2.1.3.5。从女孩的角度看到球确实都被分开了。女孩视角如图2.1.3.6。

 

https://pic4.zhimg.com/80/55d7ad2a6e23579b17aec0c3c9135eb3_hd.png

图2.1.3.5

 

https://pic3.zhimg.com/80/e5d5185561a4d5369f36a9737fc849c6_hd.png

图2.1.3.6

 

杨导师:安逸你从这个故事里读到了什么?

 

我:如果女孩愿意接受你就会给你机会的。

      

杨导师:额。。。我讲的是课程,这个故事讲的分类过程叫做支持向量机,简称SVM,这里需要被分离的红色和蓝色的球被叫做数据,棍子叫做分类器,把球抛向空中,将二维平面变为三维空间的动作叫做Kernelling,最后分类那张纸叫做超平面,开始在二维空间上做分隔,所以用一条直线就可以实现,直线属于一维空间,当我们变为在三维空间分隔时,我们需要一个平面来分隔,平面属于二维空间,这里SVM用于分类的超平面是数据集的N-1维。我们进行分隔时会有多个超平面都符合标准,那么去选择哪个超平面来作为最优解呢,我们来看图2.1.3.7,找到最佳分隔超平面先要找到距离分隔超平面最近的点,这里点到分隔面的距离称为margin,也就间隔,我们希望间隔尽可能地大,这是因为如果在有限数据训练分类器的话,要最大程度分类器的正确性。这些离分隔超平面最近的点被称为Support vector,中文支持向量,接下来要做的是找到距离这些支持向量最大的分隔面,这个分隔面就是SVM最终需要的超平面。

 

 

图2.1.3.7

 

        

       这时高维举起手来说:杨老师您知道我数学底子不好,但这几天晚上我都会去找刘思聪给我辅导一下基础知识,他说现在他们也在做SVM相关的工作,好像是个对偶问题,我不太懂能给解释一下给我们听么?我不想被落下的太远。

 

       杨导师:对偶问题可以理解为一个问题的两个方面,比如你们在北京租房,房东想的是多收租金,而房客想的是少付租金,这就是对偶,房客和房东从不同角度去解决一个相同的问题就是房租的价格,而价格最终是唯一的,从对偶问题可以引出本节课的总结, SVM是用来做二分类问题的,其具有较低错误率,良好的学习能力,是监督学习中应用比较广泛的算法之一 ,其过程是求解一个最大化分类分隔问题,若问题在低维空间中无法解决时,需要用到Kernelling,也就是核函数来将低维空间变化到高维空间来求解。


[1] http://bytesizebio.net/2014/02/05/support-vector-machines-explained-well/

猜你喜欢

转载自blog.csdn.net/yoki2009/article/details/88417458