SMO算法思想

对偶问题优化

原 问 题 : ξ 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 ξi01+ξiyi(WTΦ(xi)+b)0α0KKTαi=01+ξiyi(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+ξiyi(WTΦ(xi)+b)=0yi(WTΦ(xi)+b)10<α<Cyi(WTΦ(xi)+b)=1α=01+ξiyi(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=1Nαi21i=1Nj=1NαiαjyiyjK(xi,xj)i=1,...,N,0αiCi=1Nα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 N2 个变量以简化上述优化问题。

消 去 常 量 : α 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.:αii=3,...,N=α1+α221α12K(x1,x1)21α22K(x2,x2)α1α2y1y2K(x1,x2)21α1y1i=3NαiyiK(x1,xi)21α2y2i=3NαiyiK(x2,xi)α1y1+α2y2=i=3Nαiyi=ξ0αiC,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算法

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)},xiX=Rn,yiY={1,+1},εα^1.α(0)=0,k=02.α1(k),α2(k),,α1(k+1),α2(k+1),ααk+13.εi=1Nαiyi=0,0αiC,i=1,2,...,Nyig(xi)1,=1,1,{xiαi=0}{xi0<αi<C}{xiαi=C},g(xi)=j=1NαjyjK(xj,xi)+b4.k=k+1,2.4.α^=αk+1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值