一、什么是支持向量机(SVM)
支持向量机作为传统机器学习的一个非常重要的分类算法。
支持向量机的基础概念可以通过一个简单的例子来解释,
让我们想象有两个类别:红色和蓝色,我们的数据有两个特征:x和y。我们想要得到一个分类器,能够区分出下图的类别:

训练数据
支持向量机会接受这些数据点,并输出一个超平面(在二维的图中,就是一条线)以将两类分割开来。这条线就是判定边界:将红色和蓝色分开。如下图所示:

但是,最好的超平面应该是什么样子的?对于SVM来说,它是最大化两个类别边距的那种方式,换句话说:超平面(本例中是一条线)对每个类别最近的元素距离最远。则可得到如下超平面(本例是一条直线)

上面的例子很简单,因为那些数据是线性可分的-------我们可以通过一条直线来简单地分割红色和蓝色。然而,大多数情况下事情没有那么简单。如下例子

很明显,无法找出一个线性决策边界(一条直线分开两个类别)。然而,两种向量的位置分得很开,看起来应该可以轻易地分开它们。这个时候我们引入第三个维度。迄今为止,我们只有两个维度:x和y。当我们加入z维度,并且让它以直观的方式出现:z=x^2+y^2(没错,圆形的方程式),于是我们可以看到这样一个三维空间:

这时,支持向量机会如何区分它呢?很简单,如下图:

这时超平面就是z某个刻度上(比如z=1)一个平行于x轴的平面。它在二维上的投影是这样:

以上是关于支持向量机比较通俗的解释。
未完待续