对偶问题优化
原 问 题 : ξ i ≤ 0 1 + ξ i − y i ( W T Φ ( x i ) + b ) ≤ 0 对 偶 问 题 约 束 : α ∗ ≥ 0 K K T 条 件 : α i = 0 或 1 + ξ i − y i ( W T Φ ( x i ) + b ) = 0 偏 导 ( 最 小 化 ) : α i + β i = C 原问题:\\ \xi_i\le0\\ 1+\xi_i-y_i( W^T\Phi(x_i)+b)\le0\\ 对偶问题约束:\\ \alpha^*\ge0\\ KKT条件:\\ \alpha_i=0 或 1+\xi_i-y_i(W^T\Phi(x_i)+b)=0\\ 偏导(最小化):\\ \alpha_i+\beta_i=C 原问题:ξi≤01+ξi−yi(WTΦ(xi)+b)≤0对偶问题约束:α∗≥0KKT条件:αi=0或1+ξi−yi(WTΦ(xi)+b)=0偏导(最小化):αi+βi=C
亦即
α ∗ = C β = 0 ξ i = 0 或 ξ i ≠ 0 1 + ξ i − y i ( W T Φ ( x i ) + b ) = 0 y i ( W T Φ ( x i ) + b ) ≤ 1 0 < α ∗ < C y i ( W T Φ ( x i ) + b ) = 1 α ∗ = 0 1 + ξ i − y i ( W T Φ ( x i ) + b ) = g ( w ) ≤ 0 β ∗ = C ξ i = 0 y i ( W T Φ ( x i ) + b ) ≥ 1 \begin{aligned} \alpha^* =C \quad \beta=0 \quad \xi_i=0或\xi_i\not=0\\ 1+\xi_i-y_i(W^T\Phi(x_i)+b)=0\\ y_i(W^T\Phi(x_i)+b)\le1\\ \\ \\ 0<\alpha^*<C \quad y_i(W^T\Phi(x_i)+b)=1\\ \\ \\ \alpha^*=0 \quad 1+\xi_i-y_i(W^T\Phi(x_i)+b)=g(w)\le0\\ \beta^*=C \quad \xi_i=0\\ \quad y_i(W^T\Phi(x_i)+b)\ge1 \end{aligned} α∗=Cβ=0ξi=0或ξi=01+ξi−yi(WTΦ(xi)+b)=0yi(WTΦ(xi)+b)≤10<α∗<Cyi(WTΦ(xi)+b)=1α∗=01+ξi−yi(WTΦ(xi)+b)=g(w)≤0β∗=Cξi=0yi(WTΦ(xi)+b)≥1
小结
记 : g ( x ) = W T Φ ( x ) + b 那 么 : y i g ( x i ) = { ≥ 1 , α = 0 = 1 , 0 < α < C ≤ 1 , α = C \begin{aligned} 记:&\\ &g(x)=W^T\varPhi(x)+b\\ 那么:&\\ &y_ig(x_i)=\begin{cases} \ge1 ,&\alpha=0\\ =1, &0 < \alpha <C\\ \le 1, & \alpha=C \end{cases} \end{aligned} 记:那么:g(x)=WTΦ(x)+byig(xi)=⎩⎪⎨⎪⎧≥1,=1,≤1,α=00<α<Cα=C
SMO算法思想
优化问题:
最
大
化
:
θ
(
α
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
限
制
条
件
:
∀
i
=
1
,
.
.
.
,
N
,
有
0
≤
α
i
≤
C
∑
i
=
1
N
α
i
y
i
=
0
最大化:\\ \theta(\alpha)=\sum_{i=1}^{N}{\alpha_i}-\frac 12 \sum_{i=1}^{N}{\sum_{j=1}^{N}{\alpha_i\alpha_jy_iy_j \quad K(x_i,x_j)}}\\ 限制条件:\\ \forall i=1,...,N ,有 0 \le \alpha_i \le C \quad \sum_{i=1}^{N}{\alpha_iy_i}=0
最大化:θ(α)=i=1∑Nαi−21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)限制条件:∀i=1,...,N,有0≤αi≤Ci=1∑Nαiyi=0
N个未知参数
α
i
\alpha_i
αi, 鉴于
α
i
\alpha_i
αi 满足
∑
i
=
1
N
α
i
y
i
=
0
\sum_{i=1}^{N}{\alpha_iy_i}=0
∑i=1Nαiyi=0,
选择其中的两个变量
α
1
,
α
2
\alpha_1,\alpha_2
α1,α2 而固定其余的
N
−
2
N-2
N−2 个变量以简化上述优化问题。
消 去 常 量 : α i 其 中 i = 3 , . . . , N 最 大 化 : θ ′ ( α 1 , α 2 ) = α 1 + α 2 − 1 2 α 1 2 K ( x 1 , x 1 ) − 1 2 α 2 2 K ( x 2 , x 2 ) − α 1 α 2 y 1 y 2 K ( x 1 , x 2 ) − 1 2 α 1 y 1 ∑ i = 3 N α i y i K ( x 1 , x i ) − 1 2 α 2 y 2 ∑ i = 3 N α i y i K ( x 2 , x i ) s . t . : α 1 y 1 + α 2 y 2 = − ∑ i = 3 N α i y i = ξ 0 ≤ α i ≤ C , i = 1 , 2 \begin{aligned} 消去常量:& \alpha_i \quad 其中i=3,...,N\\ 最大化:&\\ \theta'(\alpha_1,\alpha_2)&=\alpha_1+\alpha_2\\ &- \frac 1 2 \alpha_1^2 K(x_1,x_1) -\frac 1 2 \alpha_2^2K(x_2,x_2)\\ &-\alpha_1\alpha_2y_1y_2K(x_1,x_2)\\ &-\frac 1 2 \alpha_1y_1\sum_{i=3}^{N}{\alpha_iy_iK(x_1,x_i)}\\ &-\frac 1 2 \alpha_2y_2\sum_{i=3}^{N}{\alpha_iy_iK(x_2,x_i)}\\ s.t.:&\\ & \alpha_1y_1+\alpha_2y_2=-\sum_{i=3}^{N}{\alpha_iy_i}=\xi\\ & 0 \le \alpha_i\le C,\quad i=1,2 \end{aligned} 消去常量:最大化:θ′(α1,α2)s.t.:αi其中i=3,...,N=α1+α2−21α12K(x1,x1)−21α22K(x2,x2)−α1α2y1y2K(x1,x2)−21α1y1i=3∑NαiyiK(x1,xi)−21α2y2i=3∑NαiyiK(x2,xi)α1y1+α2y2=−i=3∑Nαiyi=ξ0≤αi≤C,i=1,2
又由于 y i = { + 1 , − 1 } y_i=\lbrace+1,-1 \rbrace yi={+1,−1} ,因此 α 1 y 1 + α 2 y 2 = ξ \alpha_1y_1+\alpha_2y_2=\xi α1y1+α2y2=ξ 可分为以下两种情况:
鉴于此,对
α
1
,
α
2
\alpha_1,\alpha_2
α1,α2 的优化问题进一步简化为沿直线的优化,实质上将对
α
1
,
α
2
\alpha_1,\alpha_2
α1,α2 两个变量的优化问题简化为对
α
1
\alpha_1
α1 或
α
2
\alpha_2
α2 一个变量的优化问题。
解析优化问题
SMO算法
输 入 : 训 练 集 数 据 T = { ( x 1 , x 2 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } , 其 中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , 精 度 ε 输 出 : 近 似 解 α ^ 1. 取 近 似 值 α ( 0 ) = 0 , 令 k = 0 2. 选 取 优 化 变 量 α 1 ( k ) , α 2 ( k ) , 解 析 上 面 的 优 化 问 题 , 求 得 最 优 解 α 1 ( k + 1 ) , α 2 ( k + 1 ) , 更 新 α 为 α k + 1 3. 若 在 精 度 ε 的 范 围 内 满 足 停 机 条 件 : ∑ i = 1 N α i y i = 0 , 0 ≤ α i ≤ C , i = 1 , 2 , . . . , N y i g ( x i ) { ≥ 1 , { x i ∣ α i = 0 } = 1 , { x i ∣ 0 < α i < C } ≤ 1 , { x i ∣ α i = C } 其 中 , g ( x i ) = ∑ j = 1 N α j y j K ( x j , x i ) + b 则 转 4. 否 则 令 k = k + 1 , 转 2. 4. 取 α ^ = α k + 1 输入: 训练集数据 T=\{(x_1,x_2),(x_2,y_2),...,(x_N,y_N)\} ,\\ 其中x_i \in X= R^n, y_i \in Y = \{-1,+1\},精度 \varepsilon \\ \\ 输出:近似解 \hat \alpha\\ 1.取近似值 \alpha^{(0)}=0,令k=0\\ 2.选取优化变量 \alpha_1^{(k)} , \alpha_2^{(k)}, \textcolor{red}{解析上面的优化问题,} \\求得最优解 \alpha_1^{(k+1)} , \alpha_2^{(k+1)} ,更新 \alpha 为 \alpha^{k+1}\\ 3.若在精度\varepsilon 的范围内满足停机条件:\\ \sum_{i=1}^{N}{\alpha_iy_i}=0, \quad 0 \le \alpha_i \le C, i=1,2,...,N\\ y_ig(x_i)\begin{cases} \ge1, & \lbrace x_i \enspace|\enspace\alpha_i=0\rbrace \\ =1, & \lbrace x_i \enspace|\enspace0< \alpha_i<C\rbrace \\ \le1, & \lbrace x_i \enspace|\enspace\alpha_i=C\rbrace \end{cases}\\ 其中, g(x_i)=\sum_{j=1}^{N}{\alpha_jy_jK(x_j,x_i)+b} 则转 4.否则令k=k+1,转2.\\ 4.取\hat \alpha =\alpha^{k+1} 输入:训练集数据T={(x1,x2),(x2,y2),...,(xN,yN)},其中xi∈X=Rn,yi∈Y={−1,+1},精度ε输出:近似解α^1.取近似值α(0)=0,令k=02.选取优化变量α1(k),α2(k),解析上面的优化问题,求得最优解α1(k+1),α2(k+1),更新α为αk+13.若在精度ε的范围内满足停机条件:i=1∑Nαiyi=0,0≤αi≤C,i=1,2,...,Nyig(xi)⎩⎪⎨⎪⎧≥1,=1,≤1,{xi∣αi=0}{xi∣0<αi<C}{xi∣αi=C}其中,g(xi)=j=1∑NαjyjK(xj,xi)+b则转4.否则令k=k+1,转2.4.取α^=αk+1