1. 程式人生 > >轉:對LS,MMSE,LMMSE,ML,MAP,LMS,AR,MSE誤差等演算法進行一次清楚的比較

轉:對LS,MMSE,LMMSE,ML,MAP,LMS,AR,MSE誤差等演算法進行一次清楚的比較

    談談我的理解,不當之處歡迎大家指正:
這一系列演算法都可以是基於接收資料來對目標資料進行估計,
1。LS用於接收到的資料塊長度一定,並且資料、噪聲(干擾)的統計特性未知或者非平穩的情況,
其優化目標是使得基於該資料塊的估計與目標資料塊間加權的歐幾里德距離最小,
當有多個數據塊可用時,可用其遞迴演算法RLS減小計算量;
2。MMSE的優化目標是為了使基於接收資料的估計值和目標資料的均方誤差最小化,
LMMSE算是MMSE的特例,在這種情況下,基於接收資料的估計值是接收資料的
線性變換,
在資料統計特性已知的情況下,某些時候可以直接求解,比如維納解;
在資料統計特性未知但是平穩的時候,可以通過遞迴迭代的演算法求解,諸如:LMS演算法。
3。ML和MAP顧名思義,前者是為了使似然概率最大後者是為了使得後驗概率最大,
具體說來就是,假設接收資料為rx,目標資料為tx,在已知rx的情況下,
ML就是求使得p(rx|tx)最大的tx,MAP就是求使得p(tx|rx)最大的tx。
4。AR(自迴歸),這是假設目標資料滿足自迴歸模型,
這時我們需要求解的就是相應的模型的係數了。
5。MSE?如果是指均方誤差,就可參見前面的敘述。
我記得有種演算法是MOE,即最小化輸出能量,結合一定的約束,
它可以使得輸出訊號中目標訊號成分不變,但是干擾最小化。

我先來談談ML(Maximum Likelihood,最大似然)和MAP(Maximum a posteriori Probability,最大後驗概率)演算法的區別
在MAP演算法中,後驗概率由似然函式和先驗概率組成。由於引入了資料來源的先驗統計特性,理論上MAP演算法比最大似然估計演算法(ML)估計得要準確(如果輸入的資料先驗概率不等的話,如果先驗概率相等的話效能是相當的)。

以通道解碼為例,最大似然譯碼等同於尋找最接近於接收向量的碼字,最大後驗概率的不同在於使符號(bit)出錯的概率最小,而不是碼字出錯概率最小。1974年Bahl, Cocke, Jelinik and Raviv提出了一種基於MAP的譯碼演算法BCJR,這是Turbo碼演算法的基礎。
以通道Turbo迭代均衡為例項如圖,可以看到,經過交織後的資訊被反饋到輸入,輸入增加了資料的先驗統計資訊。

"最大後驗概率的不同在於使符號(bit)出錯的概率最小,而不是碼字出錯概率最小"這個說法是不太正確的,最大後驗概率檢測可以是針對“碼字”也可以是針對每個“編碼符號”。實際上,BCJR演算法也稱為“逐符號最大後驗概率譯碼”。BCJR演算法是4個提出者首字母的縮寫,其原論文題目好像是optimal decoding of linear codes for minimizing symbol error rate,由題目就可以知道BCJR演算法是使編碼符號錯誤概率最小的演算法。

建模只是一種主管看法而已,不一定就符合客觀。既然用了某種引數模型,就入鄉隨俗吧。
任何資料,只要接收到了,就是確定的,因此所謂的先驗分佈只是“信仰”,作為一種“偏見”,也一定要考慮到評價準則中去。不承認序列的先驗分佈這個“信仰”而只承認噪聲的先驗分佈,極大似然的序列估計就被認為是最優的。如果噪聲的先驗也不能相信,還有半引數非引數辦法,當然有人說統計學不是數學,甚至科學都不是。
信仰問題沒法證偽。我喜歡極大似然是因為其它的準則得到的方法效能在單次觀測下不能保證。作為一種偏好,我喜歡推得的方法能在各種情況下都獲得確定的效果,而不是加一個期望了事。
從實用主義的角度,加入更多的先驗分佈,往往有助於簡化計算,僅此而已。

轉載水木上關於LS和MMSE的區別的回答

ls 是誤差平方和最小,mmse是誤差平方和均值最小。它們的準則是不同的,一個是統計意義,一個是確定意義的。雖然統計意義的量實際也要用樣本來計算,但是也不能說他們是等價的吧。
MMSE要到相關矩陣(雖然也要用樣本來計算),但是LS中卻沒有統計相關量的影子。

更具體的說,如果觀測到的含噪結果Y是待估計引數X的一個函式:F(X)=Y。MMSE準則是基於最小化E{(X'-X)^H*(X'-X)}來計算估計值X'的;而least squares是選擇X'而令Y-F(X')的二乘和最小。

所以我們看到,這裡考慮誤差的物件是完全不一樣的(且不論誤差定義的不同):MMSE考慮的是estimator的誤差,而LS考慮的是觀測量的誤差。在這樣的情況下,MMSE估計必須要知道條件概率P(X|Y),通常情況下即X和噪聲的分佈。而LS估計因為只著眼於觀測量,則完全沒有這樣的限制。這裡我們看到,如果討論estimator是否最優,必須考慮到各estimator所具有的先驗資訊(MMSE要求知道函式F的形式,以及X和噪聲分佈;LS僅要求知道函式F)。

考慮一個最簡單的Y=AX+V模型在LMMSE準則和LS準則下的估計,這裡V是零均值高斯白噪聲(因此LMMSE和MMSE等價)。此時,LMMSE給出X'=inv[inv(R_x)+(A^H)*inv(R_v)*A]*(A^H)*inv(R_v)*Y;而LS給出X'=inv[(A^H)*A]*(A^H)*Y。顯然僅在噪聲的譜密度趨近為零的時候,兩個estimator才可能等價(即此時噪聲的資訊已經無關緊要了)。

以上式中 ^H表示共軛轉置

LS是“最小二乘”,MMSE“最小均方誤差”,是兩種優化代價函式的準則,二者的理論基礎相當,主要區別是前者不使用統計量,後者使用統計量。MAP與ML,前者是Bayesian方法,後者不是,先驗概率不能簡單的說是有助於簡化計算,在先驗概率不等的情況下,先驗概率會影響判決結果的。AR是最迴歸過程,是一種引數化訊號模型,還有MA, ARMA等,但AR過程求解簡單,而且與線性預測誤差模型有一定的等價性,因此應用較廣。

用多天線接收機作為例項剛好可以將這些概念穿起來,下面的話很多是朋友們前面發言的重複,也有自己的杜撰, 可能不對,因此莫輕信,並且希望朋友們糾正:

(1)最general的方法是MAP符號判決,問題是如何拿到傳送符號的概率分佈?

(2)通常在發射端會有一個位元隨機化的過程,使“0”和“1”的概率各為50%,因此避免了MAP判決,使用ML判決就可以了。

(3)判決通常是做如下處理:s = arg min (w*y-s),即將多路天線上的接收訊號分別乘以各自的權值w,再求和,與發射符號比較。

(4)權值w的求法最簡單的是MRC(最大比合並)。

(5)w的求法還可以是DMI(直接矩陣求逆),屬MMSE法。

(6)w的求法還可以是LMS,屬MMSE法。

(7)w的求法還可以是RLS,屬LS法。

AR和MSE我不瞭解。

另外,MMSE聽上去感覺特好,實際上不一定能用。如:在OFDM的通道估計中,Hmmse是Hls乘了個變換矩陣,令H的估算誤差最小。變換矩陣是由各子載波的通道的相關度決定的。實際的無線環境可能變化莫測,套現成的統計模型就不一定合適

實際演算法當然和現實差距十分大,很多時候根本就是象牙塔裡面的杜撰。這是因為實際的系統相當的複雜,影響演算法的因素很多。更多的時候是演算法花費了巨大的代價,效能根本沒有改善,甚至會有非常大的惡化,就說樓上的說法,實際中你是無法和傳送訊號相對比的,因為你根本就不知道傳送的是什麼符號。而且傳送資料的統計特性一方面是主觀的,另一方面實際中也是具有很大的相關性的,比如,語音訊號和影象訊號,都具有很強的相關性,所以很多演算法的方差之類的,實際並沒有什麼用,最多隻能做理論上的推導。但另一方面來說,像LS演算法因為沒有使用通道的資訊,所以估計的精度會差很多,大家的看法還是需要利用通道的資訊來進行估計,這樣估計出來的效能肯定會有大的提高。在輔助符號下的通道估計應該是比較靠譜的,這樣就推匯出來了很多的演算法,MMSE演算法的複雜程度確實是非常高的,不但要有自相關陣,而且還需要通道的互相關陣的計算,這些計算在實際系統中量很大。所以MMSE可以作為評價的標準

樓上說的沒錯,但是一個人的能力有限,一個演算法的考慮也有限,社會的發展是需要各種人,更需要各種演算法的存在與對比。你可以說很多理論演算法在實際中很難用上,但是你不能說這些演算法沒有作用。失敗是成功之母,沒有一些演算法的分析與失敗,一些經典演算法也是很難呈現的。此外,我認為樓上應該是搞工程的,科學技術轉化為生產力這一環節的,可能對科學發展這一環節並不太感興趣。但是,沒有科學的發展,社會是不會進步的,你所說的象牙塔裡的杜撰有點過於貶低了科學的發展。每個人有每個人的工作與職責,搞理論研究的也有其存在的意義,你不能因為其缺乏一定得實用性就否定了它的價值。另外要說的就是,每個人的能力有限,考慮的方面也有限,但是總有其存在的意義和價值。一個演算法並不適用所有的環境這是很正常的