自適應濾波:梯度下降算法


作者:桂。

時間:2017-04-01  06:39:15

鏈接:http://www.cnblogs.com/xingshansi/p/6654372.html 

聲明:歡迎被轉載,不過記得注明出處哦~


【學習筆記07】

前言

西蒙.赫金的《自適應濾波器原理》第四版第四章:最速下降算法。優化求解按照有/無約束分類:如投影梯度下降算法((Gradient projection)便是有約束的優化求解;按照一階二階分類:梯度下降(Gradient descent)、Newton法等;按照偏導存在與否分類:如梯度下降、次梯度下降(Subgradient descent)等.本文主要整理:梯度下降法在維納濾波中的應用.

一、原理思想

 對於准則函數:

需要尋找最優解$w_o$,使它對所有$w$滿足$J(w_o) \le J(w)$。可以利用迭代下降的思路求解:

從初始值$w(0)$出發, 產生一系列權向量$w(1)$,$w(2)$...,使得准則函數每一次迭代都是下降的:$J(w(n+1)) < J(w(n))$,其中$w(n)$是權向量的過去值,$w(n+1)$是更新值。

定義梯度:

$g = \nabla J\left( w \right) = \frac{{\partial J\left( w \right)}}{{\partial w}}$

負梯度方向為減小方向:

$w(n + 1) = w(n) - \mu  \cdot g(n)$

為了說明准則函數隨着迭代下降,從一階泰勒展開可以觀察:

二、應用實例

 仍然借助維納濾波一文的例子:

已知

含有噪聲的正弦波:$y(n) = x(n) + w(n) = \sin (2\pi fn + \theta ) + w(n)$.

其中$f = 0.2$為歸一化頻率[-1/2, 1/2],$\theta$為正弦波相位,服從[0,2$\pi$]的均勻分布,$w(n)$為具有零均值和方差$\sigma^2 = 2$的高斯白噪聲。

時域維納濾波器。假設濾波器為時域濾波器時$M=2$.

首先求解相關矩陣:

$x(n)$為廣義平穩隨機過程,可以計算其自相關函數:

${r_{xx}}\left( m \right) = \cos (2\pi fn)$

得到關於均方誤差的准則函數:

代入數值:

迭代的時候,可以保留矩陣的形式,也可以利用代數的形式,形式不同但本質相同,以矩陣為例:

得到梯度$\nabla J =  - 2{\bf{r}}_{yd}^{ - 1} + 2\;{{\bf{R}}_{yy}}{\bf{h}}$.

對應搜索代碼:

r_yd = [0.5 0.154]';
R_yy = [2.5 0.154;0.154 2.5];
h_est = [0 0]';
deltaJold = Inf;
mu = 0.001;
for i = 1:2000
    deltaJ = -2*r_yd+2*R_yy*h_est;
    if abs(deltaJ-deltaJold)<1e-5
        break;
    end
    h_est = h_est - mu*deltaJ
    deltaJold = deltaJ;
end

即可得出最優解$h = [0.197 , 0.0495]'$。

 

三、穩定性

上文中$\mu$取0.001,$\mu$如何取值才能保證梯度正常下降呢?事實上,如果$\mu$過大結果會往外發散而不是收斂於最優點。

借助維納濾波一文可以知道,

${w_o} = \;{\bf{R}}_{_{yy}}^{ - 1}{\bf{r}}_{yd}^ - $

從而有:

記$c(n) = w_o - w(n)$:

$c(n + 1) = c(n)\left( {{\bf{I}} - 2\mu {{\bf{R}}_{yy}}} \right)$

對於正定矩陣,存在正交矩陣:

${{\bf{R}}_{yy}} = {\bf{Q\Lambda }}{{\bf{Q}}^{ - 1}}$

即${\bf{I}} - 2\mu {{\bf{R}}_{yy}}{\rm{ = }}{\bf{Q}}\left( {{\bf{I}} - 2\mu {\bf{\Lambda }}} \right){{\bf{Q}}^{ - 1}}$,為此保證最大特征值小於1即可保證收斂:

如對應上面$h$的求解,$\frac{1}{{{\lambda _{\max }}}}= 0.3768$,用上面的程序容易驗證$\mu = 0.37$時滿足條件,可以收斂;$\mu = 0.38$則發散,無法得到最優值。

  

四、理論擴展

如果沿着曲線直接尋優,我們稱為:精確直線搜索。如計算:

這是就是$\Delta x$與$x$固定后,該問題就是$t$的函數,易求解。但實際情況中,准則函數並不總是這么理想,因此借助近似的思路去尋優,成了一種更普適的方式,梯度下降法、牛頓法都是基於該思路。

這里給出一個更簡單的例子$y = kx$的擬合問題,其中$k$未知。

首先給出結果圖:

 

100組隨機試驗,未添加噪聲。

給出code:

N = 100;
a = zeros(1,N);
mu =0.002;
flag = 2;
for k = 1:N
    xold = linspace(-10,10,60);
    nums = randperm(length(xold));
    x = xold(nums);
    y = 3*x +2*randn(1,length(x));
    switch flag
        case 1
            a_est = 0;
            batch = 10;
            for i=1:batch:length(x)
                a_est = a_est+mu*(x(i:i+batch-1)*(y(i:i+batch-1)-a_est*x(i:i+batch-1)).');
            end
        case 2
            a_est = 0;
            batch = 1;
            for i=1:batch:length(x)
                a_est = a_est+mu*(x(i:i+batch-1)*(y(i:i+batch-1)-a_est*x(i:i+batch-1)).');
            end
    end
    a(k) = a_est;
end

對於相關矩陣:來自統計均方誤差,但實際應用中通常無法得知概率分布以及相關矩陣,通常是基於遍歷性假設,以便利用時間換取空間。即:

${{\bf{R}}_{yy}} \approx \frac{{{{\bf{y}}^T}{\bf{y}}}}{N}$

與之對應的統計誤差也不再是均方意義上,假設時間換空間的序列長$N$:

簡單來說:當$N$較大時,對應的梯度下降稱之為——批量(Batch)梯度下降,當$N=1$即每次來一個樣本,對應稱之為——隨機梯度下降

通過上面的小程序可以得出兩點結論:

  • 初始值
  • 迭代步長
  • 特征尺寸(一維無此問題)

二者都對尋優產生影響。事實上對於高維數據,不同特征尺寸不同,對尋優也有影響,通常需要分別對特征進行歸一化。

  A-批量梯度下降

仍然以線性回歸為例:

這里$x_0 = 1$,給出准則函數,便於求導通常添加$1/2$:

求偏導:

從而:

可以寫為:

迭代至滿足收斂條件即可求解。

  B-隨機梯度下降

對應批量梯度下降,當$m = 1$即一次只接受/處理一個樣本,對應為隨機梯度下降。

事實上,當引入噪聲時,時間換空間只能是一種近似,即批量/隨機梯度下降的最優解,通常不是維納濾波的最優解。基於隨機梯度的最小均方誤差(Least mean square,LMS)通常稱為LMS算法,以示與梯度下降的區別。

  C-Newton-Raphson法

 梯度下降法基於一階近似,如果二階逼近收斂是否會更快一些?即尋找梯度的梯度——走一步想兩步。

再次給出梯度下降的一階Taylor近似:

$f\left( {{\bf{x}} + \Delta {\bf{x}}} \right) \approx f\left( {\bf{x}} \right) + {\left( {\nabla f\left( {\bf{x}} \right)} \right)^T} \cdot \Delta {\bf{x}}$

給出二階Taylor近似:

${\nabla ^2}f\left( {\bf{x}} \right)$對應的矩陣稱為Hessian矩陣,該方法成為牛頓法(Newton),也稱Newton-Raphson法。

對於點$x_k$,選擇下降方向:

參考:

  • Simon Haykin 《Adaptive Filter Theory Fourth Edition》.
  • Philipos C.Loizou《speech enhancement theory and practice》.
  • 張賢達《矩陣分析與應用》.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM