先贴一下cs229课程的官网地址:http://cs229.stanford.edu/
刚开始学习SVM的时候对于该算法中什么是模型,什么是损失函数一直搞不清楚。所以记录一下由直观的现实问题转化到严谨的数学公式的过程。即本篇的最终目的是得到如下约束问题:
$$\min_{w,b}\frac{1}{2}||w||^2$$
$$st. y^{(i)}(w^Tx^{(i)} + b) \ge 1$$
至于怎样解决该约束问题,不做讨论。
先从最简单的开始,我们要设计一个解决二分类问题的模型,该模型功能并不强大,它只能解决严格线性可分的问题。对于正例模型输出+1,对于负例模型输出-1。我们的模型中有一个分割超平面:\(w^Tx+b=0\),该分割超平面肯定能将数据分类正确,即\(sign(y) = sign(w^Tx+b)\)(\(sign(\cdot)\)是取符号的意思)。
训练集:\(S=\{(x^{(i)}, y^{(i)})\}\),\(y^{(i)} \in \{-1,+1\}\),\(i=1,...,m\),其中\(m\)为样本条数
模型:\(h_{w,b}(x) = g(w^Tx+b)\)其中\(g(z)= \begin{cases} +1, & \mbox{z} \ge 0 \\ -1, & \mbox{z} < 0 \end{cases}\)
点到直线的距离推广到高维空间:\(d = \frac{|w^T\vec X+b|}{||w||}\)
定义单个样本点到分割超平面的几何距离为\(\gamma^{(i)}\),由上面的公式可知:\(\gamma^{(i)} = \frac{|w^Tx^{(i)}+b|}{||w||}\)
由于训练集中\(y^{(i)} \in \{-1,+1\}\)并且\(sign(y^{(i)}) = sign(w^Tx^{(i)} + b)\),所以可以将分子中的绝对值符号去掉。所以有单个样本点到分割超平面的几何距离:\(\gamma^{(i)} = \frac{y^{(i)}(w^Tx^{(i)} + b)}{||w||}\)
定义整个训练集到分割超平面的几何距离为离分割超平面最近的那个样本点到分割超平面的距离:\(\gamma = \min_i \gamma^{(i)} = \min_i \frac{y^{(i)}(w^Tx^{(i)} + b)}{||w||}\)
定义单个样本点到分割超平面的函数距离:\(\hat{\gamma}^{(i)} = y^{(i)}(w^Tx^{(i)} + b)\)
定义整个训练集到分割超平面的函数距离为离分割超平面最近的那个样本点到分割超平面的距离:\(\hat{\gamma} = \min_i \hat{\gamma}^{(i)} = \min_{i} y^{(i)}(w^Tx^{(i)}+b)\)
至此我们定义了四个概念:
1.单个样本点到分割超平面的函数距离:\(\hat{\gamma}^{(i)} = y^{(i)}(w^Tx^{(i)} + b)\)
2.整个训练集到分割超平面的函数距离:\(\hat{\gamma} = \min_i \hat{\gamma}^{(i)}\)
3.单个样本点到分割超平面的几何距离:\(\gamma^{(i)} = \frac{y^{(i)}(w^Tx^{(i)} + b)}{||w||}\)
4.整个训练集到分割超平面的几何距离:\(\gamma = \min_i \gamma^{(i)}\)
对这四个概念涉及的性质,以及这四个概念与SVM算法之间联系的说明:
说明1. SVM的直观想法是:在整个训练集中距离分割超平面最近的点,跟分割超平面的距离越远越好。用上我们上面的概念即为\(\max \gamma\),我们这里只是大概的表述一下,并不严谨。
说明2. 给定一个样本点和分割超平面,那么该样本点到分割超平面的几何距离就是确定的,不会改变。而该样本点到分割超平面的函数距离是可以变化的,这取决于我们怎样同等程度的改变w和b。比如样本点为\((x^{(k)}, y^{(k)})\),分割超平面为\(w^Tx+b=0\),那么函数距离:\(\hat{\gamma}_{old} = y^{(k)}(w^Tx^{(k)} + b)\);当我们把w变为2w,把b变为2b分割超平面就变成了\(2w^Tx+2b=0\),很容易看出这实际上没有改变分割超平面,但函数距离变为了\(\hat{\gamma}_{new} = y^{(k)}(2w^Tx^{(k)} + 2b) = 2\hat{\gamma}_{old}\)。这是函数距离的一个很重要的性质,我们后面会用到。
说明3. 几何距离实际就是归一化后的函数距离,即\(\gamma = \frac{\hat{\gamma}}{||w||}\)
用上前面定义的概念,我们来给出一个SVM问题的第一个严谨的描述:
$$\max_{w, b} \gamma$$
$$st. y^{(i)}(w^Tx^{(i)} + b) = \hat{\gamma}^{(i)} \ge \hat{\gamma}$$
说明:(1)最优化问题为使训练集到分割超平面的几何距离取得极大值;(2)训练集內的任何样本点到分割超平面的函数距离要大于等于训练集到分割超平面的函数距离。
令\(\hat{\gamma} = 1\),有\(\gamma = \frac{\hat{\gamma}}{||w||} = \frac{1}{||w||}\),使用该式对SVM问题做变形得:
$$\max_{w,b} \gamma = \max_{w,b} \frac{1}{||w||}$$
$$st. y^{(i)}(w^Tx^{(i)} + b) = \hat{\gamma}^{(i)} \ge 1$$
说明:这里为什么可以令\(\hat{\gamma}\)等于1?在上文的“定义一些概念”部分的“说明2”中我们得出,在不改变样本点和分割超平面的情况下,通过给w和b同时乘以一个相同倍数的方法,我们可以使函数距离取得任意值,所以这里为了后续的计算方便,将函数距离\(\hat{\gamma}\)设为了1。
由于\(\max \frac{1}{||w||}\)与\(\min ||w||\)效果是相同的,我们再做一下变形,另外为了计算方便,再取平方并乘以\(\frac{1}{2}\),这些变化所得到的结果与原问题是等价的:
$$\min_{w,b} \frac{1}{2}||w||^2$$
$$st. y^{(i)}(w^Tx^{(i)} + b) \ge 1$$
至此就推导出了我们的目标。