《机器学习中的数学》—— 理解SVM原理第一层

了解SVM

支持向量机,因其英文名为suport vector machine,故简称SVM,通俗的来讲,它是一种二分类模型,其基本模型定义为:特征空间上的间隔最大的线性分类器,其学习策略是:间隔最大化,最终可以转化为一个凸二次规划问题的求解。

1.1分类标准的起源:Logistic回归

理解SVM,首要问题是理解:线性分类器。

给定一些数据,它们分属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类。
如果用xx表示数据点,用yy表示类别(y11y可以取1或者-1,分别代表了正负样本),一个线性分类器的学习目标是在n维空间中找到一个超平面(hyper plane),这个超平面的方程可以表示为(其中w,b是要学习的参数,w抽象为表示n维特征(x向量)上的权重,b为一个偏置值):
wTx+b=0 w^Tx+b=0
关于yy的值为什么取111和-1,此问题来源于Logistic回归。
Logistic回归目的是从特征中学习出一个0/10/1分类模型,而这个模型是将特征的线性组合作为自变量,由于自变量的取值范围是负无穷到正无穷。因此,使用Logistic函数(sigmoid函数)将自变量映射到(0,1)上,映射后的值 被认为是属于y=1y=1的概率。
假设函数:
hθ(x)=g(θTx)=11+eθTx h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta ^Tx}}
其中x是n维向量,函数g就是Logisitic函数,θθ0,θ1,θ2,...,θn)\theta为(\theta_0,\theta_1, \theta_2, ...,\theta_n)是一组对特征xx的参数。
其中g(z)=11+ezg(z)=\frac{1}{1+e^{-z}}
《机器学习中的数学》—— 理解SVM原理第一层
可以看到,将xx的所有值都映射到了01(0-1)之间。
sigmoid函数增加了线性模型的鲁棒性,利用概率的形式避免了难以准确分类的情况。
接下来,尝试把Logistic回归做一个变型,首先将标签y=0变为y=-1,然后将θTx=θ0+θ1x1+...+θnxn\theta^Tx=\theta_0+\theta_1 x_1+...+\theta_n x_n中的θ0\theta_0替换为bb,将后面的θ1x1+...+θnxn\theta_1 x_1+...+\theta_n x_n替换成wTxw^Tx,如此就有了θTx=wTx+b\theta^Tx=w^Tx+b,因此除了y的变化,线性分类器和Logistic回归形式表示没有区别。

1.2 线性分类的一个例子

举一个简单的例子作为引入:如图所示,现有一个二维平面,平面上有两种不同的数据,假设这些数据的线性可分的,其中的超平面是一条直线。
《机器学习中的数学》—— 理解SVM原理第一层
这个超平面可以用分类函数f(x)=wT+bf(x)=w^T+b表示,当f(x)f(x)等于0时,x便位于超平面上,而f(x)>0f(x)>0对应的点y=1y=1,反之f(x)<0f(x)<0的点y=1y=-1,如图所示:
《机器学习中的数学》—— 理解SVM原理第一层