支持向量机(Support Vector Machines, SVM)是一种二类分类模型。根据模型的复杂程度可以分为线性可分支持向量机、线性支持向量机及非线性支持向量机。简单模型是复杂模型的基础,也是复杂模型的特殊情况。本文假设训练数据线性可分,介绍了线性可分支持向量机如何通过硬间隔最大化(Hard Margin Maximization)来学习一个线性的分类器。
假定训练数据集:
x_i(本文以“_”表示下标)为第i个特征向量,y_i为x_i的类标记,当y_i=+1时,称x_i为正例;当y_i=-1时,称x_i为负例,(x_i,y_i)称为样本点,再假定训练数据集是线性可分的。学习的目标是找到一个超平面,将所有样本点分类,即将正例分为一类,将负例分为另一类。关于超平面的定义,可见维基百科。简单地说,以二维空间为例,在一个平面上,超平面是由满足ax+by=c方程的点构成,即平面上的一条直线,将该平面划分为两类;以此类推,在三维空间中,超平面是由满足ax+by+cz=d方程的点构成,即空间中的一个面,将空间划分为两类。为了能够在任意维度划分空间,超平面的方程常常表示成wx&#