目录
0 简介
用一个超平面把正负样本分开,最大化(离超平面最近的正负样本距离超平面的)间隔
注意几何间隔和函数间隔的区别 点到超平面的距离公式
仅供个人整理使用,所以写的很简略。。。
1 线性可分
{
m
i
n
1
2
w
T
w
y
i
(
w
T
x
i
+
b
)
≥
1
\left\{ \begin{array}{lr} min\cfrac12w^Tw \\\\ y_i(w^Tx_i+b)\ge1\\ \end{array} \right.
⎩⎪⎪⎨⎪⎪⎧min21wTwyi(wTxi+b)≥1
构造L
{
L
(
w
,
b
,
α
)
=
1
2
w
T
w
−
∑
i
=
1
l
α
i
[
y
i
(
w
T
x
i
+
b
)
−
1
]
α
i
≥
0
\left\{ \begin{array}{lr} L(w,b,\alpha)=\cfrac12w^Tw-\sum\limits_{i=1}^l\alpha_i[y_i(w^Tx_i+b)-1] \\\\ \alpha_i\ge0\\ \end{array} \right.
⎩⎪⎪⎨⎪⎪⎧L(w,b,α)=21wTw−i=1∑lαi[yi(wTxi+b)−1]αi≥0
L
o
l
d
≥
L
L_{old}\ge L
Lold≥L
所
以
m
i
n
L
o
l
d
≥
m
a
x
L
所以minL_{old}\ge maxL
所以minLold≥maxL由于要求原目标的最小值
所以问题:对L先求最大值,再求最小值
由于线性可分,满足slater条件,可转化为对偶问题求解
min
w
,
b
[
max
α
L
(
w
,
b
,
α
)
]
⇔
max
α
[
min
w
,
b
L
(
w
,
b
,
α
)
]
\min_{w,b}[\max_\alpha L(w,b,\alpha)]\Leftrightarrow\max_{\alpha}[\min_{w,b}L(w,b,\alpha)]
w,bmin[αmaxL(w,b,α)]⇔αmax[w,bminL(w,b,α)]转化为对偶问题之后:先求L最小值,再求最大值
1.1 w,b作参数 求极小值
求w b的偏导 令其为0
{
∂
L
∂
b
=
−
∑
i
=
1
l
α
i
y
i
=
0
∂
L
∂
w
j
=
w
j
−
∑
i
=
1
l
α
i
y
i
x
i
j
=
0
\left\{ \begin{array}{lr} \cfrac{\partial L}{\partial b}=-\sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ \cfrac{\partial L}{\partial w_j}=w_j-\sum\limits_{i=1}^l\alpha_iy_ix_{ij}=0\\ \end{array}\right.
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧∂b∂L=−i=1∑lαiyi=0∂wj∂L=wj−i=1∑lαiyixij=0
{
∑
i
=
1
l
α
i
y
i
=
0
w
=
∑
i
=
1
l
α
i
y
i
x
i
\left\{ \begin{array}{lr} \sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ w=\sum\limits_{i=1}^l\alpha_iy_ix_i\\ \end{array}\right.
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧i=1∑lαiyi=0w=i=1∑lαiyixi
1.2 α作参数 求极大值
先把上述w和b的表达式代入L 消除w和b 得到(需要展开后式 不想写过程了 直接给出结果):
L
=
−
1
2
(
∑
i
=
1
l
α
i
y
i
x
i
T
)
(
∑
j
=
1
l
α
j
y
j
x
j
)
+
∑
i
=
1
l
α
i
L=-\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)+\sum_{i=1}^l\alpha_i
L=−21(i=1∑lαiyixiT)(j=1∑lαjyjxj)+i=1∑lαi
max
α
(
L
)
=
{
min
α
1
2
(
∑
i
=
1
l
α
i
y
i
x
i
T
)
(
∑
j
=
1
l
α
j
y
j
x
j
)
−
∑
i
=
1
l
α
i
α
i
≥
0
∑
i
=
1
l
α
i
y
i
=
0
\max_\alpha(L)=\left\{ \begin{array}{lr} \min\limits_\alpha\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)-\sum\limits_{i=1}^l\alpha_i\\\\ \alpha_i\ge0\\\\ \sum\limits_{i=1}^l\alpha_iy_i=0 \end{array}\right.
αmax(L)=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧αmin21(i=1∑lαiyixiT)(j=1∑lαjyjxj)−i=1∑lαiαi≥0i=1∑lαiyi=0只剩下α参数 求出α即可求出
w
w
w
2 线性不可分
加入松弛变量
ξ
\xi
ξ 和惩罚因子
C
C
C 最优化问题为:
{
m
i
n
1
2
w
T
w
+
C
∑
i
=
1
l
ξ
i
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
ξ
i
≥
0
,
i
=
1
,
2
,
.
.
.
,
l
\left\{ \begin{array}{lr} min\cfrac12w^Tw+C\sum\limits_{i=1}^l \xi_i \\\\ y_i(w^Tx_i+b)\ge1-\xi_i\\\\ \xi_i\ge0,\quad i=1,2,...,l \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧min21wTw+Ci=1∑lξiyi(wTxi+b)≥1−ξiξi≥0,i=1,2,...,l
当
ξ
i
=
0
\xi_i=0
ξi=0,样本
i
i
i 遵守约束;
当
ξ
i
>
0
\xi_i>0
ξi>0,样本
i
i
i 违反约束。
令
w
=
0
,
b
=
0
,
ξ
i
=
2
w=0,b=0,\xi_i=2
w=0,b=0,ξi=2 约束
0
>
−
1
0>-1
0>−1恒成立 满足slater条件
所以可以转化为对偶问题 构造L:
{
L
(
w
,
b
,
α
,
ξ
,
β
)
=
1
2
w
T
w
+
C
∑
i
=
1
l
ξ
i
−
∑
i
=
1
l
α
i
[
y
i
(
w
T
x
i
+
b
)
−
1
+
ξ
i
]
−
∑
i
=
1
l
β
i
ξ
i
α
i
≥
0
ξ
i
≥
0
β
i
≥
0
\left\{ \begin{array}{lr} L(w,b,\alpha,\xi,\beta)=\cfrac12w^Tw+C\sum\limits_{i=1}^l \xi_i-\sum\limits_{i=1}^l\alpha_i[y_i(w^Tx_i+b)-1+\xi_i]-\sum\limits_{i=1}^l\beta_i\xi_i \\\\ \alpha_i\ge0\\\\ \xi_i\ge0\\\\ \beta_i\ge0 \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧L(w,b,α,ξ,β)=21wTw+Ci=1∑lξi−i=1∑lαi[yi(wTxi+b)−1+ξi]−i=1∑lβiξiαi≥0ξi≥0βi≥0
同理,分为以下两步
2.1 w , b , ξ w,b,\xi w,b,ξ 作参数 求极小值
求
w
,
b
,
ξ
w,b,\xi
w,b,ξ 的偏导 令其为0
{
∂
L
∂
b
=
−
∑
i
=
1
l
α
i
y
i
=
0
∂
L
∂
w
j
=
w
j
−
∑
i
=
1
l
α
i
y
i
x
i
j
=
0
∂
L
∂
ξ
i
=
C
−
α
i
−
β
i
=
0
\left\{ \begin{array}{lr} \cfrac{\partial L}{\partial b}=-\sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ \cfrac{\partial L}{\partial w_j}=w_j-\sum\limits_{i=1}^l\alpha_iy_ix_{ij}=0\\\\ \cfrac{\partial L}{\partial \xi_i}=C-\alpha_i-\beta_i=0 \end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∂b∂L=−i=1∑lαiyi=0∂wj∂L=wj−i=1∑lαiyixij=0∂ξi∂L=C−αi−βi=0
{
∑
i
=
1
l
α
i
y
i
=
0
w
=
∑
i
=
1
l
α
i
y
i
x
i
α
i
+
β
i
=
C
\left\{ \begin{array}{lr} \sum\limits_{i=1}^l\alpha_iy_i=0 \\\\ w=\sum\limits_{i=1}^l\alpha_iy_ix_i\\\\ \alpha_i+\beta_i=C \end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧i=1∑lαiyi=0w=i=1∑lαiyixiαi+βi=C
2.2 α , β \alpha,\beta α,β作参 求极大值
将上述表达式代入L,消除
w
,
b
,
ξ
w,b,\xi
w,b,ξ 得:
L
=
−
1
2
(
∑
i
=
1
l
α
i
y
i
x
i
T
)
(
∑
j
=
1
l
α
j
y
j
x
j
)
+
∑
i
=
1
l
α
i
L=-\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)+\sum_{i=1}^l\alpha_i
L=−21(i=1∑lαiyixiT)(j=1∑lαjyjxj)+i=1∑lαi求L的最大值 等价于下列:
max
α
,
β
(
L
)
=
{
min
α
1
2
(
∑
i
=
1
l
α
i
y
i
x
i
T
)
(
∑
j
=
1
l
α
j
y
j
x
j
)
−
∑
i
=
1
l
α
i
0
≤
α
i
≤
C
(
因
为
α
i
+
β
i
=
C
,
β
i
≥
0
)
∑
i
=
1
l
α
i
y
i
=
0
\max_{\alpha,\beta}(L)=\left\{ \begin{array}{lr} \min\limits_\alpha\cfrac12(\sum\limits_{i=1}^l\alpha_iy_ix_i^T)(\sum\limits_{j=1}^l\alpha_jy_jx_j)-\sum\limits_{i=1}^l\alpha_i\\\\ 0\le\alpha_i\le C\quad(因为\alpha_i+\beta_i=C,\beta_i\ge0)\\\\ \sum\limits_{i=1}^l\alpha_iy_i=0 \end{array}\right.
α,βmax(L)=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧αmin21(i=1∑lαiyixiT)(j=1∑lαjyjxj)−i=1∑lαi0≤αi≤C(因为αi+βi=C,βi≥0)i=1∑lαiyi=0
观察可以发现,与线性可分情况相比,其他相同,就是多了
α
i
≤
C
\alpha_i\le C
αi≤C的约束
2.3 简化表述
定义矩阵
Q
Q
Q
Q
i
j
=
y
i
y
j
x
i
T
x
j
Q_{ij}=y_iy_jx_i^Tx_j
Qij=yiyjxiTxj
定义矩阵
X
=
[
y
1
x
1
,
y
2
x
2
,
.
.
.
,
y
l
x
l
]
X=[y_1x_1,y_2x_2,...,y_lx_l]
X=[y1x1,y2x2,...,ylxl],则
Q
=
X
T
X
Q=X^TX
Q=XTX
x
:
n
×
l
;
X
:
n
×
l
;
Q
:
l
×
l
;
e
:
l
×
1
;
α
:
l
×
1
x:n×l;X:n×l;Q:l×l;e:l×1;\alpha:l×1
x:n×l;X:n×l;Q:l×l;e:l×1;α:l×1
原对偶问题可以表示为:
{
min
α
1
2
α
T
Q
α
−
e
T
α
0
≤
α
i
≤
C
y
T
α
=
0
\left\{ \begin{array}{lr} \min\limits_\alpha\cfrac12\alpha^TQ\alpha-e^T\alpha\\\\ 0\le\alpha_i\le C\\\\ y^T\alpha=0 \end{array}\right.
⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧αmin21αTQα−eTα0≤αi≤CyTα=0
2.4 KKT条件
最优点处必须满足KKT条件,也就是不等式必须为0
{
α
i
[
y
i
(
w
T
x
i
+
b
)
−
1
+
ξ
i
]
=
0
,
i
=
1
,
2
,
.
.
.
,
l
β
i
ξ
i
=
0
,
i
=
1
,
2
,
.
.
.
,
l
\left\{ \begin{array}{lr} \alpha_i[y_i(w^Tx_i+b)-1+\xi_i]=0,\quad i=1,2,...,l \\\\ \beta_i\xi_i=0,\quad i=1,2,...,l \\ \end{array} \right.
⎩⎨⎧αi[yi(wTxi+b)−1+ξi]=0,i=1,2,...,lβiξi=0,i=1,2,...,l 而之前的约束是:
{
α
i
≥
0
ξ
i
≥
0
α
i
+
β
i
=
C
y
i
(
w
T
x
i
+
b
)
≥
1
−
ξ
i
\left\{ \begin{array}{lr} \alpha_i\ge0 \\\\ \xi_i\ge0\\\\ \alpha_i+\beta_i=C \\\\ y_i(w^Tx_i+b)\ge1-\xi_i\\ \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧αi≥0ξi≥0αi+βi=Cyi(wTxi+b)≥1−ξi
根据
α
\alpha
α 的取值,分为以下情况:
- ① α i = 0 ⇒ β i = C ⇒ ξ i = 0 ⇒ y i ( w T x i + b ) ≥ 1 \alpha_i=0\Rightarrow\beta_i=C\Rightarrow\xi_i=0\Rightarrow y_i(w^Tx_i+b)\ge1 αi=0⇒βi=C⇒ξi=0⇒yi(wTxi+b)≥1
- ②
α
i
>
0
⇒
y
i
(
w
T
x
i
+
b
)
=
1
−
ξ
i
\alpha_i>0\Rightarrow y_i(w^Tx_i+b)=1-\xi_i
αi>0⇒yi(wTxi+b)=1−ξi
- ②-① α i < C ⇒ β i > 0 ⇒ ξ i = 0 ⇒ y i ( w T x i + b ) = 1 \alpha_i<C\Rightarrow\beta_i>0\Rightarrow\xi_i=0\Rightarrow y_i(w^Tx_i+b)=1 αi<C⇒βi>0⇒ξi=0⇒yi(wTxi+b)=1
- ②-② α i = C ⇒ β i = 0 ⇒ ξ i ≥ 0 即 可 ⇒ y i ( w T x i + b ) ≤ 1 \alpha_i=C\Rightarrow\beta_i=0\Rightarrow\xi_i\ge0即可\Rightarrow y_i(w^Tx_i+b)\le1 αi=C⇒βi=0⇒ξi≥0即可⇒yi(wTxi+b)≤1
综上,可分为以下三种情况:
{
α
i
=
0
⇒
y
i
(
w
T
x
i
+
b
)
≥
1
0
≤
α
i
≤
C
⇒
y
i
(
w
T
x
i
+
b
)
=
1
α
i
=
C
⇒
y
i
(
w
T
x
i
+
b
)
≤
1
\left\{ \begin{array}{lr} \alpha_i=0\Rightarrow y_i(w^Tx_i+b)\ge1\\\\ 0\le \alpha_i\le C\Rightarrow y_i(w^Tx_i+b)=1\\\\ \alpha_i=C \Rightarrow y_i(w^Tx_i+b)\le1\\ \end{array} \right.
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧αi=0⇒yi(wTxi+b)≥10≤αi≤C⇒yi(wTxi+b)=1αi=C⇒yi(wTxi+b)≤1
3 核函数
之前是 x i T x j x_i^Tx_j xiTxj 核函数将其映射为 K ( x i , x j ) K(x_i,x_j) K(xi,xj)
- 线性核 K ( x i , x j ) = x i T x j K(x_i,x_j)=x_i^Tx_j K(xi,xj)=xiTxj
- 多项式核 K ( x i , x j ) = ( γ x i T x j + b ) d K(x_i,x_j)=(\gamma x_i^Tx_j+b)^d K(xi,xj)=(γxiTxj+b)d
- 高斯核 K ( x i , x j ) = e − γ ∣ ∣ x i − x j ∣ ∣ 2 K(x_i,x_j)=e^{-\gamma||x_i-x_j||^2} K(xi,xj)=e−γ∣∣xi−xj∣∣2
- sigmoid核 K ( x i , x j ) = t a n h ( γ x i T x j + b ) K(x_i,x_j)=tanh(\gamma x_i^Tx_j+b) K(xi,xj)=tanh(γxiTxj+b)
4 SMO算法
求解出
α
\alpha
α,即可求出
w
w
w
个人认为SMO算法可以分为以下几个步骤:
- ①选取两个分量 α i , α j \alpha_i,\alpha_j αi,αj,写出损失函数 f f f
- ②根据约束条件得到 α j \alpha_j αj三种情况下最小值的取值
- ③消掉 α i \alpha_i αi,求出第2种情况(无约束)下的 α j 无 约 束 \alpha_j^{无约束} αj无约束
- ④根据 α j \alpha_j αj的值求出 α i \alpha_i αi的值
过程有点长,就先不写了。。