SVM概念
SVM是一种有监督学习(已知样本的类别标签)的二分类算法,类似于逻辑回归,均为通过一条直线(超平面)将样本划分为两类。
SVM的作用是找到一条最优的直线,将样本更好地划分。
将数据集分隔开来的直线成为分隔平面,在二维平面中即为一条直线,若数据集是1024维的,那就需要1023维的对象对数据进行分隔,这个对象称为超平面
最优化
前提,数据是线性可分
如下图两种均为线性不可分
图A的数据集为线性可分,且存在无数条直线能将其分为2类,图BCD中的直线,分别就是其中的一种。
我们希望找到离直线(超平面)最近的点,确保他们离直线的距离尽可能地远。
例如,若选择C中的分隔面作为分类器,由于训练集的有限性或噪声的干扰,训练集外的样本可能更接近两个类目前的分隔界,在分类决策的时候就会出现错误,为了使分类器抗干扰能力强,即使得点到分隔面的距离(间隔)尽可能地大。
寻找最大间隔
设:
直线(超平面)的参数向量:
w
T
=
[
w
1
w
2
.
.
.
w
n
]
\begin{aligned} \mathbf{ w^{T}} &=\begin{bmatrix}w_{1}&w_{2}&...&w_{n}\end{bmatrix} \end{aligned}
wT=[w1w2...wn]
特征向量:
x
=
[
x
1
x
2
.
.
.
x
n
]
\begin{aligned} \mathbf{ x}&=\begin{bmatrix} x_{1}\\x_{2}\\...\\x_{n}\\ \end{bmatrix} \end{aligned}
x=⎣⎢⎢⎡x1x2...xn⎦⎥⎥⎤
分隔超平面的形式可以写为:
y
=
w
T
x
+
b
y=\mathbf{w^{T}x}+b
y=wTx+b
数据点A特征向量为:
A
=
[
a
1
a
2
.
.
.
a
n
]
\begin{aligned} \mathbf{A}&=\begin{bmatrix} a_{1}\\a_{2}\\...\\a_{n}\\ \end{bmatrix} \end{aligned}
A=⎣⎢⎢⎡a1a2...an⎦⎥⎥⎤
则点A到分隔面的距离为:
∣
w
T
A
+
b
∣
∣
∣
w
∣
∣
{\LARGE\frac{|\mathbf{w^{T}A}+b|}{||\mathbf{w}||}}
∣∣w∣∣∣wTA+b∣
即:
=
∣
w
1
a
1
+
w
2
a
2
+
.
.
.
+
w
n
a
n
+
b
∣
w
1
2
+
w
2
2
+
.
.
.
+
w
n
2
{\LARGE =\frac{|w_{1}a_{1}+w_{2}a_{2}+...+w_{n}a_{n}+b|}{\sqrt{w_{1}^2+w_{2}^2+...+w_{n}^2}}}
=w12+w22+...+wn2∣w1a1+w2a2+...+wnan+b∣
将类别分为+1和-1两个类,且距离最近的点函数间隔为1:
{
w
T
x
i
+
b
≥
+
1
,
y
i
=
+
1
w
T
x
i
+
b
≤
−
1
,
y
i
=
−
1
\begin{array}{l} \left\{\begin{matrix} \mathbf{w^{T}x_{i}}+b \ge +1 ,{y_{i}=+1} \\ \mathbf{w^{T}x_{i}}+b \le -1 , {y_{i}=-1} \end{matrix}\right. \end{array}
{wTxi+b≥+1,yi=+1wTxi+b≤−1,yi=−1
y
i
∗
(
w
T
x
i
+
b
)
≥
1
y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1
yi∗(wTxi+b)≥1 恒成立
所以 d = y i ∗ ( w T x i + b ) ∣ ∣ w ∣ ∣ {\large d=\frac{y_{i}*(\mathbf{w^{T}x_{i}}+b)}{||\mathbf{w}||}} d=∣∣w∣∣yi∗(wTxi+b)
进行代换后,离超平面最近的点,满足
1
、
d
=
1
∣
∣
w
∣
∣
1、{\large d=\frac{1}{||\mathbf{w}||}}
1、d=∣∣w∣∣1
2
、
y
i
∗
(
w
T
x
i
+
b
)
=
1
2、y_{i}*(\mathbf{w^{T}x_{i}}+b) = 1
2、yi∗(wTxi+b)=1
该点到直线的距离可以转换为
d
=
y
i
∗
(
w
T
x
+
b
)
∣
∣
w
∣
∣
{\large d=\frac{y_{i}*(\mathbf{w^{T}x}+b)}{||\mathbf{w}||}}
d=∣∣w∣∣yi∗(wTx+b)
因此SVM的目标为
max
min
y
i
∗
(
w
T
x
i
+
b
)
∣
∣
w
∣
∣
\max \frac{\min y_{i}*(\mathbf{w^{T}x_{i}}+b)}{||\mathbf{w}||}
max∣∣w∣∣minyi∗(wTxi+b)
求解满足以上公式的
w
\mathbf {w}
w向量和
b
b
b参数
因为
min
y
i
∗
(
w
T
x
+
b
)
=
1
\min y_{i}*(\mathbf{w^{T}x}+b)=1
minyi∗(wTx+b)=1
所以目标为:
max
1
∣
∣
w
∣
∣
s
.
t
:
y
i
∗
(
w
T
x
i
+
b
)
≥
1
\begin{aligned} &{\large \max \frac{1}{||\mathbf{w}||}}\\ \\ &{\large s.t:y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned}
max∣∣w∣∣1s.t:yi∗(wTxi+b)≥1
为了最大化间隔,仅需最小化
∣
∣
w
∣
∣
||\mathbf{w}||
∣∣w∣∣,即
min
∣
∣
w
∣
∣
s
.
t
:
y
i
∗
(
w
T
x
i
+
b
)
≥
1
\begin{aligned} &{\large \min||\mathbf{w}||}\\ \\ &{\large s.t:y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned}
min∣∣w∣∣s.t:yi∗(wTxi+b)≥1
同时可将
min
∣
∣
w
∣
∣
\min||\mathbf{w}||
min∣∣w∣∣写为
min
1
2
∣
∣
w
∣
∣
2
\min \frac{1}{2} ||\mathbf{w}||^{2}
min21∣∣w∣∣2
转换如下,变为一个二次优化问题
min
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
∗
(
w
T
x
i
+
b
)
≥
1
\begin{aligned} &{\large \min \frac{1}{2} ||\mathbf{w}||^{2}}\\ \\ &{\large s.t. \qquad y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned}
min21∣∣w∣∣2s.t.yi∗(wTxi+b)≥1
对偶问题
对于优化问题
min
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
∗
(
w
T
x
+
b
)
≥
1
\begin{aligned} &{\large \min \qquad\frac{1}{2} ||\mathbf{w}||^{2}}\\ \\ &{\large s.t. \qquad y_{i}*(\mathbf{w^{T}x}+b) \ge 1} \end{aligned}
min21∣∣w∣∣2s.t.yi∗(wTx+b)≥1
可通过拉格朗日乘子法可得到其"对偶问题"
前提:只有当目标函数为凸函数时,才保证求得的是最优解,如下图
拉格朗日乘子法(等式约束)
拉格朗日乘子法是求解约束优化问题的重要方法,当约束条件为等式约束时,使用拉格朗日乘子法
形式如下,目标函数为
f
(
x
)
f(x)
f(x),
m
m
m个约束约束条件为
h
i
(
x
)
h_{i}(x)
hi(x)
min
x
f
(
x
)
s
.
t
.
h
i
(
x
)
=
0
;
(
i
=
1
,
2
,
.
.
.
,
m
)
\begin{aligned} \min_{x} \qquad &f(x)\\ s.t. \qquad &h_{i}(x) = 0 ;(i=1,2,...,m) \end{aligned}
xmins.t.f(x)hi(x)=0;(i=1,2,...,m)
使用拉格朗日乘子法如下:
-
构建 拉格朗日函数
L ( x , α 1 , α 2 , . . . , α m ) = f ( x ) + α 1 h 1 ( x ) + α 2 h 2 ( x ) + . . . + α m h m ( x ) = > L ( x , α ) = f ( x ) + ∑ i = 1 m α i h i ( x ) \begin{aligned} &L(x,\alpha_{1},\alpha_{2},...,\alpha_{m})=f(x)+\alpha_{1}h_{1}(x)+\alpha_{2}h_{2}(x)+...+\alpha_{m}h_{m}(x)\\\\ =>&L(x,\alpha)=f(x)+\sum_{i=1}^{m} \alpha_{i}h_{i}(x) \end{aligned} =>L(x,α1,α2,...,αm)=f(x)+α1h1(x)+α2h2(x)+...+αmhm(x)L(x,α)=f(x)+i=1∑mαihi(x) -
对 x , α x,\alpha x,α求偏导 = 0 =0 =0
{ ∇ x L ( x , α ) = 0 ∇ α L ( x , α ) = 0 \begin{cases} & \nabla_{x}L(x,\alpha )=0\\ & \nabla_{\alpha }L(x,\alpha )=0 \end{cases} {∇xL(x,α)=0∇αL(x,α)=0 -
令导数为 0 ,求得 x 、 α x 、\alpha x、α 的值后,将 x x x 带入 f ( x ) f(x) f(x) 即为在约束条件 h i ( x ) h_{i}(x) hi(x) 下的可行解。
例:
目标是求
f
(
x
,
y
)
=
x
2
∗
y
f(x,y)=x^2∗y
f(x,y)=x2∗y的最大值
同时约束条件为
x
2
+
y
2
=
1
x^2+y^2=1
x2+y2=1
max
x
f
(
x
)
=
x
2
∗
y
s
.
t
.
h
(
x
)
=
x
2
+
y
2
−
1
=
0
\begin{aligned} \max_{x}\qquad & f(x)=x^2∗y\\ s.t. \qquad &h(x) =x^2+y^2-1=0 \end{aligned}
xmaxs.t.f(x)=x2∗yh(x)=x2+y2−1=0
4. 构造新目标函数
L
(
x
,
y
,
α
)
=
x
2
∗
y
+
α
∗
(
x
2
+
y
2
−
1
)
L(x,y,\alpha)=x^2∗y+\alpha *(x^2+y^2-1)
L(x,y,α)=x2∗y+α∗(x2+y2−1)
5. 分别求偏导
{
对
x
求
偏
导
,
∂
L
(
x
,
y
,
α
)
∂
x
=
2
x
y
+
2
α
x
=
0
对
y
求
偏
导
,
∂
L
(
x
,
y
,
α
)
∂
y
=
x
2
+
2
α
y
=
0
对
α
求
偏
导
,
∂
L
(
x
,
y
,
α
)
∂
α
=
x
2
+
y
2
−
1
=
0
\begin{cases} &对x求偏导,\frac{\partial L(x,y,\alpha )}{\partial x} =2xy+2\alpha x=0\\ &对y求偏导,\frac{\partial L(x,y,\alpha )}{\partial y} =x^2+2\alpha y=0\\ &对\alpha 求偏导,\frac{\partial L(x,y,\alpha )}{\partial \alpha } =x^{2}+y^{2}-1=0 \end{cases}
⎩⎪⎨⎪⎧对x求偏导,∂x∂L(x,y,α)=2xy+2αx=0对y求偏导,∂y∂L(x,y,α)=x2+2αy=0对α求偏导,∂α∂L(x,y,α)=x2+y2−1=0
6. 解出令偏导等于
0
0
0,得到可行解
拉格朗日乘子法(不等式约束)与KKT条件
对于等式约束,目标函数为
f
(
x
)
f(x)
f(x),
1
1
1个约束约束条件为
h
i
(
x
)
h_{i}(x)
hi(x)
min
x
f
(
x
)
s
.
t
.
h
(
x
)
=
0
\begin{aligned} \min_{x} \qquad &f(x)\\ s.t. \qquad &h(x) = 0 \end{aligned}
xmins.t.f(x)h(x)=0
将等式约束
h
(
x
)
=
0
h(x) = 0
h(x)=0推广为不等式
h
(
x
)
≤
0
h(x) \le 0
h(x)≤0:
min
x
f
(
x
)
s
.
t
.
h
(
x
)
≤
0
\begin{aligned} \min_{x} \qquad&f(x)\\ s.t. \qquad &h(x) \le 0 \end{aligned}
xmins.t.f(x)h(x)≤0
对应构造的函数为: L ( x , α ) = f ( x ) + α h ( x ) L(x,\alpha)=f(x)+\alpha h(x) L(x,α)=f(x)+αh(x)
由约束不等式
h
(
x
)
≤
0
h(x) \le 0
h(x)≤0,我们定义可行域:
K
=
{
x
∣
h
(
x
)
≤
0
}
K=\left\{x \mathbf{|}h(x)\le 0\right\}
K={x∣h(x)≤0}
假设 x ∗ x^* x∗为满足约束条件的最佳解,有两种情况讨论:
- h ( x ∗ ) < 0 h(x^*) < 0 h(x∗)<0,最佳解位于 K K K的内部
- h ( x ∗ ) = 0 h(x^*)=0 h(x∗)=0,最佳解位于 K K K的边界
这两种情况的最佳解具有不同的必要条件。
1)内部解:此时,由于目标函数为凸函数(前提条件),约束条件 h ( x ) h(x) h(x)将不起作用,此时约束优化将转换为无约束优化问题, α = 0 \alpha=0 α=0
例如如下图,
f ( x ) f(x) f(x)是一个二次函数,:可行域为 K = [ x 1 , x 2 ] K=[x_{1}, x_{2}] K=[x1,x2](约束条件决定 K K K),最优解 x ∗ x^* x∗落在了 K K K的内部,此时最佳解就是最优解
对于构造函数 L ( x , α ) = f ( x ) + α h ( x ) L(x,\alpha)=f(x)+\alpha h(x) L(x,α)=f(x)+αh(x)
约束条件将不起作用,即求 min f ( x ) \min f(x) minf(x)时,只需f(x)求导=0,无需担心区间的限制,此时 α = 0 \alpha=0 α=0
即: ∇ x L ( x , α ) = 0 , α = 0 \nabla_{x}L(x,\alpha )=0,\alpha=0 ∇xL(x,α)=0,α=0,
2)边界解:此时约束条件有效,约束不等式变成等式
h
(
x
)
=
0
h(x)=0
h(x)=0,这与等式约束求解方法相同。
对于等式约束,
L
(
x
,
α
)
=
f
(
x
)
+
α
h
(
x
)
L(x,\alpha)=f(x)+\alpha h(x)
L(x,α)=f(x)+αh(x)
分别求偏导
{
对
x
求
偏
导
,
∇
x
L
(
x
,
α
)
=
0
对
α
求
偏
导
,
∇
α
L
(
x
,
α
)
=
0
\begin{cases} &对x求偏导,\nabla_{x}L(x,\alpha )=0\\ &对\alpha 求偏导,\nabla_{\alpha}L(x,\alpha )=0 \end{cases}
{对x求偏导,∇xL(x,α)=0对α求偏导,∇αL(x,α)=0
上述问题中,目标函数 f f f 和约束等式函数 h h h只有一个x变量,只对x求偏导,
推广为一般形式,目标函数有多个变量, x 1 , x 2 , . . . , x n x_{1},x_{2},...,x_{n} x1,x2,...,xn,分别对 n n n个变量求偏导, 相当于令 ∇ L = 0 \nabla L=0 ∇L=0( L L L的梯度=0),即转化为
{ ∇ x L = ∇ f + α ∇ h = 0 对 α 求 偏 导 , ∇ α L = h ( x ) = 0 \begin{cases} &\nabla_{x} L=\nabla f+\alpha \nabla h=0\\ &对\alpha 求偏导,\nabla_{\alpha}L= h(x)=0 \end{cases} {∇xL=∇f+α∇h=0对α求偏导,∇αL=h(x)=0
为了方便此处假设 h h h只有1个变量,即 h = h ( x ) h=h(x) h=h(x),此时 ∇ h = h ′ ( x ) \nabla h=h^{'}(x) ∇h=h′(x)
根据等式约束优化的求解过程,最优解满足以下条件
{
∇
x
L
=
∇
f
+
α
∇
h
=
0
∇
α
L
=
h
(
x
)
=
0
\begin{cases} &\nabla_{x} L=\nabla f+\alpha \nabla h=0\\ &\nabla_{\alpha}L= h(x)=0 \end{cases}
{∇xL=∇f+α∇h=0∇αL=h(x)=0
=>
{
∇
f
+
α
∇
h
=
0
h
(
x
)
=
0
\begin{cases} &\nabla f+\alpha \nabla h=0\\ & h(x)=0 \end{cases}
{∇f+α∇h=0h(x)=0
则:
{
∇
f
=
−
α
∇
h
h
(
x
)
=
0
\begin{cases} &\nabla f=-\alpha \nabla h\\ & h(x)=0 \end{cases}
{∇f=−α∇hh(x)=0
梯度:指的是函数增长最快的方向。所以:
∇
x
f
\nabla_{x} f
∇xf 是目标函数
f
f
f在某一点处增长最快的方向
∇
x
h
\nabla_{x} h
∇xh 是约束条件函数
h
(
x
)
h(x)
h(x)某一点处增长最快的方向
因为 h ( x ) ≤ 0 h(x)\le 0 h(x)≤0
所以 h ( x ) h(x) h(x)的梯度,方向一定指向区间 h ( x ) > 0 h(x)>0 h(x)>0的方向,
即 h ( x ) h(x) h(x)的梯度,一定指向区间(可行域 K K K)的外部
用二次函数为例:
f ( x ) f(x) f(x)是一个二次函数,:可行域为 K = [ x 1 , x 2 ] K=[x_{1}, x_{2}] K=[x1,x2](约束条件决定 K K K),最优解 x ∗ x^* x∗落在了 K K K的外部,目标函数在 x 2 x_{2} x2点处的梯度就是f(x)在 x 2 x_{2} x2导数的方向
在上述条件中,在约束条件为h(x),目标函数的最佳解为 x 2 x_{2} x2,即当 x = x 2 x=x_{2} x=x2时取最小值。
可以看到,只要最佳解是边界解,驻点一定在可行域 K K K的外部,且最佳解的点,所对应的的梯度方向一定指向区间内部。
即 f f f的梯度,方向一定指向可行域 K K K的内部
综上梯度方向的判断。
因为:
h ( x ) h(x) h(x)的梯度: ∇ x h \nabla_{x} h ∇xh,一定指向区间(可行域 K K K)的外部
所以 − ∇ x h -\nabla_{x} h −∇xh,则指向相反的方向,即可行域 K K K的内部
而
f f f的梯度: ∇ f \nabla f ∇f,一定指向可行域 K K K的内部
又因为:
∇
f
=
−
α
∇
h
\nabla f=-\alpha \nabla h
∇f=−α∇h
所以当
α
≥
0
\alpha \ge 0
α≥0时
才能保证等式成立。
α ≥ 0 \alpha \ge 0 α≥0成为对偶可行性
因此,综上所进行的推导,
1)内部解条件:
{
α
=
0
h
(
x
)
≤
0
\begin{cases} \alpha &= 0 \\ h(x) &\le 0 \end{cases}
{αh(x)=0≤0
2)边界解条件
{
α
≥
0
h
(
x
)
=
0
∇
f
+
α
∇
h
=
0
\begin{cases} \alpha &\ge 0 \\ h(x) &=0\\ \nabla f+\alpha \nabla h&=0 \end{cases}
⎩⎪⎨⎪⎧αh(x)∇f+α∇h≥0=0=0
无论是对内部解条件,还是边界解条件,可得出
α
h
(
x
)
=
0
(
恒
成
立
)
\alpha h(x)=0(恒成立)
αh(x)=0(恒成立)
因此得到KKT条件,即不等式约束,(对于最小化目标函数)最佳解的必要条件:
∇
x
L
=
∇
f
+
α
∇
h
=
0
α
h
(
x
)
=
0
h
(
x
)
≤
0
α
≥
0
\begin{aligned} \nabla_{x}L&= \nabla f+\alpha \nabla h=0\\ \alpha h(x) &= 0 \\ h(x) &\le 0\\ \alpha &\ge 0 \end{aligned}
∇xLαh(x)h(x)α=∇f+α∇h=0=0≤0≥0
如果要最大化目标函数,即 max f \max f maxf,且不等式约束为 h ( x ) ≤ 0 h(x) \le 0 h(x)≤0,那么需要 α ≤ 0 \alpha \le 0 α≤0
上面结果可推广至多个约束等式与约束不等式的情况:
min
x
f
(
x
)
s
.
t
.
g
j
(
x
)
=
0
;
(
j
=
1
,
2
,
3...
,
n
,
共
n
个
约
束
条
件
)
h
i
(
x
)
≤
0
;
(
i
=
1
,
2
,
3...
,
m
,
共
m
个
约
束
条
件
)
\begin{aligned} \min_{x} \qquad&f(x)\\ s.t. \qquad &g_{j}(x)=0 ;(j=1,2,3...,n, 共n个约束条件) \\&h_{i}(x) \le 0 ;(i=1,2,3...,m, 共m个约束条件) \end{aligned}
xmins.t.f(x)gj(x)=0;(j=1,2,3...,n,共n个约束条件)hi(x)≤0;(i=1,2,3...,m,共m个约束条件)
此时构造的拉格朗日函数为
L
(
x
,
{
λ
j
}
,
{
α
i
}
)
=
f
(
x
)
+
λ
1
g
1
(
x
)
+
λ
2
g
2
(
x
)
+
.
.
.
+
λ
n
g
n
(
x
)
+
α
1
h
1
(
x
)
+
α
2
h
2
(
x
)
+
.
.
.
+
α
m
h
m
(
x
)
=
f
(
x
)
+
∑
j
=
1
n
λ
j
g
j
(
x
)
+
∑
i
=
1
m
α
i
h
i
(
x
)
\begin{aligned} L(x,\left \{\lambda_{j}\right \},\left \{\alpha_{i}\right \})&= f(x)+\lambda_{1}g_{1}(x)+\lambda_{2}g_{2}(x)+...+\lambda_{n}g_{n}(x)+\alpha_{1}h_{1}(x)+\alpha_{2}h_{2}(x)+...+\alpha_{m}h_{m}(x)\\ &=f(x)+\sum_{j= 1}^{n} \lambda_{j}g_{j}(x)+\sum_{i= 1}^{m} \alpha_{i}h_{i}(x) \end{aligned}
L(x,{λj},{αi})=f(x)+λ1g1(x)+λ2g2(x)+...+λngn(x)+α1h1(x)+α2h2(x)+...+αmhm(x)=f(x)+j=1∑nλjgj(x)+i=1∑mαihi(x)
所满足的KKT条件包括:
∇
x
L
=
∇
f
+
∇
g
+
∇
h
=
0
g
j
(
x
)
=
0
;
(
j
=
1
,
2
,
3...
,
n
)
h
i
(
x
)
≤
0
α
i
≥
0
α
i
h
i
(
x
)
=
0
;
(
i
=
1
,
2
,
3...
,
m
)
\begin{aligned} \nabla_{x}L &= \nabla f+\nabla g+ \nabla h=0\\\\ g_{j}(x) &=0 ;(j=1,2,3...,n)\\\\ h_{i}(x) &\le 0 \\ \alpha_{i} &\ge 0\\ \alpha_{i} h_{i}(x)&=0;(i=1,2,3...,m) \end{aligned}
∇xLgj(x)hi(x)αiαihi(x)=∇f+∇g+∇h=0=0;(j=1,2,3...,n)≤0≥0=0;(i=1,2,3...,m)
SVM中,原问题的对偶问题
SVM的优化问题为:
min
w
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
∗
(
w
T
x
i
+
b
)
≥
1
\begin{aligned} &{\large \min_{\mathbf{w}} \qquad\frac{1}{2} ||\mathbf{w}||^{2}}\\ \\ &{\large s.t. \qquad y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned}
wmin21∣∣w∣∣2s.t.yi∗(wTxi+b)≥1
转化为:
min
w
f
(
w
)
=
1
2
∣
∣
w
∣
∣
2
=
1
2
(
w
1
2
+
w
1
2
+
.
.
.
+
w
n
2
)
=
1
2
w
T
w
s
.
t
.
h
(
w
)
=
1
−
y
i
∗
(
w
T
x
i
+
b
)
≤
0
\begin{aligned} &{\large \min_{\mathbf{w}} \qquad f(\mathbf{w} )=\frac{1}{2} ||\mathbf{w}||^{2}}=\frac{1}{2}(w_{1}^2+w_{1}^2+...+w_{n}^2)=\frac{1}{2}\mathbf{w}^T\mathbf{w}\\ \\ &{\large s.t. \qquad h(\mathbf{w})=1-y_{i}*(\mathbf{w^{T}x_{i}}+b) \le 0} \end{aligned}
wminf(w)=21∣∣w∣∣2=21(w12+w12+...+wn2)=21wTws.t.h(w)=1−yi∗(wTxi+b)≤0
最终
min
w
1
2
w
T
w
s
.
t
.
h
(
w
)
=
1
−
y
i
∗
(
w
T
x
i
+
b
)
≤
0
;
(
i
=
1
,
2
,
.
.
.
,
,
m
,
m
为
样
本
点
个
数
,
表
示
m
个
不
等
式
约
束
)
\begin{aligned} &{\large \min_{\mathbf{w}} \qquad \frac{1}{2}\mathbf{w}^T\mathbf{w} }\\ \\ &{\large s.t. \qquad h(\mathbf{w})=1-y_{i}*(\mathbf{w^{T}x_{i}}+b) \le 0;(i=1,2,...,,m,m为样本点个数,表示m个不等式约束)} \end{aligned}
wmin21wTws.t.h(w)=1−yi∗(wTxi+b)≤0;(i=1,2,...,,m,m为样本点个数,表示m个不等式约束)
这样就能转化为一般形式,
构造的拉格朗日函数形如:
L
(
w
,
b
,
{
α
i
}
)
=
f
(
w
)
+
α
1
h
1
(
w
)
+
α
2
h
2
(
w
)
+
.
.
.
+
α
m
h
m
(
w
)
=
f
(
w
)
+
∑
i
=
1
m
α
i
h
i
(
w
)
=
1
2
w
T
w
+
∑
i
=
1
m
α
i
(
1
−
y
i
∗
(
w
T
x
i
+
b
)
)
\begin{aligned} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})&= f(\mathbf{w} )+\alpha_{1}h_{1}(\mathbf{w})+\alpha_{2}h_{2}(\mathbf{w})+...+\alpha_{m}h_{m}(\mathbf{w})\\ &=f(\mathbf{w} )+\sum_{i= 1}^{m} \alpha_{i}h_{i}(\mathbf{w})\\ &=\frac{1}{2}\mathbf{w}^T\mathbf{w}+\sum_{i= 1}^{m} \alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b)) \end{aligned}
L(w,b,{αi})=f(w)+α1h1(w)+α2h2(w)+...+αmhm(w)=f(w)+i=1∑mαihi(w)=21wTw+i=1∑mαi(1−yi∗(wTxi+b))
所满足的KKT条件包括:
∇
w
L
=
∇
w
f
+
∇
w
h
1
+
∇
w
h
2
+
.
.
.
+
∇
w
h
m
=
0
∇
b
L
=
∇
b
f
+
∇
b
h
1
+
∇
b
h
2
+
.
.
.
+
∇
b
h
m
=
0
h
i
(
w
)
≤
0
α
i
≥
0
α
i
h
i
(
w
)
=
0
;
(
i
=
1
,
2
,
3...
,
m
)
\begin{aligned} \nabla_{\mathbf{w}}L &=\nabla_{\mathbf{w}} f+ \nabla_{\mathbf{w}} h_{1}+\nabla_{\mathbf{w}} h_{2}+...+ \nabla_{\mathbf{w}} h_{m}=0\\ \nabla_{b}L &= \nabla_{b} f+\nabla_{b} h_{1}+\nabla_{b} h_{2}+...+ \nabla_{b} h_{m}=0\\ \\ h_{i}(\mathbf{w}) &\le 0 \\ \alpha_{i} &\ge 0\\ \alpha_{i} h_{i}(\mathbf{w})&=0;(i=1,2,3...,m) \end{aligned}
∇wL∇bLhi(w)αiαihi(w)=∇wf+∇wh1+∇wh2+...+∇whm=0=∇bf+∇bh1+∇bh2+...+∇bhm=0≤0≥0=0;(i=1,2,3...,m)
即:
∇
w
L
=
0
∇
b
L
=
0
1
−
y
i
∗
(
w
T
x
i
+
b
)
≤
0
α
i
≥
0
α
i
(
1
−
y
i
∗
(
w
T
x
i
+
b
)
)
=
0
;
(
i
=
1
,
2
,
3...
,
m
)
\begin{aligned} \nabla_{\mathbf{w}}L =0\\ \nabla_{b}L =0\\ \\ 1-y_{i}*(\mathbf{w^{T}x_{i}}+b) &\le 0 \\ \alpha_{i} &\ge 0\\ \alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b) )&=0;(i=1,2,3...,m) \end{aligned}
∇wL=0∇bL=01−yi∗(wTxi+b)αiαi(1−yi∗(wTxi+b))≤0≥0=0;(i=1,2,3...,m)
为了得到其对偶问题的具体形式,
因为,
∇
w
L
=
0
(
1
)
∇
b
L
=
0
(
2
)
\begin{aligned} \nabla_{\mathbf{w}}L =0 \qquad(1)\\ \nabla_{b}L =0 \qquad(2)\\ \end{aligned}
∇wL=0(1)∇bL=0(2)
即令
L
(
w
,
b
,
{
α
i
}
)
L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})
L(w,b,{αi})对w和b偏导=0
方程(1)计算可得
w
=
∑
i
=
1
m
α
i
y
i
x
i
\large \mathbf{w}=\sum_{i= 1}^{m} \alpha_{i}y_{i}\mathbf{x_{i}}
w=i=1∑mαiyixi
方程(2)计算可得
∑
i
=
1
m
α
i
y
i
=
0
\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0
i=1∑mαiyi=0
将以上两个等式带入拉格朗日目标函数,得:
L
(
w
,
b
,
{
α
i
}
)
=
1
2
w
T
w
+
∑
i
=
1
m
α
i
(
1
−
y
i
∗
(
w
T
x
i
+
b
)
)
=
−
1
2
∑
i
=
1
m
∑
i
=
1
m
α
i
α
j
y
i
y
j
⟨
x
i
,
x
j
⟩
+
∑
i
=
1
m
α
i
\begin{aligned} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \}) &=\frac{1}{2}\mathbf{w}^T\mathbf{w}+\sum_{i= 1}^{m} \alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b))\\ &=-\frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle +\sum_{i=1}^{m}\alpha_{i} \end{aligned}
L(w,b,{αi})=21wTw+i=1∑mαi(1−yi∗(wTxi+b))=−21i=1∑mi=1∑mαiαjyiyj⟨xi,xj⟩+i=1∑mαi
目标为求L的最小值时,w,b的取值,即:
min
w
,
b
L
(
w
,
b
,
{
α
i
}
)
=
−
1
2
∑
i
=
1
m
∑
i
=
1
m
α
i
α
j
y
i
y
j
⟨
x
i
,
x
j
⟩
+
∑
i
=
1
m
α
i
s
.
t
.
α
i
≥
0
a
n
d
∑
i
=
1
m
α
i
y
i
=
0
,
(
i
=
1
,
2
,
.
.
.
,
m
)
\begin{aligned} &\min_{\mathbf{w},b} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})= -\frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle +\sum_{i=1}^{m}\alpha_{i} \\\\&{\large s.t. \qquad \alpha_{i} \ge 0}\qquad and \qquad{\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0},(i=1,2,...,m) \end{aligned}
w,bminL(w,b,{αi})=−21i=1∑mi=1∑mαiαjyiyj⟨xi,xj⟩+i=1∑mαis.t.αi≥0andi=1∑mαiyi=0,(i=1,2,...,m)
此时该问题满足以下条件:
- 优化问题是凸优化问题
- 满足KKT条件
可以转化为对偶问题,(对w,b的极小min问题转换为对于α 的极大问题max)
max
α
L
(
w
,
b
,
{
α
i
}
)
=
−
1
2
∑
i
=
1
m
∑
i
=
1
m
α
i
α
j
y
i
y
j
⟨
x
i
,
x
j
⟩
+
∑
i
=
1
m
α
i
s
.
t
.
α
i
≥
0
a
n
d
∑
i
=
1
m
α
i
y
i
=
0
,
(
i
=
1
,
2
,
.
.
.
,
m
)
\begin{aligned} &\max_{\mathbf{\alpha}} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})= -\frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle +\sum_{i=1}^{m}\alpha_{i} \\\\&{\large s.t. \qquad \alpha_{i} \ge 0}\qquad and \qquad{\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0},(i=1,2,...,m) \end{aligned}
αmaxL(w,b,{αi})=−21i=1∑mi=1∑mαiαjyiyj⟨xi,xj⟩+i=1∑mαis.t.αi≥0andi=1∑mαiyi=0,(i=1,2,...,m)
添加负号,(max转换为min)
min
α
L
(
w
,
b
,
{
α
i
}
)
=
1
2
∑
i
=
1
m
∑
i
=
1
m
α
i
α
j
y
i
y
j
⟨
x
i
,
x
j
⟩
−
∑
i
=
1
m
α
i
s
.
t
.
α
i
≥
0
a
n
d
∑
i
=
1
m
α
i
y
i
=
0
,
(
i
=
1
,
2
,
.
.
.
,
m
)
\begin{aligned} &\min_{\mathbf{\alpha}} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})= \frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle -\sum_{i=1}^{m}\alpha_{i} \\\\&{\large s.t. \qquad \alpha_{i} \ge 0}\qquad and \qquad{\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0},(i=1,2,...,m)\\ \end{aligned}
αminL(w,b,{αi})=21i=1∑mi=1∑mαiαjyiyj⟨xi,xj⟩−i=1∑mαis.t.αi≥0andi=1∑mαiyi=0,(i=1,2,...,m)
因为,
w
=
∑
i
=
1
m
α
i
y
i
x
i
\large \mathbf{w}=\sum_{i= 1}^{m} \alpha_{i}y_{i}\mathbf{x_{i}}
w=i=1∑mαiyixi
∑
i
=
1
m
α
i
y
i
=
0
\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0
i=1∑mαiyi=0
α
i
(
1
−
y
i
∗
(
w
T
x
i
+
b
)
)
=
0
\large\alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b) )=0
αi(1−yi∗(wTxi+b))=0
可知在m个α中,至少存在一个
α
j
>
0
α_{j}>0
αj>0 (反证法可以证明,若全为0,则
w
=
0
\mathbf {w}=\mathbf {0}
w=0,矛盾),对该
α
j
α_{j}
αj有
y
j
(
w
∗
x
i
+
b
)
−
1
=
0
y_{j}(\mathbf {w^{*}x_{i}}+b)-1=0
yj(w∗xi+b)−1=0
x
i
,
y
i
\mathbf {x_{i}},y_{i}
xi,yi均为已知,此时只需求
α
α
α即可,带入上式中解出
w
∗
=
∑
i
=
1
m
α
i
y
i
x
i
\large \mathbf{w^{*}}=\sum_{i= 1}^{m} \alpha_{i}y_{i}\mathbf{x_{i}}
w∗=i=1∑mαiyixi
b
∗
=
y
j
−
∑
i
=
1
m
α
i
y
i
⟨
x
i
,
x
j
⟩
\large b^{*}=y_{j}-\sum_{i=1}^{m}\alpha_{i} y_{i}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle
b∗=yj−i=1∑mαiyi⟨xi,xj⟩
由此可求出最优的
w
∗
\mathbf {w^*}
w∗和
b
∗
b^{*}
b∗
最终的直线为
y
=
w
∗
x
+
b
∗
\Large y=\mathbf {w^*x}+b^*
y=w∗x+b∗