SVM(Support Vector Machine)翻译成中文是支持向量机, 这里的“机(machine,机器)”实际上是一个算法。而支持向量则是指那些在间隔区边缘的训练样本点[1]。
当初看到这个定义关于支持向量还是不清楚,直到前两天好像突然明白了。
先看一种简单情形,二维问题的二分类问题,见下图
把我们要求的东西叙述一下,就是图中的H1和H2。好了,描述H1和H2只不过是两条直线而已,而只要给出直线上两个点就可以确定一条直线,图中的两条直线只需要四个点即可,这四个点就是所谓的支持向量。
三维问题的二分类问题,无非是确定两个平面(六个点,即六个支持向量)。推而广之,那么n维问题的二分类问题,要求确定两个n-1维的平面。
关于二维问题的多分类问题可以类似地去推广,只不过这个时候涉及到一些较复杂的边界相交等问题。
PS:如果细心的同学会发现,上面的假设有些过于强大了,拿二维情况来说,很有可能样本点依靠两条直线根本分不开。是的,这个时候就是核函数显身手的时候了,简单而言,它把低维的非线性可分问题转化为高维的线性可分问题。