机器学习时间序列之LMS和NLMS和RLS和APA

以下手稿属于Principe大佬,我是在硕士时期上的大佬的课

LMS

w ⃗ k = w ⃗ k − 1 + η x ⃗ ( n ) e ( n ) \vec{w}_k = \vec {w}_{k-1} + \eta \vec x(n)e(n) w k=w k1+ηx (n)e(n)
1.更新方向,梯度下降的方向。梯度和方向导数
2. 本例中, w k ⃗ \vec{w_k} wk => ϵ x k ⃗ \epsilon \vec{x_k} ϵxk
机器学习时间序列之LMS和NLMS和RLS和APA_第1张图片

  • 对比steepest descendLMS
  1. LMS 逐点更新
  2. Steepest Descend期望估计更新
    机器学习时间序列之LMS和NLMS和RLS和APA_第2张图片
  • 收敛条件
    机器学习时间序列之LMS和NLMS和RLS和APA_第3张图片

机器学习时间序列之LMS和NLMS和RLS和APA_第4张图片
对于本主题,时间序列,时间平稳序列下,LMS效果快且不错。
机器学习时间序列之LMS和NLMS和RLS和APA_第5张图片

但是如果是非平稳呢?
我们可以消除平稳的噪音,LMS就会追踪到不平稳的起伏的声音信号:比如人声。

因为,LMS容易最小化平稳信号的误差,可以学到一组权重很好的表征平稳信号,但是一但非平稳,LMS在这个点的误差会突增,你就可以看到weight tracking 过程了。
机器学习时间序列之LMS和NLMS和RLS和APA_第6张图片

机器学习时间序列之LMS和NLMS和RLS和APA_第7张图片

1. LMS的问题

  1. 如果,自相关矩阵的特征值差值大,那么就会收敛
  2. 随机梯度下降,会被噪声影响
  3. 起伏过大
  4. 依赖输入信号,对信号的信号功率敏感(对比NLMS)
  5. learning rate需要很小,参考数据的自相关矩阵的特征值分散程度

机器学习时间序列之LMS和NLMS和RLS和APA_第8张图片
机器学习时间序列之LMS和NLMS和RLS和APA_第9张图片机器学习时间序列之LMS和NLMS和RLS和APA_第10张图片

NLMS

w ⃗ k = w ⃗ k − 1 + η ∣ ∣ x ⃗ ( n ) ∣ ∣ 2 x ⃗ ( n ) e ( n ) \vec{w}_k = \vec {w}_{k-1} +\frac{\eta}{||\vec x(n)||^2} \vec x(n)e(n) w k=w k1+x (n)2ηx (n)e(n)

  1. 目的: 找到更新步长,使得w更新变化小并且依旧能够收敛
  2. η \eta η要求不高,设置0.1足够,因为自适应调整学习率的更新步伐
  3. 稳定
    机器学习时间序列之LMS和NLMS和RLS和APA_第11张图片

机器学习时间序列之LMS和NLMS和RLS和APA_第12张图片

机器学习时间序列之LMS和NLMS和RLS和APA_第13张图片
机器学习时间序列之LMS和NLMS和RLS和APA_第14张图片

RLS

  1. 首先,牛顿法直接指向最小值!
  2. 但是直接计算梯度的期望,费事费力,参考LMS/Newton
  3. 保证每一步都是最佳更新
  4. 充分利用了数据信息(R矩阵)
  • LMS/Newton的需求
    机器学习时间序列之LMS和NLMS和RLS和APA_第15张图片
  1. 问题又来了, R − 1 R^{-1} R1矩阵怎么计算?如果引入记忆框架呢memory structure(指数框)
    一种方法是:recursively 计算
    机器学习时间序列之LMS和NLMS和RLS和APA_第16张图片
    推导如下:
    机器学习时间序列之LMS和NLMS和RLS和APA_第17张图片
    然后加了指数记忆window后,
    ϵ k + 1 = ∑ l = 0 k α k − l ( d l − w l T x l ) 2 \epsilon_{k+1} = \sum_{l=0}^{k}\alpha ^{k-l}(d_l - w_l^Tx_l)^2 ϵk+1=l=0kαkl(dlwlTxl)2
    机器学习时间序列之LMS和NLMS和RLS和APA_第18张图片
    机器学习时间序列之LMS和NLMS和RLS和APA_第19张图片

RLS算法总结

  1. 每个点进来,和过去的M-1个数据形成向量 x ⃗ k \vec {x}_k x k
  2. R k = ∑ x ⃗ k ⋅ x ⃗ k T R_k=\sum\vec {x}_k \cdot \vec{x}_k^T Rk=x kx kT
  3. 总之就是不停更新自相关矩阵 R k R_k Rk( M × M M\times M M×M),M is order,即参考过去多少个点。
  4. w ⃗ k o p t = R k − 1 P k \vec{w}_{k}^{opt}=R_{k}^{-1}P_{k} w kopt=Rk1Pk更新迭代
    机器学习时间序列之LMS和NLMS和RLS和APA_第20张图片

机器学习时间序列之LMS和NLMS和RLS和APA_第21张图片

APA

  1. 对于多维输入的一个数据点 u ⃗ \bold {\vec{u}} u ,可以计算它的自相关矩阵(这是对于整个数据集自相关矩阵的近似),然后得到当前最佳的 w ⃗ o p t {\vec \bold w_{opt}} w opt, 这种做法便是LMS版本。
  2. APA,考虑为何不用多个样本点近似R矩阵?
    RLS 需要从0迭代到当前,才能得到当前的最佳近似,也就是考虑过去所有数据。收敛最快!但是复杂度高于APA和LMS。APA可以减少梯度噪声,优于LMS。
APA RLS
考虑过去的M个点构成的平面输入矩阵U 需要利用过去所有迭代
复杂度较低 复杂度较高

C o m p l e x i t y : L M S < A P A < R L S Complexity: LMS < APA < RLS Complexity:LMS<APA<RLS





附录:

为什么牛顿法能够更准?
因为牛顿法考虑了二阶导Hessian矩阵,对于咱们的数据矩阵X来说,他的自相关矩阵就是Hessian矩阵
因此如下跟新权重:
w ⃗ k + 1 = w ⃗ k − η H − 1 ∇ J ( w ) \vec{w}_{k+1} = \vec{w}_k-\eta H^{-1} \nabla J(w) w k+1=w kηH1J(w)
机器学习时间序列之LMS和NLMS和RLS和APA_第22张图片

参考
机器学习时间序列之LMS和NLMS和RLS和APA_第23张图片

你可能感兴趣的:(机器学习,机器学习)