以下手稿属于Principe大佬,我是在硕士时期上的大佬的课
LMS
w
⃗
k
=
w
⃗
k
−
1
+
η
x
⃗
(
n
)
e
(
n
)
\vec{w}_k = \vec {w}_{k-1} + \eta \vec x(n)e(n)
wk=wk−1+ηx(n)e(n)
1.更新方向,梯度下降
的方向。梯度和方向导数
2. 本例中,
w
k
⃗
\vec{w_k}
wk =>
ϵ
x
k
⃗
\epsilon \vec{x_k}
ϵxk
- 对比
steepest descend
和LMS
- LMS
逐点
更新 - Steepest Descend
期望估计
更新
- 收敛条件
对于本主题,时间序列,时间平稳序列下,LMS效果快且不错。
但是如果是非平稳呢?
我们可以消除平稳的噪音,LMS就会追踪到不平稳的起伏的声音信号:比如人声。
因为,LMS容易最小化平稳信号的误差,可以学到一组权重很好的表征平稳信号,但是一但非平稳,LMS在这个点的误差会突增,你就可以看到weight tracking 过程了。
1. LMS的问题
- 如果,自相关矩阵的特征值差值大,那么就会收敛慢
- 随机梯度下降,会被噪声影响
- 起伏过大
- 依赖输入信号,对信号的信号功率敏感(对比NLMS)
- learning rate需要很小,参考数据的自相关矩阵的特征值分散程度
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) wk=wk−1+∣∣x(n)∣∣2ηx(n)e(n)
- 目的: 找到
更新步长
,使得w更新变化小
并且依旧能够收敛 - 对 η \eta η要求不高,设置0.1足够,因为自适应调整学习率的更新步伐
- 稳定
RLS
- 首先,
牛顿法
直接指向最小值! - 但是直接计算梯度的期望,费事费力,参考LMS/Newton
- 保证每一步都是最佳更新
- 充分利用了数据信息(R矩阵)
LMS/Newton
的需求
- 问题又来了,
R
−
1
R^{-1}
R−1矩阵怎么计算?如果引入记忆框架呢memory structure(指数框)
一种方法是:recursively 计算
推导如下:
然后加了指数记忆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=0∑kαk−l(dl−wlTxl)2
RLS算法总结
- 每个点进来,和过去的M-1个数据形成向量 x ⃗ k \vec {x}_k xk
- R k = ∑ x ⃗ k ⋅ x ⃗ k T R_k=\sum\vec {x}_k \cdot \vec{x}_k^T Rk=∑xk⋅xkT
- 总之就是不停更新自相关矩阵 R k R_k Rk( M × M M\times M M×M),M is order,即参考过去多少个点。
-
w
⃗
k
o
p
t
=
R
k
−
1
P
k
\vec{w}_{k}^{opt}=R_{k}^{-1}P_{k}
wkopt=Rk−1Pk更新迭代
APA
- 对于多维输入的一个数据点 u ⃗ \bold {\vec{u}} u,可以计算它的自相关矩阵(这是对于整个数据集自相关矩阵的近似),然后得到当前最佳的 w ⃗ o p t {\vec \bold w_{opt}} wopt, 这种做法便是LMS版本。
- 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)
wk+1=wk−ηH−1∇J(w)