總體最小二乘(TLS)


對於見得多了的東西,我往往就習以為常了,慢慢的就默認了它的存在,而不去思考內在的一些道理。總體最小二乘是一種推廣最小二乘方法,本文的主要內容參考張賢達的《矩陣分析與應用》。

1. 最小二乘法

    最小二乘法,大家都很熟悉,用在解決一超定方程Ax=b。最小“二”乘的“二”體現在准則上——令誤差的平方和最小,等價於

   最小二乘解為(非奇異)

x=(A^TA)^{- 1}A^T b

    可以從多個角度來理解最小二乘方法,譬如從幾何方面考慮,利用正交性原理導出。

    Steven M.Kay 的《統計信號處理—估計理論》中是這樣介紹最小二乘估計的:最小二乘估計特點在於對觀察數據沒有任何概率假設,只需要假設一個信號模型,因此它不是最佳的,如果沒有對數據的概率結構做出假設,其統計性能也是無法評判的。(實際上LSE可能是MVU,說不是最佳有些不妥)

    當然,我們希望能夠分析最小二乘解的特性,即使不能對其進行全面的評判,至少需要了解其應用范圍和特點。

2. 穩定性分析

    一個好的估計往往具有無偏和最小方差的特性(或是漸進無偏的,譬如最大似然估計)。Gauss-Markov定理告訴我們,對於數據向量b具有加性噪聲或者擾動的超定方程A \theta = b e,如果誤差向量滿足以下條件,此時最小二乘解是無偏且具有最小方差的。

E\{e\}=0,    conv(e)=E\{ee^H\}=\sigma ^2 I

    定理證明可見張賢達《矩陣分析與應用》p406頁。這一結論表明,最小二乘解是一個很好的估計,那么問題出現在哪呢?我們注意到,采用最小均方誤差准則的線性回歸(Linear regression)和最小二乘解具有相同的形式。《Machine Learning plus Intelligent Optimization》書中有這樣一幅圖顯示了線性回歸中存在的穩定性問題。

 

image

    左圖表示一個好的數據集合能夠確定一個穩定的平面。右圖中,不恰當的取樣點使得微小的擾動會導致大的結果的偏差。 然而往往數據集的分布是不可控的。

 

    穩定性指數據小的擾動只會導致小的結果偏差。一個良態問題(well-posed problem)是穩定的,然而實際上的問題往往是病態(ill-posed)。為此,在線性回歸以及其他多種解決問題方案中采用了正則化方法。廣為應用的方法是Tichonov regularization,思想在於利解的先驗知識使解穩定,即假設解是光滑的。關於正則化問題,可以參考Simon Haykin的《神經網絡原理》,此處不做討論。對於穩定性分析,或者說數值穩定性,《矩陣分析與應用》p342進行了詳細的討論。

 


(矩陣)數值穩定性

    研究矩陣Ax=b,其中Ab發生擾動時,解向量如何發生變化?討論得到以下結果

    由此可見,影響解向量變化的重要參數是,我們將其記為條件數,記作

    這就是矩陣的條件數的定義,由上式易知,條件數刻畫了誤差經過矩陣后擴大為解向量誤差的程度。當系數矩陣一個很小擾動只會引起解向量很小變化的時候,我們將矩陣稱為是“良態”的,反之稱為是“病態”的。

    正定矩陣的Cholesky分解這篇文章中提到了矩陣的“良態”和特征值之間的關系,此處我並沒有進行太多思考,有興趣的話可以去看看特征值擴散度相關知識。wiki百科上給出的例子表明,如果采用2-范數,條件數可以記為

cond(A)=\frac{\sigma_{max}(A)}{\sigma_{min}(A)}

    其中\sigma (A)代表的是矩陣的奇異值。

 


    最小二乘法中對於超定方程實際求解的是A^H Ax=A^Hb,條件數表示為

cond(A^H A)=[cond(A)]^2

    也就是說,A,b誤差對方程解的影響和A的條件數的平方成反比,這顯然是我們不願意看到的。采用正則化方法實際求解的是A^H A \lambda I,由上可知條件數下降了(從2-范數來看,分子分母同時加上了\lambda)。

3.總體最小二乘

    如果說模型是完全正確的,我們根本不需要考慮算法的穩定性(當然,由於計算機計算時會有截位,所以這是不可能的)。道理很簡單,沒有擾動,為何需要分析穩定性呢?這充分說明了,最小二乘沒有考慮到擾動的存在,因此其穩定性較差是情有可原的。

    可以對矩陣有擾動情況下,最小二乘的性能進行分析,矩陣A的擾動矩陣非零情況下,x_{LS}一般有偏。且可以證明(p407)x_{LS}\approx (A_0^HA_0)^{-1}\Delta A (A_0^HA_0)^{-1}A_0^Hb_0

    如果\Delta A為零均值,方差為\sigma _1^2的獨立同分布噪聲,\Delta b為零均值,方差為\sigma_1^2的獨立同分布噪聲。此時最小二乘解方差相對於矩陣無擾動下增加倍數等於

1 (\sigma _1/\sigma_2)^2|\.|(A_0^HA_0)^{-1}A_0^Hb_0||^2

    我們知道其根源在於沒有考慮矩陣A的擾動,在這一情況下,為了克服最小二乘的缺點,引入了總體最小二乘方法。

 

    總體最小二乘思想在於分別使用擾動向量和擾動矩陣去修正Ab中的擾動。也就是說,總體最小二乘解決以下問題

    其中E為擾動矩陣, ,此處范數采用Frobenius范數。

    利用增廣矩陣B=[-b,A]的奇異值分解可以求得總體最小二乘解。(只討論超定方程情況)其中分為兩種情況:只有一個最小的奇異值時有一組解,最小奇異值多重或者后面若干個非常接近時求解某一意義下的最小二乘解。即B^HB應該是非滿秩矩陣(由於噪聲存在,一般都是滿秩的),因此對應最小特征值的特征向量就是總體最小二乘解,多個相同最小二乘解時特征向量有多個,因此加上其他約束求解。具體方法本文不做論述。

4.TLS解釋和分析

    真正吸引人的不是TLS的解法,而是它到底為何能夠(在一定條件下)彌補LS的缺點?(雖然從其推導過程中感覺是有效的)即使有效,那么原因是什么呢?

    張賢達書p414頁神奇的推導出了這么一個結果(不可逆情況下求偽逆,此時有其他諸如最小范數的約束)

x_{TLS}=(A^HA-\sigma_{n 1}^2I)^{-1}A^Hb

    第一眼看到這個結果的時候,我想:怎么可能?正則化中的加法很有道理,這里的減法不是會讓情況更差嗎?但是這里的解釋很有道理

    總體最小二乘可以解釋為一種具有噪聲消除的最小二乘方法,先從協方差矩陣中減去噪聲影響項,然后再對矩陣求逆求解,得到最小二乘解。

    那么問題出在哪呢?我們注意到正則化中的\lambda是任意選取的,或者說不是“任意”,也是和矩陣A沒有多大關系的。然而此處的\sigma_{n 1}^2實際上是矩陣B的奇異值中的最小的那個,由於TLS采用了完全不同的思路,出現相異的結果也就不足為奇了。

 

    我們再對TLS進行詳細的分析,實際上b\in Range(A),所以B^HB至少應該有一個特征值為零的。由於噪聲的存在,這一要求往往是達不到的。假設噪聲是高斯白且獨立同分布,那么噪聲的自相關矩陣是對角陣,也就相當於在所有特征值上加上了一個固定的常數,這個常數就是噪聲的方差。一般而言B^HB是實數,其特征值都是正數,所以我們可以認為最小的特征值(多個最小則都取)實際上就是噪聲的方差。這些特征值對應的特征函數構成的線性空間被稱為噪聲子空間。總體最小二乘就是去除了噪聲的最小二乘,從這一點上看,TLS對矩陣A的擾動有抑制作用,即TLS的更加接近無擾動子空間。

    對於擾動敏感度分析,可參考《矩陣分析與應用》p416。

5.總結

    接觸這一方法的時間不長,如有錯誤,還請大家指正。本文只對其進行了理論上的分析,就我接觸而言,在譜分析中總體最小二乘應用廣泛,不知在其他應用上是否能夠取得好的效果。就線性回歸而言,一般情況下正則化方法應該會有更好的效果,總體最小二乘還是有太多的假設了。不知這一結論是否正確,還請大家指明或仿真分析。

    但毋庸置疑的是,總體最小二乘在很多地方都取得了很好的效果,或許還能夠得到更廣泛的應用。同時,最重要的是在這一過程中我深刻的體會到了對越熟悉的東西要越了解,而不是麻木。

 

    算法對擾動的敏感度要低,我們對算法的敏感度要高才好。


免責聲明!

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



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