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

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

LMS

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

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

机器学习时间序列之LMS和NLMS和RLS和APA
对于本主题,时间序列,时间平稳序列下,LMS效果快且不错。
机器学习时间序列之LMS和NLMS和RLS和APA

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

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

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

1. LMS的问题

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

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

NLMS

wk=wk1+ηx(n)2x(n)e(n) \vec{w}_k = \vec {w}_{k-1} +\frac{\eta}{||\vec x(n)||^2} \vec x(n)e(n)

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

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

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

RLS

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

RLS算法总结

  1. 每个点进来,和过去的M-1个数据形成向量xk\vec {x}_k
  2. Rk=xkxkTR_k=\sum\vec {x}_k \cdot \vec{x}_k^T
  3. 总之就是不停更新自相关矩阵RkR_k(M×MM\times M),M is order,即参考过去多少个点。
  4. wkopt=Rk1Pk\vec{w}_{k}^{opt}=R_{k}^{-1}P_{k}更新迭代
    机器学习时间序列之LMS和NLMS和RLS和APA

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

APA

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

Complexity:LMS<APA<RLSComplexity: LMS < APA < RLS
机器学习时间序列之LMS和NLMS和RLS和APA
机器学习时间序列之LMS和NLMS和RLS和APA
机器学习时间序列之LMS和NLMS和RLS和APA
机器学习时间序列之LMS和NLMS和RLS和APA
机器学习时间序列之LMS和NLMS和RLS和APA
机器学习时间序列之LMS和NLMS和RLS和APA

附录:

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

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