最小二乘法的本質原理
轉自:http://blog.sina.com.cn/s/blog_5e6614220101ks63.html
本文主要以最簡單的二元線性函數為基礎,闡述最小二乘法的原理,事實上,最小二乘法可以更廣泛地應用於非線性方程中,但本文以介紹為主,希望能以最簡單的形式,使讀者能夠掌握最小二乘法的意義。
在物理實驗數據統計時,我們會記錄一些數據,記做數據x和數據y。但是,在記錄數據后,我們依然不知道x和y 的具體關系。例如,測算男人手掌面積和身高的關系,我們會得到兩組數據,如圖,
圖1數據點分布
這並不是一條嚴格意義上的直線,但這些數據對於實驗研究員來說,可以作為某種依據,從而判斷出兩種數據之間的關系。根據兩個量的許多組觀測數據來確定它們的函數曲線,這就是實驗數據處理中的曲線擬合問題。
事實上,我們更關注的是如何才能找到這么一條漂亮的曲線。那么,找到這條曲線的方法稱作“最小二乘法”。
曲線擬合中最基本和最常用的是直線擬合。設x和y之間的函數關系由直線方程
y=ax+b給出。
式中有兩個待定參數,b代表截距,a代表斜率。下面的問題在於,如何找到“最合適”的a和b使得盡可能多的數據落在或者更加靠近這條擬合出來的直線上。即數據對這條直線的逼近程度最佳。當然,當我們將直線擬合出來之后,就可以反過來進行預測了。所以說最小二乘法是很有用的一種測算方法。
實際上,我們並不關心x和y到底是多少,因為x和y是給定的,當然x和y與其本質的內在關系之間肯定存在誤差。我們關心的是方程中的a和b,也就是說,在這個待定的方程中,a和b才是所求的變量,它們可以描述出x和y的關系。 所以我們接下來的任務就是找到一組最好的a和b。
我們對a和b的要求就是,使得所有x和y相對擬合直線的誤差總和最小。也就是說,我們要考慮的是,要使這些數據點距離擬合直線的和最小,距離最短,這樣就可以使得盡可能多的數據成為有效點。
接下來我們的工作就是,最小化誤差了。
最小二成法就此登場。
最小二乘法名字的緣由有兩個,一是我們要將誤差最小化,二是我們將誤差最小化的方法是使誤差的平方和最小化。誤差最小化的原因前已述及,用誤差平方和最小化來約束誤差的原因是要規避負數對計算的影響。
接下來我們要做的就是使誤差的平方和最小了。
對試驗數據,使得
最小,根據二元函數取極值,可知,須
成立,
則
聯立得
接下來求解a和b,就可以了。
問題又來了,以上求極值的方法只能保證所求的點是駐點(臨界點),我們知道,多元函數的駐點可以分為三類,即極小點、極大點和鞍點。
圖2鞍點
圖3極小點
我們至此還不能說明這就是我們要找的最優解,因為駐點有可能是極小點也有可能是鞍點或者是極大點。所以我們接下來要證明所求是滿足要求的極小點。
極值點的判定
設函數,假設a不為零,則
這樣,我們就把原式改寫成了平方和/差的形式了。但我們還不知道到底是平方和還是平方差,這取決於平方項的系數。
下面分三種情況討論:
若4ac-b^2<0,則二次項系數一正一負,臨界點是鞍點。
若4ac-b^2=0,則只有一個平方項,這就意味着函數臨界點只受到一個方向的約束,另一個方向發生了退化,不起作用了,如圖,
圖4 退化后的極值點
若4ac-b^2>0,這時會有兩個平方項的系數都是正,此時w必能取到極值。當a>0時取極大值;當a<0時取取極小值。
由於通常情況下,我們求解釋不可能有如此規范的方程形式,所以我們要引入二階導數,再用以上方法判斷臨界點的類型。
(1) 二元函數的極值一定在臨界點和不可導取得。對於不可導點,難以判斷是否是極值點;對於駐點可用極值的充分條件判定。
(2)二元函數取得極值的必要條件: 設在點
處可微分且在點
處有極值,則
,
,即
是駐點。
(3) 二元函數取得極值的充分條件:設在
的某個領域內有連續上二階偏導數,且
,令
,
,
,則
當且 A<0時,f
為極大值;
當且A>0,f
為極小值;
時,
是鞍點;
當B2-AC = 0時,函數z = f (x, y)在點可能有極值,也可能沒有極值,這里不做討論了。
最后,我們將原始方法和二階導方法做一個聯系,事實上,二階導的方法是原始方法的進化版本。
對求導,得
將求二階導方法中的A、B、C與原始方法中的a、b、c建立聯系,得
A=2a
B=b
C=2c
從而得到AC=4ac-b^2,可見兩種方法等效。