最小平方法是十九世紀統計學的主題曲,從許多方面來看, 它之於統計學就相當於十八世紀的微積分之於數學。
----史蒂芬·史蒂格勒的《The History of Statistics》
日用而不知
來看一個生活中的例子。比如說,有五把尺子:
用它們來分別測量一線段的長度,得到的數值分別爲(顏色指不同的尺子):
之所以出現不同的值可能因爲:
- 不同廠家的尺子的生產精度不同
- 尺子材質不同,熱脹冷縮不一樣
- 測量的時候心情起伏不定
- ......
總之就是有誤差,這種情況下,一般取平均值來作爲線段的長度:
日常中就是這麼使用的。可是作爲很事'er的數學愛好者,自然要想下:
- 這樣做有道理嗎?
- 用調和平均數行不行?
- 用中位數行不行?
- 用幾何平均數行不行?
最小二乘法
換一種思路來思考剛纔的問題。
首先,把測試得到的值畫在笛卡爾座標系中,分別記作yi
其次,把要猜測的線段長度的真實值用平行於橫軸的直線來表示(因爲是猜測的,所以用虛線來畫),記作y
每個點都向y做垂線,垂線的長度就是|y-yi| ,也可以理解爲測量值和真實值之間的誤差:
因爲誤差是長度,還要取絕對值,計算起來麻煩,就乾脆用平方來代表誤差:
誤差的平方和就是ε (error)代表誤差:
因爲y是猜測的,所以可以不斷變換:
自然,誤差的平方和在不斷變化的。
法國數學家,阿德里安-馬裏·勒讓德(1752-1833,這個頭像有點抽象)提出讓總的誤差的平方最小的y就是真值,這是基於,如果誤差是隨機的,應該圍繞真值上下波動(關於這點可以看下“如何理解無偏估計?”)。
勒讓德的想法變成代數式就是:
正好是算術平均數。
原來算術平均數可以讓誤差最小啊,這下看來選用它顯得講道理了。
就是最小二乘法,所謂“二乘”就是平方的意思,臺灣直接翻譯爲最小平方法。
基本形式
給定由d個屬性描述的示例x={x1;x2;...;xd}
,其中xi是x現在第 i個屬性上取值,線性模型去學習一個通過屬性的線性組合來進行預測的函數,即
一般用向量形式表示更爲簡潔:
其中,
其實可以很簡單的理解,如下圖直線是由很多點組成的,如果事先不知道直線的方程,只有一些點,那麼根據這些點求得的函數就是這條直線。我們的任務就是根據已知的一些數據求解得到函數。當然這只是一元線性迴歸,還有多元線性迴歸與之類似。
迴歸分析中,如果只包括一個自變量和一個因變量,且二者的關係可用一條直線近似表示,這種迴歸分析稱爲一元線性迴歸分析。如果迴歸分析中包括兩個或兩個以上的自變量,且因變量和自變量之間是線性關係,則稱爲多元線性迴歸分析。對於二維空間線性是一條直線
;對於三維空間線性是一個平面
,對於多維空間線性就是一個超平面
。
一元線性迴歸
給定數據集:
其中, 和
而線性迴歸視圖學得:
, 使得
其實就是找到一個函數使得數據儘可能的在這個函數內。那麼如何確定參數w和b呢?
顯然,關鍵在於如何衡量f(xi)與yi之間的差距,我們使用均方誤差來進行度量。因此我們將差距最小問題轉化爲均方誤差最小化,即
分別表示w和 b的解。
在線性迴歸中,最小二乘法就是試圖找到一條直線,使得所有樣本到直線上的距離之和最小。
求解w和b使最小化的過程,稱之爲線性迴歸模型的最小二乘法“參數估計”(parameter estimation)。爲了得到最小值,我們只需要將函數
求導即可。則
分別對w和b求導,得到:
求得倒數爲零的解,即爲最優解,則令導數
極值點處的導數一定爲0,但導數爲0的點不一定是極值點
可得到w和b的最優解分別爲:
其中,x的均值爲