支持向量机教程


1 数学基础

    1.1 什么是支持向量?

    1.2 什么是超平面?

    1.3 超平面数学方程

    1.4 点到平面的距离

    1.5 函数间隔和几何间隔

2 SVM内容

    2.1 SVM的数学表达式

    2.2 对偶问题

    2.3 拉格朗日函数

    2.4 拉格朗日乘子法

3 扩展服务

    3.1 扩展服务

SVM的通俗理解

阅读次数:1267 次

这是一个游戏,参加游戏的人是小A和小B。小A在桌子上放了两种颜色的球,然后对小B说:你能用一根棍把它们分开吗?

随后,小B看了一眼,感觉很容易实现,抬手就搞定了:

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

这时,小B轻轻调整棍子,又一次分开了两种颜色的小球。

小A看难不倒小B,于是增加了游戏的难度:

小B静静地看了一会儿,然后大吼一声,用掌拍向桌子,球飞到空中。说时迟那时快,小B抓起一张纸,插到了两种球的中间。

此时小A看呆了,从空中的角度看这些球,这些球看起来像是被一条曲线分开了。

这个小游戏就是一个分类问题。当数据是线性可分的,也就是用一根棍就可以将两种小球分开的时候,只要将棍的位置放在让小球距离棍的距离最大化的位置即可,寻找这个最大间隔的过程,就叫做最优化。

但是,现实往往是很残酷的,一般的数据是线性不可分的,也就是找不到一个棍将两种小球很好的分类。这个时候,我们就需要像小B一样,将小球拍起,用一张纸代替小棍将小球进行分类。想要让数据飞起,我们需要的东西就是核函数(kernel),用于切分小球的纸,就是超平面。