前言
SVM是机器学习的十大算法之一,其是一个偏数学化的模型,本文主要重现其推导过程,以及学习的过程中遇到的问题。过程并不严谨。
数学推导
引入
对于二维平面坐标系中的点,如果其线性可分,那么我们可以寻找一条直线,去进行划分。但是,往往情况下,这条直线并不是唯一,可以有无数多条。比如
我们都熟悉感知机,他与SVM是有一丢丢相似,但是感知机有一个很不好的地方,它仅仅将模型训练到能够将数据全部分类正确即可,对该直线几乎没有要求。比如
对于这种结果,他确实是分类正确了,但是这种结果就一定好吗?这显然是反直觉的,我们一般会希望这个分割直线尽可能地在中间,而不是单独靠近某一边,因为这样很容易造成来了一个新的点后被误分类。比如
而如果我们的划分直线是这样,就不会误分类。
因此,我们认为,对于训练出来的直线,我们希望它尽可能地处在两类数据的中间,这样预留的空间足够大,可提高模型的正确率。
那么,如何才能让这条直线处在的位置给两类数据预留够足够的空间呢?
支持向量
以二维为例,假设在直线左侧为正类,右侧为负类。在所有的点中,我们在两类数据之间取一条分割直线,然后要做的就是找到与直线距离最近的点。
因此,对于所有的点,我们可以找到距离最近的点(点到直线的距离公式)。
min
x
i
∣
w
T
x
i
+
b
∣
∣
∣
w
∣
∣
2
(1)
\min\limits_{x_i}\frac{|w^Tx_i+b|}{||w||_2}\tag{1}
ximin∣∣w∣∣2∣wTxi+b∣(1)
其中
∣
∣
w
∣
∣
2
||w||_2
∣∣w∣∣2表示L2范数。
那么对于这些点,我们就说其为支持向量。
损失函数(硬间隔)
对于坐标系中线性可分的数据,我们往往可以使用一条直线将其进行划分,这种间隔被称为硬间隔,相应的还有一个叫做软间隔,此处我们先将硬间隔。
得到最小距离的点,就可以在此基础上需求最大间隔。就是我们希望这些点到直线的距离最短。即
g
=
max
w
,
b
min
x
i
∣
w
T
x
i
+
b
∣
∣
∣
w
∣
∣
2
(2)
g=\max\limits_{w,b}\min_{x_i}\frac{|w^Tx_i+b|}{||w||_2}\tag{2}
g=w,bmaxximin∣∣w∣∣2∣wTxi+b∣(2)
该式子代表先寻找点到直线距离最小的点,然后再寻找最合适的
w
w
w使得这些点到直线的距离最大,也就是几何间隔最大化。
我们先定义一下一些数值
x
=
(
x
1
T
x
2
T
⋮
x
n
T
)
=
(
x
11
x
12
⋯
x
1
n
x
21
⋯
⋯
x
2
n
⋮
⋱
⋯
⋮
x
n
1
x
n
2
⋯
x
n
n
)
;
w
=
(
w
1
w
2
⋮
w
n
)
;
y
i
=
{
1
,
w
T
x
i
+
b
≥
0
−
1
,
w
T
x
i
+
b
<
0
(3)
\begin{equation} \begin{aligned} x=\begin{pmatrix} x_1^T \\ x_2 ^T\\ \vdots \\ x_n^T \end{pmatrix} =\begin{pmatrix} x_{11} & x_{12} & \cdots &x_{1n}\\ x_{21} & \cdots & \cdots &x_{2n}\\ \vdots & \ddots & \cdots &\vdots\\ x_{n1} & x_{n2} & \cdots & x_{nn} \end{pmatrix}; w=\begin{pmatrix} w_{1} \\ w{2} \\ \vdots \\ w_{n} \end{pmatrix}; y_i=\left\{\begin{matrix} {1,~~w^Tx_i+b\ge0}\\ {-1,~~w^Tx_i+b<0} \end{matrix}\right. \end{aligned} \end{equation}\tag{3}
x=
x1Tx2T⋮xnT
=
x11x21⋮xn1x12⋯⋱xn2⋯⋯⋯⋯x1nx2n⋮xnn
;w=
w1w2⋮wn
;yi={1, wTxi+b≥0−1, wTxi+b<0(3)
y的标签值为+1和-1。
在此之前,由于数据是线性可分的,那么如果所有的数据都分类正确,那么
y
i
(
w
T
x
i
+
b
)
≥
0
y_i(w^Tx_i+b)\ge0
yi(wTxi+b)≥0是恒成立的
g
=
max
w
,
b
min
x
i
∣
w
T
x
i
+
b
∣
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
0
,
i
∈
1
,
2
⋯
n
(4)
g=\max\limits_{w,b}\min_{x_i}\frac{|w^Tx_i+b|}{||w||_2}\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge0,i\in1,2 \cdots n\tag{4}
g=w,bmaxximin∣∣w∣∣2∣wTxi+b∣s.t.yi(wTxi+b)≥0,i∈1,2⋯n(4)
其中s.t.代表限制条件。注意了,此处代表有n个限制条件。
由于式子(2)中
∣
∣
w
∣
∣
2
||w||_2
∣∣w∣∣2与min没有关系,因此我们将其提出来进一步转化。
g
=
max
w
,
b
1
∣
∣
w
∣
∣
2
min
x
i
∣
w
T
x
i
+
b
∣
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
0
,
i
∈
1
,
2
⋯
n
(5)
g=\max\limits_{w,b}\frac{1}{{||w||_2}}\min_{x_i}{|w^Tx_i+b|}\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge0,i\in1,2 \cdots n\tag{5}
g=w,bmax∣∣w∣∣21ximin∣wTxi+b∣s.t.yi(wTxi+b)≥0,i∈1,2⋯n(5)
对于
w
T
x
i
+
b
=
0
w^Tx_i+b=0
wTxi+b=0这条直线(高维是超平面,以下都用直线表示),将其权值和截距缩放2倍
2
w
T
x
i
+
2
b
=
0
2w^Tx_i+2b=0
2wTxi+2b=0,该直线仍然是不变的,至此,我们是不是可以让
min
x
i
∣
w
T
x
i
+
b
∣
\min\limits_{x_i}{|w^Tx_i+b|}
ximin∣wTxi+b∣里面的式子乘以一个未知量r,使得
min
x
i
r
∣
w
T
x
i
+
b
∣
=
1
(6)
\min\limits_{x_i}r|w^Tx_i+b|=1\tag{6}
ximinr∣wTxi+b∣=1(6)
为何可以?因此此处的r就相当于对直线的缩放,我们总能找到一个量r,使其相乘后为0。
这样,我们最终的式子就变成了
g
=
max
w
,
b
1
∣
∣
w
∣
∣
2
∗
1
(7)
g=\max\limits_{w,b}\frac{1}{{||w||_2}}*1\tag{7}
g=w,bmax∣∣w∣∣21∗1(7)
相应的,约束条件也变成了
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
∈
1
,
2
⋯
n
(8)
s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\tag{8}
s.t.yi(wTxi+b)≥1,i∈1,2⋯n(8)
那这样不会改变最终w的取值吗?大概率是会的,但没啥影响。实际上,我们的w和b是有无数个解的,因为我们对该直线进行缩放都没有改变平面。
举个例子,假如我们最后算出的w、b的值是2,2,那么直线就是2x+2=0,但是是否也可以是x+1=0?或者4x+4=0?是的,完全可以,因为进行等比例缩放是不会影响最终的平面的,也就是说w、b的值也可以是1,1或者4,4,那么我们这样做
min
x
i
r
∣
w
T
x
i
+
b
∣
=
1
\min\limits_{x_i}r|w^Tx_i+b|=1
ximinr∣wTxi+b∣=1实际上就是对w加以约束,因为w存在无数个解,我们只要
min
x
i
∣
w
T
x
i
+
b
∣
=
1
\min\limits_{x_i}|w^Tx_i+b|=1
ximin∣wTxi+b∣=1的w。所以并不会影响最终结果,因此,我们的损失函数最终定义成这样
f
(
w
)
=
max
w
,
b
1
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
∈
1
,
2
⋯
n
(9)
f(w)=\max\limits_{w,b}\frac{1}{{||w||_2}}\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\tag{9}
f(w)=w,bmax∣∣w∣∣21s.t.yi(wTxi+b)≥1,i∈1,2⋯n(9)
将max变成min,再将L2范数写成矩阵相乘的样式,并且方便后面求导运算,我们让其乘以1/2得
f
(
w
)
=
min
w
,
b
1
2
w
T
w
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
∈
1
,
2
⋯
n
(10)
f(w)=\min\limits_{w,b}\frac{1}{2}w^Tw\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\tag{10}
f(w)=w,bmin21wTws.t.yi(wTxi+b)≥1,i∈1,2⋯n(10)
这样,我们就得到了最终的损失函数的形式,一个条件极值问题。
拉格朗日乘数法
求条件极值,怎么求?当燃是用拉格朗日乘数法(不懂的小伙伴请自行百度)
首先,得出拉格朗日函数
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
n
(
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
)
,
λ
i
≥
0.
(11)
L(w,b,\lambda)=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left ( \lambda_i[1-y_i(w^Tx_i+b)]\right )},\lambda_i \ge0.\tag{11}
L(w,b,λ)=21wTw+i=1∑n(λi[1−yi(wTxi+b)]),λi≥0.(11)
λ为拉格朗日算子。可以看到,由于有n个约束条件,直接求导求解的解法显然是不可能的。那怎么办呢?当燃是对其进行转化了。
原问题
对于原函数和拉格朗日函数,我们总有
f
(
w
)
=
{
min
w
,
b
1
2
w
T
w
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
∈
1
,
2
⋯
n
=
{
min
w
.
b
max
λ
L
(
w
,
b
,
λ
)
s
.
t
.
λ
i
≥
0.
i
∈
1
,
2
,
⋯
n
(12)
\begin{equation} \begin{aligned} f(w)&=\left \{ \begin{matrix}\min\limits_{w,b}\frac{1}{2}w^Tw\\ s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n\\ \end{matrix}\right. =\left\{\begin{matrix}\min\limits_{w.b}\max\limits_{\lambda}L(w,b,\lambda) \\ s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix}\right. \end{aligned} \end{equation}\tag{12}
f(w)={w,bmin21wTws.t.yi(wTxi+b)≥1,i∈1,2⋯n={w.bminλmaxL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(12)
证明
为何会成立呢?我们不妨来看一下 min w . b max λ L ( w ) \min\limits_{w.b}\max\limits_{\lambda}L(w) w.bminλmaxL(w),
先对拉格朗日函数求λ的最大值。因为,
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
1-y_i(w^Tx_i+b) \le0
1−yi(wTxi+b)≤0,又因为λ是恒大于等于0的,所以
∑
i
=
1
n
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
≤
0
\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] \le 0
i=1∑nλi[1−yi(wTxi+b)]≤0恒成立,所以
max
λ
L
(
w
,
b
,
λ
)
\max\limits_{\lambda}L(w,b,\lambda)
λmaxL(w,b,λ)就相当于
∑
i
=
1
n
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
=
0
\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] = 0
i=1∑nλi[1−yi(wTxi+b)]=0,假如
1
−
y
i
(
w
T
x
i
+
b
)
≥
0
1-y_i(w^Tx_i+b) \ge0
1−yi(wTxi+b)≥0,那么
max
λ
L
(
w
,
b
,
λ
)
=
+
∞
\max\limits_{\lambda}L(w,b,\lambda)=+\infty
λmaxL(w,b,λ)=+∞将会没有意义。因为此时对λ其求最大值将得到无穷大,再对w、b求最小值的话,将没有意义,即对于
max
λ
L
(
w
,
b
,
λ
)
=
{
0
,
1
−
y
i
(
w
T
x
i
+
b
)
≥
0
+
∞
,
1
−
y
i
(
w
T
x
i
+
b
)
<
0
(17)
\max\limits_{\lambda}L(w,b,\lambda)=\left\{ \begin{matrix} 0,~~1-y_i(w^Tx_i+b) \ge0 \\ +\infty,~~1-y_i(w^Tx_i+b) <0 \end{matrix}\right.\tag{17}
λmaxL(w,b,λ)={0, 1−yi(wTxi+b)≥0+∞, 1−yi(wTxi+b)<0(17)
那么
min
w
,
b
max
λ
=
min
w
,
b
{
0
,
+
∞
}
(18)
\min\limits_{w,b}\max\limits_{\lambda}=\min\limits_{w,b}\left \{0,+\infty \right \}\tag{18}
w,bminλmax=w,bmin{0,+∞}(18)
对无穷大求最小值是没有意义的,因此,我们只能够取
∑
i
=
1
n
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
≤
0
\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] \le 0
i=1∑nλi[1−yi(wTxi+b)]≤0的那一部分,所以
max
λ
L
(
w
,
b
,
λ
)
=
1
2
w
T
(19)
\max\limits_{\lambda}L(w,b,\lambda)=\frac{1}{2}w^T\tag{19}
λmaxL(w,b,λ)=21wT(19)
min w , b max λ L ( w , b , λ ) = min w , b 1 2 w T w (20) \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda)=\min\limits_{w,b}\frac{1}{2}w^Tw\tag{20} w,bminλmaxL(w,b,λ)=w,bmin21wTw(20)
所以
{
min
w
.
b
max
λ
L
(
w
,
b
,
λ
)
s
.
t
.
λ
i
≥
0.
i
∈
1
,
2
,
⋯
n
(21)
\left\{\begin{matrix}\min\limits_{w.b}\max\limits_{\lambda}L(w,b,\lambda) \\ s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix}\right.\tag{21}
{w.bminλmaxL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(21)
式子(17)是包含了
∑
i
=
1
n
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
≤
0
\sum\limits_{i=1}^n\lambda_i[1-y_i(w^Tx_i+b)] \le 0
i=1∑nλi[1−yi(wTxi+b)]≤0的条件的。我们将这个函数称为原问题。
对偶问题
对于式子(17),它仍然是一个条件极值问题,并且包含了多个λ,我们仍然没法求解,那怎么办呢?
对于原问题,我们可以对应其对偶问题。也就是max和min互唤
{
max
λ
min
w
,
b
L
(
w
,
b
,
λ
)
s
.
t
.
λ
i
≥
0.
i
∈
1
,
2
,
⋯
n
(22)
\left\{\begin{matrix}\max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \\ s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix}\right.\tag{22}
{λmaxw,bminL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(22)
那么这个对偶问题有什么用呢?对于对偶问题,我们分为弱对偶和强对偶,对弱对偶,我们始终有
max
λ
min
w
,
b
L
(
w
,
b
,
λ
)
≤
min
w
,
b
max
λ
L
(
w
,
b
,
λ
)
(23)
\max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \le \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda)\tag{23}
λmaxw,bminL(w,b,λ)≤w,bminλmaxL(w,b,λ)(23)
以下给出证明
弱对偶证明
因为 L ( w , b , λ ) ≥ min w , b L ( w , b , λ ) 又 因为 L ( w , b , λ ) ≤ max λ L ( w , b , λ ) 所以 min w , b L ( w , b , λ ) ≤ L ( w , b , λ ) ≤ max λ L ( w , b , λ ) 所以 min w , b L ( w , b , λ ) ≤ max λ L ( w , b , λ ) 所以等式左边的在 λ 的最大值也小于右边在 w , b 的最小值 即为 max λ min w , b L ( w , b , λ ) ≤ min w , b max λ L ( w , b , λ ) (24) \begin{equation} \begin{aligned} &因为\hspace{1cm}L(w,b,\lambda) \ge \min\limits_{w,b}L(w,b,\lambda) \\又&因为\hspace{1cm}L(w,b,\lambda) \le\max\limits_{\lambda}L(w,b,\lambda) \\&所以\hspace{1cm}\min\limits_{w,b}L(w,b,\lambda) \le L(w,b,\lambda) \le \max\limits_{\lambda}L(w,b,\lambda) \\&所以\hspace{1cm}\min\limits_{w,b}L(w,b,\lambda)\le\max\limits_{\lambda}L(w,b,\lambda) \\&所以等式左边的在\lambda的最大值也小于右边在w,b的最小值 \\&即为\hspace{1cm}\max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \le \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda) \end{aligned} \end{equation}\tag{24} 又因为L(w,b,λ)≥w,bminL(w,b,λ)因为L(w,b,λ)≤λmaxL(w,b,λ)所以w,bminL(w,b,λ)≤L(w,b,λ)≤λmaxL(w,b,λ)所以w,bminL(w,b,λ)≤λmaxL(w,b,λ)所以等式左边的在λ的最大值也小于右边在w,b的最小值即为λmaxw,bminL(w,b,λ)≤w,bminλmaxL(w,b,λ)(24)
在弱对偶里面,式子(21)是始终成立,但是这对我们帮助并不大,因为弱对偶问题是原问题的下确界,但不确定是否相等,那何时才能相等呢?当燃是原问题和对偶问题是强对偶关系的时候了。满足强对偶关系,那么,始终有
max
λ
min
w
,
b
L
(
w
,
b
,
λ
)
=
min
w
,
b
max
λ
L
(
w
,
b
,
λ
)
(25)
\max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) = \min\limits_{w,b}\max\limits_{\lambda}L(w,b,\lambda)\tag{25}
λmaxw,bminL(w,b,λ)=w,bminλmaxL(w,b,λ)(25)
那么,什么情况下,原问题与对偶问题是强对偶关系呢?这是凸优化课程的知识点了,此处不做证明了。满足强对偶关系的充分性条件
①目标函数是凸函数。
②约束条件是仿射函数(可以简单认为是一次函数,但不等价)
显然,在原问题中,目标函数是 1 2 w T w \frac{1}{2}w^Tw 21wTw是二次函数,妥妥的凸函数,对于约束条件 s . t . y i ( w T x i + b ) ≥ 1 , i ∈ 1 , 2 ⋯ n s.t. \hspace{1cm} y_i(w^Tx_i+b)\ge1,i\in1,2 \cdots n s.t.yi(wTxi+b)≥1,i∈1,2⋯n,不就是一次函数吗?
所以,原问题和对偶问题是满足强对偶关系的。因此,我们只需要求出对偶问题的解,就相当于求解原问题。所以,我们要求解的问题如下
{
max
λ
min
w
,
b
L
(
w
,
b
,
λ
)
s
.
t
.
λ
i
≥
0.
i
∈
1
,
2
,
⋯
n
(26)
\left\{ \begin{matrix} \max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \\s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix} \right.\tag{26}
{λmaxw,bminL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n(26)
可以看到,这个问题依然是一个有n个约束的极值问题,但是约束条件不再跟w,b相关,且对于
min
w
,
b
L
(
w
,
b
,
λ
)
\min\limits_{w,b}L(w,b,\lambda)
w,bminL(w,b,λ)与λ是无关的。因此,我们可以事先求解
min
w
,
b
L
(
w
,
b
,
λ
)
\min\limits_{w,b}L(w,b,\lambda)
w,bminL(w,b,λ)。因为他已经变成了一个无约束的问题了。
因此,要求
L
(
w
,
b
,
λ
)
L(w,b,\lambda)
L(w,b,λ)关于w,b的最小值,分别对w,b求导等于0求解即可即可。
∂
L
(
w
,
b
,
λ
)
∂
b
=
∂
(
1
2
w
T
w
+
∑
i
=
1
n
(
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
)
)
∂
b
=
∑
i
=
1
n
λ
i
y
i
=
0
(27)
\begin{equation} \begin{aligned} \frac{\partial{L(w,b,\lambda)}}{\partial{b}} &=\frac{\partial{\left(\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left ( \lambda_i[1-y_i(w^Tx_i+b)]\right )}\right)}}{\partial{b}} \\&=\sum\limits_{i=1}^n\lambda_iy_i=0 \end{aligned} \end{equation}\tag{27}
∂b∂L(w,b,λ)=∂b∂(21wTw+i=1∑n(λi[1−yi(wTxi+b)]))=i=1∑nλiyi=0(27)
将所得结果回代入拉格朗日函数。
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
n
(
λ
i
[
1
−
y
i
(
w
T
x
i
+
b
)
]
)
=
1
2
w
T
w
+
∑
i
=
1
n
(
λ
i
−
λ
i
y
i
w
T
x
i
+
λ
i
y
i
b
)
=
1
2
w
T
w
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
w
T
x
i
−
∑
i
=
1
n
λ
i
y
i
b
=
1
2
w
T
w
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
w
T
x
i
−
b
∑
i
=
1
n
λ
i
y
i
=
1
2
w
T
w
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
w
T
x
i
−
b
∗
0
=
1
2
w
T
w
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
w
T
x
i
=
L
(
w
,
λ
)
(28)
\begin{equation} \begin{aligned} L(w,b,\lambda)&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left ( \lambda_i[1-y_i(w^Tx_i+b)]\right )} \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n{\left({ \lambda_i - \lambda_iy_iw^Tx_i+\lambda_iy_ib}\right)} \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i -\sum\limits_{i=1}^n\lambda_iy_ib \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i -b\sum\limits_{i=1}^n\lambda_iy_i \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i -b*0 \\&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i \\&=L(w,\lambda) \end{aligned} \end{equation}\tag{28}
L(w,b,λ)=21wTw+i=1∑n(λi[1−yi(wTxi+b)])=21wTw+i=1∑n(λi−λiyiwTxi+λiyib)=21wTw+i=1∑nλi−i=1∑nλiyiwTxi−i=1∑nλiyib=21wTw+i=1∑nλi−i=1∑nλiyiwTxi−bi=1∑nλiyi=21wTw+i=1∑nλi−i=1∑nλiyiwTxi−b∗0=21wTw+i=1∑nλi−i=1∑nλiyiwTxi=L(w,λ)(28)
把所得结果再对w求导
∂
L
(
w
,
λ
)
∂
b
=
∂
(
1
2
w
T
w
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
w
T
x
i
)
∂
b
=
w
−
∑
i
=
1
n
λ
i
y
i
x
i
=
0
→
w
=
∑
i
=
1
n
λ
i
y
i
x
i
(29)
\begin{equation} \begin{aligned} \frac{\partial{L(w,\lambda)}}{\partial{b}} &=\frac{\partial{\left(\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i\right)}}{\partial{b}} \\&=w-\sum\limits_{i=1}^n\lambda_iy_ix_i=0 \rightarrow w=\sum\limits_{i=1}^n\lambda_iy_ix_i \end{aligned} \end{equation}\tag{29}
∂b∂L(w,λ)=∂b∂(21wTw+i=1∑nλi−i=1∑nλiyiwTxi)=w−i=1∑nλiyixi=0→w=i=1∑nλiyixi(29)
最终,我们得到
w
=
∑
i
=
1
n
λ
i
y
i
x
i
w=\sum\limits_{i=1}^n\lambda_iy_ix_i
w=i=1∑nλiyixi,将其代入
L
(
w
,
λ
)
L(w,\lambda)
L(w,λ)
L
(
w
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
w
T
x
i
=
1
2
∑
i
=
1
n
λ
i
y
i
x
i
T
∑
j
=
1
n
λ
j
y
j
x
j
+
∑
i
=
1
n
λ
i
−
∑
i
=
1
n
λ
i
y
i
∑
j
=
1
n
λ
j
y
j
x
j
T
x
i
=
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
y
i
λ
j
y
j
x
i
T
x
j
−
∑
i
=
1
n
∑
j
=
1
n
λ
i
y
i
λ
j
y
j
x
j
T
x
i
+
∑
i
=
1
n
λ
i
=
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
y
i
λ
j
y
j
x
i
T
x
j
−
∑
i
=
1
n
∑
j
=
1
n
λ
i
y
i
λ
j
y
j
x
i
T
x
j
+
∑
i
=
1
n
λ
i
=
∑
i
=
1
n
λ
i
−
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
y
i
λ
j
y
j
x
i
T
x
j
=
L
(
λ
)
(30)
\begin{equation} \begin{aligned} L(w,\lambda)&=\frac{1}{2}w^Tw+\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_iw^Tx_i \\&=\frac{1}{2}\sum\limits_{i=1}^n\lambda_iy_ix_i^T\sum\limits_{j=1}^n\lambda_jy_jx_j +\sum\limits_{i=1}^n\lambda_i-\sum\limits_{i=1}^n\lambda_iy_i\sum\limits_{j=1}^n\lambda_jy_jx_j^Tx_i \\&=\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j-\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_j^Tx_i+\sum\limits_{i=1}^n\lambda_i \\&=\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j-\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j+\sum\limits_{i=1}^n\lambda_i \\&=\sum\limits_{i=1}^n\lambda_i-\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j \\&=L(\lambda) \end{aligned} \end{equation}\tag{30}
L(w,λ)=21wTw+i=1∑nλi−i=1∑nλiyiwTxi=21i=1∑nλiyixiTj=1∑nλjyjxj+i=1∑nλi−i=1∑nλiyij=1∑nλjyjxjTxi=21i=1∑nj=1∑nλiyiλjyjxiTxj−i=1∑nj=1∑nλiyiλjyjxjTxi+i=1∑nλi=21i=1∑nj=1∑nλiyiλjyjxiTxj−i=1∑nj=1∑nλiyiλjyjxiTxj+i=1∑nλi=i=1∑nλi−21i=1∑nj=1∑nλiyiλjyjxiTxj=L(λ)(30)
所以,我们的问题最终转化成
{
max
λ
min
w
,
b
L
(
w
,
b
,
λ
)
s
.
t
.
λ
i
≥
0.
i
∈
1
,
2
,
⋯
n
→
{
max
λ
∑
i
=
1
n
λ
i
−
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
y
i
λ
j
y
j
x
i
T
x
j
s
.
t
.
λ
i
≥
0.
i
∈
1
,
2
,
⋯
n
∑
i
=
1
n
λ
i
y
i
=
0
(31)
\left\{ \begin{matrix} \max\limits_{\lambda}\min\limits_{w,b}L(w,b,\lambda) \\s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \end{matrix} \right.\rightarrow \left\{ \begin{matrix} \max\limits_{\lambda}\sum\limits_{i=1}^n\lambda_i-\frac{1}{2}\sum\limits_{i=1}^n\sum\limits_{j=1}^n\lambda_iy_i\lambda_jy_jx_i^Tx_j \\s.t. \hspace{1cm} \lambda_i \ge 0.i \in 1,2,\cdots n \\\sum\limits_{i=1}^n\lambda_iy_i=0 \end{matrix} \right.\tag{31}
{λmaxw,bminL(w,b,λ)s.t.λi≥0.i∈1,2,⋯n→⎩
⎨
⎧λmaxi=1∑nλi−21i=1∑nj=1∑nλiyiλjyjxiTxjs.t.λi≥0.i∈1,2,⋯ni=1∑nλiyi=0(31)
其中
∑
i
=
1
n
λ
i
y
i
=
0
\sum\limits_{i=1}^n\lambda_iy_i=0
i=1∑nλiyi=0是对b求导后所得,因为包含有λ,而所求的最大值也是在λ处求的,故作为新的约束条件
现在我们知道了 w = ∑ i = 1 n λ i y i x i w=\sum\limits_{i=1}^n\lambda_iy_ix_i w=i=1∑nλiyixi,也得到了对偶问题在w,b下的最小L(w,b,λ),那b怎么办?似乎没有求出来?