现代信号处理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(dZTω)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ωoptJ(ω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ωk2)

  我们假定高阶无穷小可以忽略,只考虑线性的部分。

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的主要内容,如果未能解决你的问题,请参考以下文章

现代信号处理 11 -递归最小二乘

基于LMS算法的自适应滤波

滤波器最小均方(LMS)自适应滤波器

滤波器最小均方(LMS)自适应滤波器

滤波器最小均方(LMS)自适应滤波器

变步长LMS自适应滤波算法的MATLAB程序