SVM学习笔记(一):svm的初步认识

今天看到一个帖子对初学者理解SVM很有用也有趣

在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。

魔鬼在桌子上似乎有规律放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”

SVM学习笔记(一):svm的初步认识

于是大侠这样放,干的不错?

SVM学习笔记(一):svm的初步认识

然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。

SVM学习笔记(一):svm的初步认识

SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙。(划重点!!!插入这幅图目的是最下面解释,笔记字丑勿喷

SVM学习笔记(一):svm的初步认识

现在即使魔鬼放了更多的球,棍仍然是一个好的分界线。

SVM学习笔记(一):svm的初步认识

然后,在SVM 工具箱中有另一个更加重要的 trick。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战。

SVM学习笔记(一):svm的初步认识

现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间。

SVM学习笔记(一):svm的初步认识

现在,从魔鬼的角度看这些球,这些球看起来像是被一条曲线分开了。

SVM学习笔记(一):svm的初步认识

再之后,无聊的大人们,把这些球叫做 「data」,把棍子 叫做 「classifier」, 最大间隙trick 叫做「optimization」, 拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」。

svm的最大特点是能够构造出最大间距的决策边界,从而提高分类算法的鲁棒性。

SVM学习笔记(一):svm的初步认识

 

大间距分类算法
假设要对一个数据集进行分类,如上图所示,可以构造一个分隔线把圆形的点和方形的点分开。这个分隔线称为分隔超平面(Separating hyperplane).
从图中可以明显看出,实线的分隔线比虚线的分隔线更好,因为使用实线的分隔线进行分类时,离分隔线最近的点到分隔线上的距离更大,即 margin2>margin1。这段距离的两倍,称为间距(margin)。那些离分隔超平面最近的点,称为支持向量(supportvector)。为了达到最好的分类效果,SVM的算法原理就是要找到一个分隔超平面,它能把数据集正确地分类,并且间距最大。

 

 

看到这,你一定对SVM算法产生了兴趣,下次将学习sklearn中的svm应用