最小二乘法(Least Squares Method,簡記爲LSE)是一個比較古老的方法,源於天文學和測地學上的應用須要。html
在早期數理統計方法的發展中,這兩門科學起了很大的做用。丹麥統計學家霍爾把它們稱爲「數理統計學的母親」。此後近三百年來,它普遍應用於科學實驗與工程技術中。美國統計史學家斯蒂格勒( S. M. Stigler)指出, 最小二乘方法是19世紀數理統計學的壓倒一切的主題。1815年時,這方法已成爲法國、意大利和普魯士在天文和測地學中的標準工具,到1825年時已在英國廣泛使用。算法
追溯到1801年,意大利天文學家朱賽普·皮亞齊發現了第一顆小行星穀神星。通過40天的跟蹤觀測後,因爲穀神星運行至太陽背後,使得皮亞齊失去了穀神星的位置。隨後全世界的科學家利用皮亞齊的觀測數據開始尋找穀神星,可是根據大多數人計算的結果來尋找穀神星都沒有結果。時年24歲的高斯也計算了穀神星的軌道。奧地利天文學家海因裏希·奧爾伯斯根據高斯計算出來的軌道從新發現了穀神星。高斯於其1809年的著做《關於繞日行星運動的理論》中。在此書中聲稱他自1799年以來就使用最小二乘方法,由此爆發了一場與勒讓德的優先權之爭。網絡
近代學者通過對原始文獻的研究,認爲兩人多是獨立發明了這個方法,但首先見於書面形式的,以勒讓德爲早。然而,現今教科書和著做中,多把這個發明權歸功於高斯。其緣由,除了高斯有更大的名氣外,主要多是由於其正態偏差理論對這個方法的重要意義。框架
勒讓德在其著做中,對最小二乘方法的優勢有所闡述。然而,缺乏偏差分析。咱們不知道,使用這個方法引發的偏差如何,就需創建一種偏差分析理論。機器學習
高斯於1823年在偏差e1 ,… , en獨立同分布的假定下,證實了最小二乘方法的一個最優性質: 在全部無偏的線性估計類中,最小二乘方法是其中方差最小的!ide
在德國10馬克的鈔票上有高斯像,並配了一條正態曲線。在高斯衆多偉大的數學成就中挑選了這一條,亦可見這一成就對世界文明的影響。函數
現行的最小二乘法是勒讓德( A. M. Legendre)於1805年在其著做《計算慧星軌道的新方法》中提出的。它的主要思想就是選擇未知參數,使得理論值與觀測值之差的平方和達到最小:工具
咱們如今看來會以爲這個方法彷佛平淡無奇,甚至是理所固然的。這正說明了創造性思惟之難得和不易。從一些數學你們未能在這個問題上有所突破,能夠看出當時這個問題之困難。歐拉、拉普拉斯在許多很困難的數學問題上有偉大的建樹,但在這個問題上未能成功。oop
在高斯發表其1809年著做以前,約在1780年左右,拉普拉斯已發現了機率論中的「中心極限定理」。性能
根據這個定理,大量獨立的隨機變量之和,若每一個變量在和中起的做用都比較小,則和的分佈必接近於正態。
測量偏差正具備這種性質。通常地說,隨機(而非系統)的測量偏差,是出自大量不顯著的來源的疊加。所以,中心極限定理給偏差的正態性提供了一種合理的理論解釋。這一點對高斯理論的圓滿化頗有意義,由於高斯原來的假定(平均數自然合理)總不免給人一種不天然的感受。
回味無窮的是,不管是中心極限定理的發明者拉普拉斯,仍是早就瞭解這一結果的高斯,都沒有從這個結果的啓示中去考察偏差分佈問題。對前者而言,多是出於思惟定勢的束縛,這對拉普拉斯來講可算不幸,他所以失掉了把這個重要分佈冠以本身名字的機會(正態分佈這個形式最先是狄莫弗( De Moiv re) 1733年在研究二項機率的近似計算時得出的。之後也有其餘學者使用過,但都沒有被冠以他們的名字。高斯之因此得到這一殊榮,無疑是由於他把正態分佈與偏差理論聯繫了起來) 。
能夠說,沒有高斯的正態偏差理論配合, 最小二乘方法的意義和重要性可能還不到其現今所具備的十分之一。最小二乘方法方法與高斯偏差理論的結合,是數理統計史上最重大的成就之一,其影響直到今日也還沒有過期!
用它們來分別測量一線段的長度,獲得的數值分別爲(顏色指不一樣的尺子):
這5次測量本質上就是表明了5次實驗觀測獲得的觀測樣本。這種現象在實際的工程項目中是十分常見的,甚至能夠說是百分百出現的,即樣本噪音或樣本誤差問題。
之因此出現不一樣的值可能由於:
這種狀況下,一個直觀的解決思路是:取平均值來做爲線段的長度。
這種解決思路是最符合」直覺「的,可是有人可能會提出質疑:
首先,把測試獲得的值畫在笛卡爾座標系中,分別記做 :
其次,把要猜想的線段長度的真實值用平行於橫軸的直線來表示(由於是猜想的,因此用虛線來畫),記做 :
每一個點都向 作垂線,垂線的長度就是
,也能夠理解爲測量值和真實值之間的偏差:
由於偏差是長度,取絕對值計算計算比較複雜,因此設計者用平方來表明偏差:
偏差的平方和就是( 表明偏差):
下面的動圖表示了在不斷變化下,偏差的變化狀況。
天然,偏差的平方和 在不斷變化的。
法國數學家,阿德里安-馬裏·勒讓德提出了一個劃時代的定理:讓總的偏差的平方最小的 就是真值。這是基於,若是偏差是隨機的,應該圍繞真值上下波動。
勒讓德的想法變成代數式就是:
這是一個二次函數,對其求導,導數爲0的時候取得最小值:
化簡得:
能夠看到正好是算術平均數。這個巧合在1元1次方程中是恰好成立的,也就是說,算數平均是最小二乘估計的一個特例。
最小二乘估計法包含兩個基本的元素:
1. 利用平方做爲評價指標。要注意的是,深度學習中的平方損失函數只是一個指標,即用平方的方式進行損失函數的評估,不要和最小二乘法混淆。 2. 利用求導極值的方式,直接獲得全局最優值。這點是最小二乘估計和梯度降低這種迭代算法最大的區別。
筆者插入:這裏須要注意的是,導數爲0並非獲得極值的充要條件,只是一個必要條件,對於多元高階方程組,經過求導極值並不能保證獲得最優值。
最小二乘估計是一個通用的未知參數最優化方案,它能夠對任何的模型進行參數優化。
從歷史的角度來講,最小二乘估計的出現是由於當時迴歸建模的出現以及對迴歸模型進行參數估計的需求。
因此咱們先花一些時間,來討論下回歸模型。
迴歸模型來源於當時科學和工程領域一個很基本的問題,數學建模。建模的思想在處理統計數據分析的每個學科中都頗有用。
例如,假設給定一個隨機變量集,要完成的任務是:找到可能存在於這些變量之間的關係,若是這種關係存在的話。
做爲函數逼近的一種特殊形式,迴歸的典型方案以下:
1. 選擇隨機變量中的一個變量做爲關注變量,這一隨機變量被稱爲依賴變量,或者響應變量(response) 2. 剩下的隨機變量稱爲獨立變量,或者回歸量(regressor)。它們的做用是用來解釋或者預測響應的統計行爲。 3. 響應對迴歸量的依賴還包括一個附加的偏差項,用來講明在對依賴程度公式化時候的不肯定性。偏差項稱爲指望偏差(expectational error)或解釋偏差(explanational error)
上述這樣的模型稱爲迴歸模型(regression model)。
迴歸模型有不少種類,例如咱們熟知的線性迴歸模型就是其中一種:
1. Linear Regression線性迴歸 2. Logistic Regression邏輯迴歸 3. Polynomial Regression多項式迴歸 4. Stepwise Regression逐步迴歸 5. Ridge Regression嶺迴歸 6. Lasso Regression套索迴歸 7. ElasticNet迴歸
在對具體問題建模的時候,要選取哪一種模型呢?這個問題彷佛沒有最佳答案,須要具體問題具體分析,結合專家知識,領域經驗來選定最適合的模型。例如咱們在量化交易中第一步要作的事情是設計一個符合股市歷史波動的迴歸模型,而公式的形式各家量化交易公司都不同,這裏面考驗的就是對股市交易的本質理解了。
咱們經過一個簡單例子來討論這個問題,好比溫度與冰淇淋的銷量(一個自變量、一個因變量):
能夠假設這種線性關係爲:
上圖的 分別爲:
總偏差的平方爲:
不一樣的 會致使不一樣的
,根據多元微積分的知識求偏導:
這個時候 取最小值。對於
而言,上述方程組爲線性方程組,用以前的數據解出來:
也就是這根直線:
同一個問題,還能夠假設(這其實就是數學建模過程):
在這個假設下,能夠根據最小二乘法(求導極值),算出 ,獲得下面這根紅色的二次曲線:
同一組數據,選擇不一樣的 ,經過最小二乘法能夠獲得不同的擬合曲線
從矩陣投影的角度來看最小二乘,最小二乘法的本質是最小化係數矩陣所張成的向量空間到觀測向量的歐式偏差距離。
咱們從幾何的角度來幫助咱們理解其中的概念含義。
爲了從幾何的角度解釋最小二乘法,咱們先回顧一下,線性方程組的幾何意義。線性方程組能夠從行和列兩個角度看。
舉例,看以下簡單的線性方程組:
線性方程組的解就是直線a和直線b的交點,這一點應該誰都知道,以下圖所示:
從圖上很容易能夠看出該線性方程組的解爲x1=1,x2=2
從行的角度看,線性方程組的每一行都表明空間中的幾何圖形(二維時是直線,三維時是平面,高維時是高維空間中的一個」平面「),線性方程組的解就是這些圖形的交點or交線or交面。
從列的角度看時,先把上面的線性方程組寫成矩陣的形式
再把上式拆開,寫成下面這個樣子
表示向量 a1 的 x1 倍加上向量 a2 的 x2 倍等於向量 b 。這種角度就是從列向量的角度看線性方程組。該方程的解已經從行的角度看出來了,爲x1=1,x2=2,因而咱們把向量a1,a2,b畫到下面這張圖上:
向量 a1 的1倍加上向量 a2 的2倍恰好等於向量 b,而倍數1和2,就是咱們的解 x1 和 x2
從列的角度看線性方程組Ax=b的解,就是爲係數矩陣A裏的每一列都尋找一個合適的倍數,使每一列乘上這個倍數後再相加恰好等於向量b,這個倍數就是解。本質上就是找到A裏的列向量的一個線性組合使之等於b。
這個topic是一個筆者認爲很是重要意義的概念。
在機器/深度學習或者統計學任務中,咱們基本上不可能找到一個100% matched的model來對目標問題域進行建模(咱們沒有上帝視角),也即真實物理模型是很是難獲取的,像愛因斯坦質能方程那種跨世紀的發如今大多數的業務場景中都難以獲得。因此,統計學家和機器學習工做者只能退而求其次,尋找一個「大體能擬合(儘量擬合)」的模型來描述目標問題域。尋找這個大體擬合的模型的方法之一就是最小二乘法。
咱們從一個最簡單的例子開始,已知平面上有3個點(1,2),(0,2),(2,3)
咱們想用一條直線去擬合它。如上所述,咱們沒有上帝視角,因此咱們並不知道真實物理模型的函數形式。
咱們只能尋找一個大體能擬合的模型,這個過程筆者相信你們都經歷過,例如在深度學習中編寫網絡結構的代碼(DNN/LSTM/CNN層等),經過創建高斯模型的假設進行異常發現。
回到這個簡單的線性例子,咱們如今設這條直線的方程爲 y=kx+b 。咱們但願這條直線能夠同時經過這三個點(100%擬合),也就是這條直線的參數要知足:
從圖中直觀的看,沒有一條直線能夠同時過這三個點,因此這個方程是無解的。怎麼解一個無解的方程組呢?
爲了表述方便,咱們換一下符號,用x1表示k,用x2表示b。即:
寫成矩陣形式:
從列的角度看:
一但化成列的形式,咱們就很天然想到把向量a1,a2,b 畫到圖上:
要找到解,就要找到a1,a2的一個線性組合,使得組合後的向量恰好等於b。惋惜的是,根據向量相加的原理,任何的a1和a2線性組合,只可能出如今a1,a2所在的平面S上(這個平面S就是a1和a2組成的向量空間),可是向量b不在平面S上,以下圖。不可能找到解:
找不到完美的解,就只能找到一個最接近的解。因此如今問題轉換爲了哪一個解是最接近的解。
咱們的思路是在平面S上找一個最接近向量b的向量來代替向量b,記這個替代品向量爲P。因此如今問題又轉換爲了如何評價最接近向量b。
根據向量相關性的內積定理,和向量b相關性最高的向量就是過向量b的終點作平面S 的垂線(也就是作投影),垂足就是代替向量P(最接近向量b的向量)的終點。
P與b之間的偏差:e=b−P
原來的方程爲Ax=b是無解的,咱們用P代替b後,P在a1a2所在的平面上,因此如今方程Ax̂ =P就有解了。
可是這個解和目標真實值之間存在偏差,偏差爲:
此時,偏差向量e必定是垂直於平面S的,也就是要垂直於a1和a2。垂直在數學上是有明確公式表示的。也就是e∙a1=0,e∙a2=0,用矩陣表示出來就是,即:
綜合上面公式得:,化簡一下就是
,因此最佳的近似解就是
這樣,按公式解出的解出了最近似的解爲(1/2,11/6)。
從列的角度,咱們就能夠用a1和a2的線性組合來表示P,下圖所示
那麼最優的直線的斜率和截距就是咱們解出的k=1/2,b=11/6=1.8333。以下圖
最小二乘估計的基本假設是:
這個假設真的合理嗎?數學王子高斯(1777-1855)也像咱們同樣心存懷疑。
高斯換了一個思考框架,經過機率統計的思惟框架來思考。
讓咱們回到最初測量線段長度的問題。高斯想,經過測量獲得了這些值:
每次的測量值 都和線段長度的真值
之間存在一個偏差:
根據大數定理,偏差自己也屬於非系統隨機變量,所以這些偏差最終會造成一個機率分佈,只是如今不知道偏差的機率分佈是什麼。假設機率密度函數爲:
假設一個偏差的聯合機率,把全部的測量數據整合起來:
把 做爲變量的時候,上面就是似然函數了。關於極大似然估計的討論,能夠參閱個人另外一篇blog。
的圖像多是這樣的:
根據極大似然估計的思想,L(x)的極大似然估計最應該是下面這點:
從最優化的角度來看,當下面這個式子成立時,取得最大值:
筆者插入:極大似然估計獲得的極大似然點也咱們用求導極值求最優勢,在數學公式上是一致的,讀者在看到這裏的時候有沒有體會到一種極致的美感。
若是最小二乘法是對的,那麼 時應該取得最大值,即:
如今能夠來解這個微分方程了。最終獲得:
能夠看到,這就是一個正態分佈,而且這仍是一個充要條件:
也就是說,若是偏差的分佈是正態分佈,那麼最小二乘法獲得的就是極大似然的值。
接下來問題來了,那麼偏差的分佈是正態分佈嗎?
若是偏差是因爲隨機的、無數的、獨立的、多個因素形成的,好比以前提到的:
那麼根據中心極限定理,偏差的分佈就應該是正態分佈。
Relevant Link:
https://www.zhihu.com/question/20447622 https://blog.csdn.net/Macer3/article/details/48394239 https://www.zhihu.com/question/37031188 https://www.zhihu.com/question/20447622 https://blog.csdn.net/Macer3/article/details/48394239
https://www.zhihu.com/question/37031188
http://www.ee.cityu.edu.hk/~gchen/pdf/Wiener_S.pdf
維納的我的履歷實在使人望而生畏,他真的將各類領域的知識融合在了一塊兒。同時,他創造了自動控制理論,深入地影響了機器/深度學習的發展歷程。神經元模型以及GD梯度降低的發明也是基於自動控制理論基礎上創立的。
筆者思考:
自動負反饋控制理論,從另外一個角度討論了一個信息處理系統如何達到穩態(即找到最優參數)。
筆者任務其核心思想是:比起一次接受全部歷史狀態信息,經過最小二乘估計獲得最優參數。信息系統其實能夠將時間序列切片,經過只獲取一個有限時間段內的信息,對經過濾波器後的信息偏差進行評估,進而對系統自己進行負反饋調節,這種方式最終可讓系統趨向於穩態。
這也是GD(梯度降低)思想的核心之一,固然,GD自己還解決了對高維多元隨機變量求極值的計算複雜度問題,GD自己是易於經過計算機實現的。
數字濾波器是數字信號處理中使用得罪普遍的一種線性系統環節,是數字信號處理的重要基礎。
數字濾波器的本質是將一組輸入的數字序列經過必定的運算後轉變爲另外一組輸出的數字序列。
實現濾波處理的運算電路、或設備稱爲濾波器。
對輸入信號經過必定的處理獲得輸出信號,這個處理一般是濾除輸入信號的某些頻率成分;保留信號中某些頻率範圍內的有用信號成分。因此把這種處理的過程稱爲濾波。
筆者思考:CNN卷積網絡的訓練過程體現了很是明顯的濾波過程,CNN網絡在訓練樣本數據的過程當中,會自動地保留樣本數據中和target有關的「關鍵性像素區域」,例如小貓識別任務中,CNN會保留圖像樣本中各類姿式的貓,而對背景這些「冗餘信息」會逐漸經過權重調整過濾掉,從某種程度上來講,這就是一種濾波過程。
幾乎因此的機器學習算法的參數優化(訓練)過程都包含負反饋,算法經過在訓練中不斷根據本輪迭代的預測結果和目標結果之間的差距來動態調整本身的負反饋,從而逐漸將權值參數調整到」儘可能完美「的狀態(即擬合)。
下圖是一個未知動態系統的流程方框圖,由包含元素的輸入向量所刺激,其中 i 是刺激(激勵)應用於系統時的瞬時時間,做爲時間序列的索引。
做爲對刺激的相應,系統產生一個輸出 y(i) 做爲相應。所以,次系統的外部行爲由下述數據集描述:
從數字信號的時空特性角度來看,刺激向量 x(i) 可以以兩種根本不一樣的方式出現,一種是空間的,另外一種是空間的:
1. x(i) 的 M 個元素表明空間中的不一樣點,輸入向量 x(i) 的維數 M 稱爲輸入空間的維數,或簡稱輸入維數。在這種狀況下咱們稱 x(i) 爲數據的瞬像(snapshot) 2. x(i) 的 M 個元素表明在時間上均勻分佈的某個刺激,的如今和(M-1)個過去的值組成的集合。即它是時域累計刺激。
咱們如今面對的問題是如何經過創建一個簡單線性神經元來設計未知動態系統的一個多輸入-單輸出模型(即濾波器模型)。
這個神經元模型是在一個算法的影響下運行的,此算法控制對神經元的突觸權值的必要調整,同時記住如下要點:
1. 此算法從任意設定的一個神經元突觸權值開始。這意味着建模者不須要對目標問題域有先驗知識。 2. 爲相應系統行爲的統計變化,突觸權值的調整是創建在連續的基礎之上的,即把時間加進算法中,權值的調整是連續進行的。 3. 調整突觸權值的計算在長度爲一個採樣週期的時間段內完成。
這樣描述的神經元模型稱爲「自適應濾波器(adaptive filter)」,而其中負責進行調整的算法理論就是LMS(最小均方算法),LMS咱們放到下一個章節來展開討論,咱們這裏先關注濾波器系統自己。
雖然是在做爲系統辨識(system identification)的任務背景下給出的描述,但自適應濾波器的特徵仍是有很普遍的應用。
下圖是一個自適應濾波器的示意圖,它的運行由兩個連續過程組成:
1. 過濾過程(濾波過程),涉及兩個信號計算 1)一個輸入,記爲 y(i),它被產生以響應刺激向量 x(i) 的 M 個元素,即 x1(i),x2(i),.....,xM(i) 2)一個偏差信號,記爲 e(i),它是經過比較輸出 y(i) 和未知目標系統(要模型的實際物理系統)的相應輸出 d(i) 而得到的。從效果上講,d(i) 可做爲一個指望響應信號(desired response)或者目標(target)信號。 2. 自適應過程,包括根據偏差 e(i) 對神經元突觸權值的自動調整。
這兩個共同運做過程的組合構成了一個圍繞神經元運做的反饋環(feedback loop)。
上述的這兩個連續過程的產生原理以下:
由於神經元是線性的,輸出 y(i) 爲局部誘導域:。
神經元的輸出 y(i) 要和未知系統在時刻 i 的相應輸出 d(i) 做比較,一般 y(i) 與 d(i) 不等,所以它們的比較結果獲得了偏差信號:
偏差信號 e(i) 用來對神經元突觸權值的調整進行控制的方式,是由用於導出自適應濾波算法的代價函數決定的。
這個問題與無約束最優化問題密切相關,無約束最優化不只能夠用在線性自適應濾波器上,還能夠應用在通常的神經網絡上。
爲了下一章節討論LMS做準備,咱們這裏先討論下自適應濾波算法中的無約束最優化問題。
考慮代價函數,它是一個對未知權值(參數)向量 w, 連續可微(continuously differentiable)的函數。
函數將 w 映射爲單個實數,它是一種度量,用來選擇自適應濾波算法的權值(參數)向量 w,以使得模型以最優方式運行。
這樣,代價函數就成功地將一個學習問題轉換爲了最優化問題。
咱們想找到一個最優解知足條件:
也就是說,須要解決一個無約束的最優化問題,即:
選擇適當的權值向量 w 最小化代價函數。
最優性的必要條件(注意不是充要條件)是:
這裏是梯度算子(gradient operator)。權值向量的梯度爲0,表明了已經優化到了極值,至少是局部極值。
同時是代價函數的梯度向量(gradient vector):
一類特別適合自適應濾波器設計的無約束最優化算法是以局部迭代降低(iterative descent)思想爲基礎的:
從一個初始估計值 w(0) 開始,產生一系列權值向量 w(1),w(2),...,使得代價函數在算法的每次迭代中都要降低,即
咱們但願算法最終收斂到最優解,可是這裏也僅僅是但願,由於局部迭代降低並不能保證必定收斂到全局最優解。
下面咱們來討論幾種以迭代降低思想的基本形式或變種形式的無約束最優化方法。
在最速降低法中,對權值向量 w 的連續調整是在醉宿降低的方法進行的,即它是與梯度向量方向相反的,記爲:
所以,最速降低法通常表示爲:,這裏
是一個正常數,稱爲步長(stepsize)或學習速率(learning-rate parameter)。g(n) 是在 w(n) 處的梯度向量值。
爲了證實最速降低法的公式知足,咱們用 w(n) 附近的一階泰勒級數展開來逼近
,即:
上式對小的是適用的,將
代入上式得:
上式代表,對正的學習率參數,代價函數每次迭代都一定是降低的,除非權值向量 w(n) 的梯度已經等於0(達到局部最優極值)。但這裏提供的推導是近似的,只有當學習率足夠小時纔是正確的(泰勒分解成立)。
最速降低法收斂到最優解的速度是很慢的。此外,學習率參數
對收斂行爲有重要影響:
1. 當 η 很小時:算法的瞬時相應是平緩的(overdamped),這是因爲 w(n) 的軌跡是 w 平面的一個光滑曲線,以下圖 a) 2. 當 η 很大時:算法的瞬時相應是劇烈的(underdamped),這是因爲 w(n) 的軌跡是鋸齒(振盪)形的,以下圖 b) 3. 當 η 超過某一臨界值時,算法是不穩定的(即不收斂)
牛頓法的基本思想是:最小化代價函數在當前點 w(n) 周圍的二次近似值;最小化在算法的每次迭代中都要進行。
具體來講,就是利用代價函數在點 w(n) 周圍的二次泰勒級數展開式,咱們獲得:
式中,g(n) 是代價函數在點 w(n) 處的處的 M x 1 梯度向量。矩陣 H(n) 是
在 w(n) 的 m 行 m 列 Hessian矩陣。
的Hessian矩陣定義爲:
上式須要代價函數關於 w 的元素二階可微。
對式中
進行微分並求極值得:
,咱們最小化了改變量
。
解上式有關的方程獲得:
。
整合上面公式得:。
通常來講,牛頓法收斂得很快,並且不會出現最速降低法有時會出現的鋸齒形狀況。可是,應用牛頓法時, Hessian矩陣必須對每一個 n 都是正定矩陣。
遺憾的是,通常不能保證在算法的每次迭代中 H(n) 都是正定矩陣。
假如 Hessian矩陣 H(n) 不正定,對牛頓法進行修正就有必要。在不少時候,牛頓法的最主要侷限在於其計算複雜度。
爲了處理牛頓法的計算複雜度過大,而不對其收斂行爲作太嚴重的讓步,可使用Gauss-Newton法。爲了應用這一方法,咱們採用表示爲偏差平方和的代價函數,令:
偏差信號 e(i) 是可調權值向量 w 的函數。給定操做點 w(n),經過引入下面新的項來線性化 e(i) 對 w 的依賴性:
用矩陣記號能夠寫成等價的形式:
其中,e(n) 是偏差向量
J(n) 是 e(n) 的 n x m Jacobi 矩陣:
Jacobi 矩陣 J(n) 是 m x n 梯度矩陣的轉置,這裏:
如今更新後的權值向量 w(n+1) 定義爲:
將代入上式得:
將以上表達式對 w 求微分並設結果爲零,獲得:
綜合上式,可得:
上式描述了 Gauss-Newton方法的純粹形式。
不想牛頓法必須知道代價函數的 Hessian矩陣,Gauss-Newton法只須要知道偏差向量 e(n) 的 Jacobi矩陣。
可是,爲了使 Gauss-Newton 迭代可計算,矩陣乘積必須是非奇異的。
用負梯度做搜索方向,即令,是一種天然的選擇。這種方法被稱爲梯度方法或梯度降低方法。
中止準則一般取爲,其中
是小正數。
注意:梯度降低是最速降低在歐式範數下的特殊狀況。
Relevant Link:
https://www.zhihu.com/question/267021131
咱們從最小二乘估計器引入最小二乘濾波器,這樣能夠很天然地進入對LMS的討論中。最小二乘濾波器和最小二乘估計器雖然只有幾字之差,可是其整個優化運算過程是不同的。最小二乘濾波器引入了自適應反饋的思想。
咱們在前面的章節中討論了最小二乘估計器,它利用極小化(求導極值)的傳統放來從環境的觀測模型中找到最小二乘解。
從這個小節開始,咱們將最小二乘估計器放到一個維納濾波器的框架中進行討論,咱們稱之爲最小二乘濾波器(least-squares filter)。咱們接下來利用 Gauss-Newton法來從新推導這個濾波器公式。
咱們定義以下偏差向量:
其中 d(n) 是 n x 1 的指望響應向量:
X(n) 是 n x M 的數據矩陣:
偏差向量 e(n) 對 w(n) 取微分獲得梯度矩陣:
相應的,e(n) 的 Jacobi矩陣是:
由於偏差向量對權值向量 w(n) 已是線性的,Gauss-Newton法在一次迭代後收斂,將上式綜合後代入可得:
項被看做是數據矩陣 X(n) 的僞逆,即:
所以,上式可寫爲:
讀者注意!!
這個公式和咱們在文章以前推導的最小二乘的幾何意義獲得的公式是一致的。通俗地說:
Gauss-Newton(以及其餘迭代算法)的每一次迭代,本質上就是在這個 n 的時域內,進行最小二乘估計,並根據獲得的本次最優解對權值向量進行更新。
這個公式表示了下面所陳述的一個簡便途徑:
權值向量 w(n+1) 求解定義在持續時間 n 的一個觀察區間上的線性最小二乘問題,是以下兩項的乘積:僞逆和指望的響應向量 d(n)
咱們已經知道了,LMS算法在一次迭代中(時間 n 時域區間),本質上是在進行最小二乘估計。接下來繼續思考,若是這個過程無限進行下去會獲得什麼呢?即 n 趨近於無窮。
令表示線性最小二乘濾波器關於觀測數 n 的極限形式,容許 n 趨於無窮。
基於公式
獲得:
如今假設輸入向量 x(i) 和相應的指望響應 d(i) 來自於聯合遍歷。咱們能夠用時間均值來代替整體均值。
輸入向量 x(i) 的相關矩陣(correlation matrix)的整體平均形式是:
而且,相應地,輸入向量 x(i) 和指望響應 d(i) 之間的互相關係(cross-correlation vector)的整體平均形式是:
,其中 E 表示指望算子。
從而,在遍歷假設下,有:和
綜上,可將式:
改寫爲:
權值向量稱爲線性最優濾波問題的維納解。
所以,咱們能夠作如下的陳述:對一個遍歷過程,當觀察樣本數趨於無窮時,線性最小二乘濾波器漸進趨於維納濾波器。
雖然,當樣本量趨近於無窮時,線性最小二乘濾波器趨近於維納濾波器,可是設計維納濾波器須要二階統計量的知識:
1)輸入向量 x(n) 的相關矩陣
2)x(n) 與指望響應 d(n) 的互相關向量
可是,在實際的狀況下,這些信息都是未知的,因此維納濾波器只是一個理論上的最優濾波器。
在實際工程實踐中,咱們能夠利用線性自適應濾波器(linear adaptive filter)來處理未知的環境,自適應在這裏的含義就是濾波器可以調整本身的自由參數來響應環境的統計變化。在連續的時間基礎上作這類調整的一個流行的算法就是最小均方算法(LMS)。
接下來,咱們進入對LMS的討論。
LMS最小均方算法是第一個解決如預測和信道均等化等問題的線性自適應濾波算法。
值得注意的是,LSM算法自身不只能夠做爲自適應濾波應用機器,它還能夠做爲其餘自適應濾波算法的評價準則,這裏面的緣由包括:
1. 從計算複雜度來講,對於可調參數而言 LMS算法的複雜度是線性的,這使得算法是計算高效的(computationlly efficient)的,而算法從性能上來講依然是有效的。 2. 算法能夠簡單地用代碼來實現,於是是容易創建的。 3. 對於外部擾動來講,算法是魯棒的,LMS算法是模型獨立的。對任何模型,LMS均可以不辱使命,經過每次迭代的局部最優儘量地去靠近全局最優。
對工程來講,上述性能都是很是重要的。之因此強調說工程,是由於其實LMS並非理論上最優的算法,可是倒是最實際工程有效的。
由於在實際狀況中,咱們很難得到全局最優解,甚至說都沒法完整按照最速降低的思想進行最優方向的梯度降低,緣由大體以下:
1. 神經網絡的目標函數多數是非凸函數,不必定有全局最優解 2. 多維函數偏導爲0並不是是局部極值 3. 解析式法運算複雜,多維函數經過解析式方法求解極值不是一件容易的事 4. 在一個 n 時域區間內,梯度並非保持不變的,最速降低要求同時考慮全部方向上的梯度,這樣獲得的梯度矩陣不必定是正定,可逆的。
可是LMS擁有計算簡單、魯棒性等優勢,使得LMS在以後的深度學習/BP理論的發展中被不斷繼承和發揚光大。
最小均方(least mean square,LMS)算法的創建是基於極小化代價函數的瞬時值。注意!是瞬時值。
代價函數爲:
這裏 e(n) 是 n 時刻的瞬時偏差信號。
把對權值向量 w 求微分獲得:
和在最小二乘濾波器上同樣,LMS算法運行在一個線性神經元上,能夠把偏差信號表示爲:
所以,
綜上公式得:
,代價函數對 w(n) 的導數。
上式做爲梯度向量的一種瞬時估計(instantaneous estimate),能夠記爲:
最後,將上式梯度的瞬時估計公式,帶入最速降低法做爲最速降低法的梯度向量,能夠獲得LMS的算法公式:
這裏值得注意的是:
學習率參數的倒數能夠做爲度量LMS算法的記憶(memory):
給賦的值越小,LMS算法將記憶的過去的數據就越多。所以,
值小的話,LMS算法執行得更精確,但算法的收斂速度慢
在LMS的公式中,咱們用代替
來強調這樣一個事實:
利用最速降低法能夠獲得一個權值向量,而LMS算法產生該權值向量的一個瞬時估計。因此,利用LMS算法時咱們犧牲掉最速降低法的一個明顯特徵。
在最速降低法中,對一個給定的,權值向量
在權值空間中遵循一個明肯定義的軌跡。對比之下,在LMS算法中,權值向量
則跟蹤一個隨機的軌跡。
因爲這個緣由,LMS算法有時也被稱爲」隨機梯度算法「。當LMS算法的迭代次數趨於無窮時,在維納解
周圍隨機行走(布朗運動)。
一個重要的事實是,與最速降低法不一樣,LMS算法不須要知道環境的統計特徵。從實際的角度來看,LMS的這一特徵是很是重要的。
咱們能夠把LMS算法中的權值向量演變過程表示以下:
這裏,I 是單位矩陣。經過運用LMS算法,咱們認識到:
這裏是單位時間延遲算子(unit-time delay operator),意味着存儲。
咱們利用信號流圖來表示LMS算法,這圖揭示了LMS算法是隨機反饋系統的一個實例。反饋的出現對LMS算法的收斂行爲有重要影響。
爲了給LMS算法提供一種統計分析,咱們利用下式定義的權值偏差向量(weight-error vector)更加方便。
其中,是最優維納解,
是相應的由LMS算法計算的權值向量的估計。
所以,利用術語,假設其爲一個狀態(state),能夠將式重寫爲緊湊形式:
這裏,咱們有
右邊的噪音項爲,其中,
是由維納濾波器產生的估計偏差。
1. 模型的更新狀態(updated state),由向量定義,依賴於老的狀態
,其自依賴性由轉移矩陣(transition matrix) A(n) 定義。
2. 在時間 n 上狀態的演化被內部所產生的噪音 f(n) 所擾動,這一噪聲扮演者」驅動力「的角色。
下圖給出了表示這一模型的向量值信號流圖。標誌爲的分支表示模型的記憶,
做爲單位時間延遲算子,由下式定義:
和上面的原始形式相比,這個圖中用緊湊形式重點強調了LMS算法中的反饋過程。
須要注意的是!
上面的信號流圖以及相應的方程提供了在小學習率參數的假設下LMS算法的收斂性分析的框架。
下面咱們開始討論小學習率以及實現這一目標的兩個基礎知識:朗之萬方程和Kushner直接平均法。
Relevant Link:
https://www.cnblogs.com/xingshansi/p/6603263.html
考慮穩定性和收斂性,咱們能夠說LMS算法(對足夠小的)從未達到完美的穩定或者收斂條件。
並且,在大量的迭代時間步 n 以後,算法達到」僞平衡「條件,這從定性上講,可由算法圍繞着維納解執行布朗運動來描述。
這一類統計行爲可經過非平衡熱力學的朗之萬方程(Langevin equation)來很好地解釋。
由 v(t) 定義質量爲 m 的宏觀粒子陷入粘滯鈴的速度。假設粒子足夠小以使其由熱起伏而來的速度被視爲重要的(即小粒子的運動能夠由熱力學定律描述,由於質量較大的物體主要由牛頓力學和流體力學定律所描述)。
而後,由均分人力學原理(equipartition law of thermodynamics),粒子的平均能量由下式定義:
其中是Boltzmann常數,T爲絕對溫度(absolute temperature)。粘滯鈴中分子做用於粒子的總驅動由兩部分組成:
1. 根據Stoke定律(Stoke's lay)的等於- av(t) 的阻尼力(damping force),其中 a 是摩擦係數
2. 漲落力(fluctuating force),其性質是平均指定的。
粒子的運動方程在缺乏外部驅動時由下式給定:
兩邊同除以 m,咱們得:
其中,和
項是每單位質量漲落力(fluctuating force per unit mass)
由於它依賴於組成粒子的極爲大量的原子數量,因此它是一個統計驅動力,它處於不規則運動狀態。
公式被稱爲朗之萬方程(Langevin equation),
被稱爲朗之萬力(Langevin force)。
朗之萬方程描述了在粘滯鈴中全部時間下粒子的運動(若是其初始條件是指定),它是描述非平衡熱力學的第一個數學公式。
在後面的章節中,咱們會證實LMS算法的一個變換版本具備和朗之萬方程的離散時間版本相同的數學形式。可是在證實以前,須要先討論一個基礎知識。
公式的馬爾科夫模型是非線性隨機差分方程(nonlinerar stochastic difference equation)。
這一方程是非線性的緣由是由於:
1. 轉移矩陣 A(n) 依賴於輸入向量 x(n) 的外積。所以,權值偏差向量
對於 x(n) 的依賴性和疊加原理相沖突,而這一原則是線性的須要。
2. 並且,方程是隨機的是由於訓練樣本是從隨機環境中取得的。
基於這2個緣由,咱們發現對LMS算法做嚴格的統計分析是困難的任務。
而後,在知足必定的條件下,LMS算法的統計分析可以經過將Kushner直接平均法(kushner direct-averaging method)應用於上式的模型從而顯著地簡化。
考慮由馬爾科夫模型所描述的隨機學習系統:
其中,對一些輸入向量 x(n) ,咱們有
並且附加噪聲 f(n) 是由學習率參數線性拉伸的。有
1. 學習率參數是充分小的。
2. 附加噪聲 f(n) 本質上獨立於狀態,修正馬爾科夫模型的狀態演化由下式來描述:
上式肯定矩陣是修正馬爾科夫模型的轉移矩陣,咱們用
來表示修正馬爾科夫模型的狀態,用來強調這一模型隨時間的演化僅在微笑的學習率參數
的有限狀況下等同於原始馬爾科夫小莫名。
上述的討論能夠充分說明:
1. 學習率參數小的時候,LMS算法具備長記憶(long memory)。所以,更新狀態
的演化能夠經過時間一步一步追蹤全部的路徑直到初始條件
。
2. 當小的時候,能夠在
的展開式序列中忽略二階和高階項。
3. 最後,在上式修正馬爾科夫模型中,經過調用遍歷性原理,此時整體平都可以被時間平均所替。
咱們已經有了Kushner直接平均法,如今能夠創建LMS算法的統計分析原則了。咱們作三個合理的假設:
從實際角度,的小的選擇也是有意義的。特別是,當
小時,LMS算法對於外部擾動是魯棒的
由物理現象產生的隨機過程頻繁地出現使得高斯模型是適當的。
更重要的是,朗之萬力對於LMS算法的非平衡行爲負責,它證實了自身在大量的足夠多的迭代次數 n 的時候,算法在最優維納解的周圍進行布朗運動(Brownian motion)。固然,前提是基於學習率參數
的狀況下。
Relevant Link:
http://chem.xmu.edu.cn/teach/chemistry-net-teaching/wuhua/chapter3/part12/12-1.html