编辑: 霜天盈月祭 | 2019-07-06 |
1 2 wT w + C
2 ∑ N i =
1 e2 i , s. t. yi = wT φ( xi ) + b + ei , i = 1, 2, …, l } . ( 7) 其中, C 为惩罚因子.为求解上述优化问题, 建立 Lagrange 函数 L( w, b, e, α) = J( w, e) - ∑ N i =
1 αi { wT φ( xi ) + b + ei - yi } ( 8) 根据 Karush - Kuhn - Tuncker( KKT) 条件, 有w L =
0 → w = ∑ l i =
1 αi ( xi ) , b L =
0 → ∑ l i =
1 αi = 0, ei L =
0 → αi = Cei , αi L =
0 → wT φ( xk ) + b + ei - yi =
0 ? ? ? ? ? ? ? ? ? ? ? . ( 9) 消去方程( 9) 中的 ei 、 w 后的线性方程组为
0 eT
1 e1 Q + C -
1 [ ] I b [ ] α =
0 [ ] y , ( 10) 其中: y = [ y1 , y2 , …, yl] T ;
e1 = [ 1, 1, …, 1] T ;
α = [ α1 , α2 , …, αl] T ;
Qi, j = ( φ( xi ) T φ( xj ) ) = K( xi , xj ) , i, j = 1, 2, …, l.K( xi , xj ) 是满足 Mercer 条件的核函 数, 从式( 10) 解出 b, a, 得到回归函数即支持向量机 的输出为 y = ∑ l i =
1 αi K( xi , x) + b. ( 11) 最小二乘支持向量机的训练问题归结为一个线 性方程组的求解问题, 比需要求解一个二次规划问 题的标准支持向量机要简单快速得多, 而且能够扩 展为自回归的形式来处理动态问题. 2.
2 在线学习算法 目前, 最小二乘支持向量机的在线学习算法有 基于分块矩阵求逆公式算法 [10 ] 和基于 Cholesky 分 解更新算法的在线学习算法 [11 ] 两种, 他们都包括增 加样本和删除样本两个过程.采用基于分块矩阵求 逆公式的递推算法进行增加样本和删除样本的处 理, 即在每次训练过程中增加新样本的同时, 剔除时 间窗口中最老的样本, 窗口中参与训练的样本个数 保持不变.这样做是为了及时学习系统的新特性, 并且降低关联性较弱的老样本对学习精确度的影 响, 减小计算复杂性, 提高学习速度, 进而保证预报 实时性. 对于在线学习, 样本随着时间窗式移动, 样本个 数保持不变.用t时刻 l 个学习样本构造方程( 10) 后, 记Ht = Qt + C -
1 I, bt = b, 则方程( 10) 表示为
0 eT
1 e1 H [ ] t bt α [ ] t =
0 y [ ] t . ( 12) 可求得上述方程的解为 bt = eT
1 Ut yt eT
1 Ut e1 . ( 13) αt = Ut yt - e1 eT
1 Ut yt eT
1 Ut e [ ]
1 . ( 14) 其中, Ut = H -
1 t .可以看出, 为了求出 αt 和bt , 关键 在于求出 Ut .在t时刻, Ht 是一个 l * l 的方阵, 即Ht = Qt + C -
1 I = ft FT t Ft W [ ] t . ( 15) 其中: ft = K( xt , xt )
1 C ;
Ft = K( xt +
1 , xt ) +
1 C , …, K( xt + l -
1 , xt [ ] ) T ;
Wt = K( xt +
1 , xt +
1 ) +
1 C … K( xt + l -
1 , xt +
1 ) K( xt +
1 , xt + l -
1 ) … K( xt + l -
1 , xt + l -
1 ) +
1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? C . 利用分块矩阵求逆公式 [10 ] 计算 Ut , 则Ut = H -
1 t =
0 0
0 W -
1 [ ] t + r1 ( t) r1 ( t) T z1 ( t) . ( 16) 其中: r1( t) = -1, FT t W-1 [ ] t T ;
z1( t) =
1 ft - FT t W-1 t Ft . 在t+1时刻, 新样本( xt + l , yt + l ) 加进来, 旧样本 ( xt , yt ) 被抛弃掉, 则Ht +
1 也是一个 l * l 的方阵, 即Ht +
1 = Qt +
1 + C -
1 I = Wt Vt +
1 VT t +
1 vt [ ] +
1 , ( 17) 其中: Vt +
1 =[ K( xt + l , xt +
1 ) , …, K( xt + l , xt + l - 1) ] T ;
vt +
1 = K( xt + l , xt + l ) +
1 C . 同样利用分块矩阵求逆公式计算 Ut +
1 , 则Ut +
1 = H -
1 t +
1 = W -
1 t
0 [ ]
0 0 + r2 ( t + 1) r2 ( t + 1) T z2 ( t + 1) . ( 18) 其中: r2 ( t + 1) = VT t +
1 W -
1 t , [ ] -
1 T ;
z2 ( t + 1) =
4 8 电机与控制学报第15 卷1vt +