SVM 的一些疑问
statistic
本文字数:1.3k 字 | 阅读时长 ≈ 6 min

SVM 的一些疑问

statistic
本文字数:1.3k 字 | 阅读时长 ≈ 6 min

1. 为什么 SVM 问题中的正类 y=-1,负类 y=1

我们知道任一点到超平面的距离为
\[ \frac{|w^{T}x+b|}{||w||} \]
在之前的描述中我们知道函数间隔\(\hat{\gamma} = |w^{T}x+b| = y(w^{T}x+b)\),几何间隔\(\gamma = \frac{|w^{T}x+b|}{||w||} = \frac{y(w^{T}x+b)}{||w||}\),我们发现加上\(y\)之后就可以去绝对值,即对于正分类点

那么这就是\(y\)取\(+1, -1\)的原因吗,有一部分原因是这样的,但也不完全是,这样做最大的好处就是计算简便,同时理解起来也更容易,看下面的解释

首先我们要明白这是一个二分类问题,既然是二分类问题,那么\(y\)就只需要取两个值就可以了,当我们的分类点位于超平面的两侧时,恰好符号分别为正负,所以我们取了\(-1, +1\),当然也可以取\(-10, +10\),\(-11, +4\),甚至还可以取\(+1, +2\),因为归根结底我们只需要两个不同的数就可以代表二分类问题了。我们用\([+1, +2]\)举个例子,在之前我们判断一个误分类点的方法是
\[ \begin{aligned} y(w^{T}x+b)>0~~~T \\ y(w^{T}x+b)<0~~~F \end{aligned} \]
那么现在我们修改了\(y\)代表的分类值,判断方法就变为
\[ \begin{aligned} (y-1.5)(w^{T}x+b)>0~~~T \\ (y-1.5)(w^{T}x+b)<0~~~F \end{aligned} \]

2. 为什么在求解SVM时,令分子等于1?

SVM中求几何间隔的形式为\(\frac{y(w^{T}x+b)}{||w||}\),然后我们令分子等于1,即函数间隔等于1,将上述问题转化为
\[ max = \frac{1}{||w||}~~~st.~y_{i}(w^{T}x_{i}+b) \geq 1~~i=1,...,n \]
为什么可以这样做呢?首先看上述公式我们在\(y_{i}(w^{T}x_{i}+b) \geq 1\)时已经默认令函数间隔\(\hat{\gamma}=1\)了,其实最初的形式为
\[ \underset {w,b}{\operatorname {max}} ~~~ \gamma~~~~st.~\frac{y_{i}(w^{T}x_{i}+b)}{||w||} \geq \gamma~~i=1,...,n \]
也就是说我们希望最大化超平面关于训练数据集的几何间隔\(\gamma\),约束条件表示超平面\((w,b)\)关于每个训练样本点的几何间隔至少是\(\gamma\),这样就是如下图的形式,上述约束条件中分子就是函数间隔

考虑到函数间隔和几何间隔的关系,我们将上式转化为
\[ \underset {w,b}{\operatorname {max}} ~~~\frac{ \hat{\gamma}}{||w||}~~~st.~~~y_{i}(w^{T}x_{i}+b) \geq \hat{\gamma}~~i=1,...,n \]
这就是原始问题等价变形之后的形式了,接下来解释为什么函数间隔\(\hat{\gamma}=1\),在之前SVM详解这篇文章中我们知道当\(w,b\)等比例的增大或者变小时,我们的超平面是不变的,也就是说不论是\(\hat{\gamma}=1,2,3,10,100,1000\),结果都是相同的,只不过得到的\(w,b\)变成了原来的倍数,所以为了计算方便以及更好的理解,我们不如直接令\(\hat{\gamma}=1\);换一个理解思路\(\hat{\gamma}=1\)就是相当于给原问题加上了一个约束条件,也就是问题变为
\[ \underset {w,b}{\operatorname {max}} ~~~\frac{ \hat{\gamma}}{||w||}~~~st.~~~ \left\{\begin{matrix} y_{i}(w^{T}x_{i}+b) \geq \hat{\gamma}~~i=1,...,n \\ \hat{\gamma}=1 \end{matrix}\right. \]

\[ \begin{aligned} \underset {w,b}{\operatorname {max}} ~~~\frac{1}{||w||}~~~st.~~~ y_{i}(w^{T}x_{i}+b) \geq1~~i=1,...,n \\ \end{aligned} \]

3. \(w,b\)到\(\alpha\)公式推导

\[ L(w, b, \alpha) = \frac{1}{2}||w||^{2} - \sum_{i=1}^{n}\alpha_{i}(y_{i}(w^{T}x_{i}+b) - 1)~~~i=1,...,n \]

对\(w, b\)求导之后得到\(w = \sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}~~\)以及\(~~\sum_{i=1}^{N}\alpha_{i}y_{i}=0\),带入得到下面式子

\[ L(\alpha) = \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j}) - \sum_{i=1}^{n}\alpha_{i} \]

求解过程

\[ \begin{aligned} L(w, b, \alpha) & = \frac{1}{2}||w||^{2} - \sum_{i=1}^{n}\alpha_{i}(y_{i}(w^{T}x_{i}+b) - 1) \\ & = \frac{1}{2}w^{T}w - \sum_{i=1}^{n}\alpha_{i}y_{i}w^{T}x_{i} - \sum_{i=1}^{n}\alpha_{i}y_{i}b + \sum_{i=1}^{n}\alpha_{i} \\ & = \frac{1}{2}w^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} - \sum_{i=1}^{n}\alpha_{i}y_{i}w^{T}x_{i} - 0\times b + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}w^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}(\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i})^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}^{T}\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\sum_{i=j}^{N}\alpha_{i}y_{i}x_{i}^{T}\alpha_{j}y_{j}x_{j} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\sum_{i=j}^{N}\alpha_{i}y_{i}\alpha_{j}y_{j}x_{i}^{T}x_{j} + \sum_{i=1}^{n}\alpha_{i} \\ & = -\frac{1}{2}\sum_{i=1}^{N}\sum_{i=j}^{N}\alpha_{i}y_{i}\alpha_{j}y_{j}(x_{i}\cdot x_{j}) + \sum_{i=1}^{n}\alpha_{i} \end{aligned} \]

Sep 06, 2026
Aug 01, 2026