现代信号处理09 - 自适应与LMS
Posted Ciaran-byte
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了现代信号处理09 - 自适应与LMS相关的知识,希望对你有一定的参考价值。
自适应 Adaptive
文章目录
1. 最小二乘的两个难题
1.1 概述
我们从最小二乘开始。最小二乘有这样的基本模型。
假设我们有这样的数据
Z = ( z 1 , z 2 , . . . , z n ) T Z = (z_1,z_2,...,z_n)^T Z=(z1,z2,...,zn)T
我们希望用这组数据去估计我们的目标。我们希望能够找到一组数据,来极小化我们的目标函数。最终我们得到的解就是最小二乘解。
ω
=
(
ω
1
,
ω
2
,
.
.
.
,
ω
n
)
T
m
i
n
E
(
d
−
Z
T
ω
)
2
⇒
ω
L
S
\\omega = (\\omega_1,\\omega_2,...,\\omega_n)^T \\\\ min E(d-Z^T \\omega)^2 \\Rightarrow \\omega_{LS}
ω=(ω1,ω2,...,ωn)TminE(d−ZTω)2⇒ωLS
其实我们得到最小二乘解的时候,没有遇到过多的问题。但是实际上,我们可能会面临两方面的困难。
首先我们要面对的问题是,目标函数可能具有自身的复杂性。因为我们是以均方误差作为目标函数的,并且我们采用的是线性估计。均方和线性使得我们在求解目标函数的时候没有遇到很多问题。我们也可以通过引入对角加载项的方法,让最小二乘进行正则化。但是,我们之前做的种种努力,都没有脱离均方和线性的范围。
但是实际情况是,我们的目标函数可能并不是均方误差。这就使得,我们的目标函数求梯度,可能没有解析解。
J ( ω ) ⇒ ∇ J ( ω ) = 0 ⇒ ω J(\\omega) \\Rightarrow \\nabla J(\\omega) = 0 \\cancel \\Rightarrow \\omega J(ω)⇒∇J(ω)=0⇒ ω
其次,我们可能会面临非稳态的环境。这种非稳态来源于两部分。首先,可能我们的目标函数本身是在变的。其次,我们的数据也是时变的,其统计特性会随着时间的改变而发生改变。这样的话,我们就不能一劳永逸的求出估计了。我们就需要在每一个时刻,都进行重新求解。
一旦引入了这两个问题,我们之前做的努力,就有待商榷了。
1.2 Complexity of Objective Function
首先我们来看待第一个问题。如果目标函数得不得解析解怎么办。
这个时候我们可以引入数值优化的方法。
1.2.1 最速下降法
最经典的就是最速下降法。Steepest Descent
最速下降法是一种迭代的方法,我们从某一个初值开始,逐次进行迭代,每一次迭代都进行某种计算。我们希望我们的数据能够收敛到最优值。
ω 0 → ω 1 → ω 2 → . . . → ω n \\omega_0 \\rightarrow \\omega_1 \\rightarrow \\omega_2 \\rightarrow... \\rightarrow \\omega_n ω0→ω1→ω2→...→ωn
ω n → ω o p t ⇒ ∇ J ( ω o p t ) = 0 \\omega_n \\rightarrow \\omega_{opt} \\Rightarrow \\nabla J(\\omega_{opt}) = 0 ωn→ωopt⇒∇J(ωopt)=0
迭代的话,就会有数值方程,我们假设已经有了ωk了,我们想知道ωk和ωk+1之间有什么联系。
ω k + 1 = g ( ω k ) \\omega_{k+1} = g(\\omega_k) ωk+1=g(ωk)
我们可以通过泰勒展开来寻找这种关系
J ( ω k + 1 ) = J ( ω k ) + ( ∇ J ( ω k ) ) T ( ω k + 1 − ω k ) + o ( ∣ ∣ ω k + 1 − ω k ∣ ∣ 2 ) J(\\omega_{k+1}) = J(\\omega_k) + (\\nabla J(\\omega_k))^T(\\omega_{k+1} - \\omega_k) +o(||\\omega_{k+1}- \\omega_k||^2) J(ωk+1)=J(ωk)+(∇J(ωk))T(ωk+1−ωk)+o(∣∣ωk+1−ωk∣∣2)
我们假定高阶无穷小可以忽略,只考虑线性的部分。
J ( ω k + 1 ) = J ( ω k ) + ( ∇ J ( ω k ) ) T ( ω k + 1 − ω k ) J(\\omega_{k+1}) = J(\\omega_k) + (\\nabla J(\\omega_k))^T(\\omega_{k+1} - \\omega_k) J(ωk+1)=J(ωk)+(∇J(ωk))T(ωk+1−ωk)
我们想让这个式子尽可能的小,也就是
m i n ( ∇ J ( ω k ) ) T ( ω k + 1 − ω k ) min(\\nabla J(\\omega_k))^T(\\omega_{k+1} - \\omega_k) min(∇J(ωk))T(ωk+1−ωk)
根据柯西不等式等号成立条件
ω
k
+
1
−
ω
k
=
−
μ
∇
(
ω
k
)
\\omega_{k+1} - \\omega_k = -\\mu \\nabla(\\omega_k)
ωk+1−ωk=−μ∇(ωk)
我们就到了迭代关系
ω
k
+
1
=
ω
k
−
μ
∇
(
ω
k
)
(
1
)
\\omega_{k+1} = \\omega_k-\\mu \\nabla(\\omega_k) \\quad\\quad(1)
ωk+1=ωk−μ∇(ωk)(1)
1.2.2 牛顿法
最速下降法是一个一阶的优化方法,如果我们不满足于一阶的优化方法,我们想继续做二阶的。我们可以进行二阶展开
J ( ω k + 1 ) = J ( ω k ) + ( ∇ J ( ω k ) ) T ( ω k + 1 − ω k ) + 1 2 ( ω k + 1 − ω k ) T ∇ 2 J ( ω k ) ( ω k + 1 − ω k ) J(\\omega_{k+1}) = J(\\omega_k) + (\\nabla J(\\omega_k))^T(\\omega_{k+1} - \\omega_k) +\\frac{1}{2} (\\omega_{k+1} - \\omega_k)^T \\nabla^2 J(\\omega_k) (\\omega_{k+1} - \\omega_k) J(ωk+1)=J(ωk)+(∇J(ωk))T(ωk+1以上是关于现代信号处理09 - 自适应与LMS的主要内容,如果未能解决你的问题,请参考以下文章