遞迴最小平方濾波器（RLS）屬於自適應濾波器，會針對和輸入訊號有關的損失函式，遞迴尋找可以使其最小化的係數。此方法和想要減少均方誤差的最小均方濾波器（LMS）不同。在推導遞迴最小平方濾波器時，會假設輸入訊號是確定性的，而最小均方濾波及其他演演算法會假設訊號。和其他的方法比較起來，遞迴最小平方濾波器的收斂速度特別快。但其代價是非常高的運算複雜度。 演進 遞迴最小平方濾波器是由卡爾弗里德里希高斯發現，但被遺忘無人使用，直到 Plackett 在 1950 年發現高斯 1821 年的著作之後，才再獲使用。一般來說，遞迴最小平方濾波器可以求得任何可以用自適應濾波器求解的問題。例如，假設訊號 d n 從有回聲的有噪通道傳輸，接收到的是 x nsum_k0q b_n k d nkv n 其中 v n 代表加性高斯白噪聲。RLS 濾波器的目的是用 p1 階有限衝激響應（FIR）濾波器 mathbf w，還原想要的訊號 d n： d n approx sum_k0p w k x nkmathbf wmathit T mathbf x_n 其中 mathbf x_n x nquad x n1quadldotsquad x npT 是包括 x n 最近 p1 次取樣的 zhtw 行；zhcn 列； 向量。接收到想要訊號的估測值為 hat dn sum_k0p w_n k x nkmathbf w_nmathit T mathbf x_n 其目的是估測濾波器 mathbf w 的引數，在每個時間 n，會將目前的估測值用 mathbf w_n 表示，自適應的最小方差估測值為 mathbf w_n1。mathbf w_n 也是如下的列向量，其轉置 mathbf w_nmathit T 則是 zhtw 列；zhcn 行； 向量。矩陣乘法 mathbf w_nmathit T mathbf x_n（也是 mathbf w_n 和 mathbf x_n 的點積）是 hat dn 為純量。若 hat dnd n 在最小二乘法的概念下，其值是小的，其估測就算是好的。 隨著時間演進，會希望避免完全重做最小方差演演算法來找新估測值 mathbf w_n1，會希望可以將新估測值 mathbf w_n1 用 mathbf w_n 配合其他變數來表示。 遞迴最小平方濾波器的好處是不用進行反矩陣運算，因此可以節省計算時間。另一個好處是在其結果之後，提供了類似卡爾曼濾波的直覺資訊。 概念 遞迴最小平方濾波器背後的概念是在收到新資料時，適當選擇濾波器係數 mathbf w_n、更新濾波器，以及讓損失函式 C 最小化。誤差訊號 e n 和期望訊號 d n 之間的關係，可以用以下的負反饋方塊圖來說明： 誤差會透過估測值 hat dn，受到濾波器係數影響： e nd nhat dn 加權最小方差函式 C 希望可以最小化的費用函式 是 e n 的函式，因此也會受到濾波器係數的影響： C mathbf w_nsum_i0nlambdani e2 i 其中 0lambdale 1，是「遺忘因子」（forgetting factor），以指數的方式讓較舊的資料有較小的加權。 費用函式最小化的方式，是將係數向量 mathbf w_n 中的所有項次微分，並讓微分為零 frac partial C mathbf w_npartial w_n ksum_i0n 2lambdani e icdot frac partial e ipartial w_n ksum_i0n 2lambdani e ix ik0 qquad k01ldotsp 接著，用以下的誤差訊號來代替 e n sum_i0nlambdanileft d isum_ell0p w_n ell x iellright x ik 0qquad k01ldotsp 將等式重組如下 sum_ell0p w_n ellleft sum_i0n lambdanix iell x ikright sum_i0n lambdani d i x ik qquad k01ldotsp 可以表示為以下的矩陣 mathbf R_xnmathbf w_nmathbf r_dxn 其中 mathbf R_xn 是 x n 的加權矩陣，而 mathbf r_dxn 是 d n 和 x n 互協方差的等效估計。依照上式可以找到最小化費用函式的係數 mathbf w_nmathbf R_x1nmathbf r_dxn 如何選擇 λ lambda 越小，舊資料對協方差矩陣的影響越小，讓濾波器對最近的資料較敏感，這也會讓濾波器的 coefficients 比較容易振盪。lambda1 稱為 growing window 遞迴最小平方演演算法。在實務上，會讓 lambda098 介於 1 之間 Emannual C Ifeacor Barrie W Jervis Digital signal processing a practical approach second edition Indianapolis Pearson Education Limited 2002 p 718。利用第二型的最大可能區間估測，可以用資料中估測到最佳的 lambdaSteven Van Vaerenbergh Ignacio Santamaría Miguel LázaroGredilla Estimation of the forgetting factor in kernel recursive least squares 2012 IEEE International Workshop on Machine Learning for Signal Processing 2012 accessed June 23 2016。 遞迴演演算法 以上敘述的結論是可以決定費用函式的引數，使費用函式最小化的方程式。以下則說明如何找到此形式的遞迴解 mathbf w_nmathbf w_n1Deltamathbf w_n1 其中 Deltamathbf w_n1 是時間 n1 的修正因子。首先將互協方差 mathbf r_dxn 用 mathbf r_dxn1 來表示 mathbf r_dxn sum_i0nlambdani d imathbf xi sum_i0n1lambdani d imathbf xilambda0 d nmathbf xn lambdamathbf r_dxn1d nmathbf xn 其中 mathbf xi 是 p1 維的資料向量 mathbf xix i x i1 dots x ip T 接下來以相似的方式，用 mathbf R_xn1 表示 mathbf R_xn mathbf R_xn sum_i0nlambdanimathbf ximathbf xTi lambdamathbf R_xn1mathbf xnmathbf xTn 為了要找到其係數向量，接下來要關注的是決定性自協方差矩陣的反矩陣。這問題可以使用。若 A lambdamathbf R_xn1 是 p1 times p1 矩陣 U mathbf xn 是 p1 times 1（zhtw 行；zhcn 列； 向量） V mathbf xTn 是 1 times p1（zhtw 列；zhcn 行； 向量） C mathbf I_1 是 1 times 1 單位矩陣 依照伍德伯裡矩陣恆等式，可得到下式 mathbf R_x1n left lambdamathbf R_xn1mathbf xnmathbf xTnright1 dfrac 1lambdaleftlbracemathbf R_x1n1dfrac mathbf R_x1n1mathbf xnmathbf xTnmathbf R_x1n1lambdamathbf xTnmathbf R_x1n1mathbf xnrightrbrace 為了和標準的文獻一致，定義 mathbf Pn mathbf R_x1n lambda1mathbf Pn1mathbf gnmathbf xTnlambda1mathbf Pn1 其中的增益向量 g n 為 mathbf gn lambda1mathbf Pn1mathbf xnleft1mathbf xTnlambda1mathbf Pn1mathbf xnright1 mathbf Pn1mathbf xnleftlambdamathbf xTnmathbf Pn1mathbf xnright1 在往下推導之前，需要將 mathbf gn 改為以下的形式 mathbf gnleft1mathbf xTnlambda1mathbf Pn1mathbf xnright lambda1mathbf Pn1mathbf xn mathbf gnmathbf gnmathbf xTnlambda1mathbf Pn1mathbf xn lambda1mathbf Pn1mathbf xn 等式兩側減去左邊的第二項，得到 mathbf gn lambda1mathbf Pn1mathbf xnmathbf gnmathbf xTnlambda1mathbf Pn1mathbf xn lambda1left mathbf Pn1mathbf gnmathbf xTnmathbf Pn1rightmathbf xn 配合 mathbf Pn 的遞迴式定義，希望的形式如下 mathbf gnmathbf Pnmathbf xn 此時就可以完成遞迴，如以上討論 mathbf w_n mathbf Pnmathbf r_dxn lambdamathbf Pnmathbf r_dxn1d nmathbf Pnmathbf xn 第二步是從 mathbf r_dxn 的遞迴式定義開始，接著使用 mathbf Pn 的遞迴式定義，配合調整後的 mathbf gn，可以得到 mathbf w_n lambdaleft lambda1mathbf Pn1mathbf gnmathbf xTnlambda1mathbf Pn1rightmathbf r_dxn1d nmathbf gn mathbf Pn1mathbf r_dxn1mathbf gnmathbf xTnmathbf Pn1mathbf r_dxn1d nmathbf gn mathbf Pn1mathbf r_dxn1mathbf gnleft d nmathbf xTnmathbf Pn1mathbf r_dxn1right 配合 mathbf w_n1mathbf Pn1mathbf r_dxn1，可以得到以下的更新方程式 mathbf w_n mathbf w_n1mathbf gnleft d nmathbf xTnmathbf w_n1right mathbf w_n1mathbf gnalpha n 其中 alpha nd nmathbf xTnmathbf w_n1 是先驗誤差。將此和後驗誤差（在濾波器更新後計算的誤差）比較 e nd nmathbf xTnmathbf w_n 這就找到了修正因子 Deltamathbf w_n1mathbf gnalpha n 這個結論指出了修正係數直接和誤差和增益向量成正比，增益向量會透過加權因子 lambda 影響想要的靈敏度，這個結論很符合直覺。 RLS 演演算法摘要 p 階 RLS 濾波器的演演算法可以摘要如下 引數： p 階數 lambda 遺忘因子 delta mathbf P0 的初始值 開始： mathbf w00 x k0 kpdots1 d k0 kpdots1 mathbf P0delta I 其中 I 是 p1 階的單位矩陣 計算： 針對 n12dots mathbf xn left begin matrix x n x n1 vdots x np end matrix right alpha n d nmathbf xT nmathbf wn1 mathbf gnmathbf Pn1mathbf xnleftlambdamathbf xTnmathbf Pn1mathbf xnright1 mathbf Pnlambda1mathbf Pn1mathbf gnmathbf xTnlambda1mathbf Pn1 mathbf wn mathbf wn1alpha nmathbf gn P 的遞迴依照代數 Riccati 方程，也類似卡爾曼濾波的結果 Welch Greg and Bishop Gary An Introduction to the Kalman Filter Department of Computer Science University of North Carolina at Chapel Hill September 17 1997 accessed July 19 2011。 相關條目 自適應濾波器 最小均方濾波器 書目 Simon Haykin Adaptive Filter Theory Prentice Hall 2002 MHA Davis RB Vinter Stochastic Modelling and Control Springer 1985 Weifeng Liu Jose Principe and Simon Haykin Kernel Adaptive Filtering A Comprehensive Introduction John Wiley 2010 RLPlackett Some Theorems in Least Squares Biometrika 1950 37 149157 CFGauss Theoria combinationis observationum erroribus minimis obnoxiae 1821 Werke 4 Gottinge Category 數字訊號處理 Category 濾波器理論 Category 統計訊號處理