在擬合數(shù)據(jù)時,為什么選擇最小二乘來作為誤差函數(shù)呢?
雖然不明白為什么,但是一直覺得很有道理的樣子。最小二乘或平方差作為誤差函數(shù),是基于一些概率假設推導出了這個公式。這里有一些概率上的解釋。讓我們慢慢來看。
1.允許誤差存在
首先要說明的,所有的預測值都不可能完美地與真實值契合,所以誤差必然存在,而我們的目的就是如何讓誤差盡可能地小。這樣就可以假設有一組θ,使真實的數(shù)據(jù)存在以下關系式,y(i)表示真實值,θTx(i)表示預測值,ε表示誤差項:
2.假設誤差是高斯分布
ε作為誤差項,它捕捉了一些沒有被設置為特征的變量,以房價為例,它可以代表房東的心情對售價的影響,或者代表此地區(qū)霧霾嚴重程度對房價的影響,或者隨機誤差。再假設ε是IID分布,即獨立、同等分布,也就是高斯分布(或正態(tài)分布):
其中μ是正態(tài)分布隨機變量的均值,σ2是此隨機變量的方差,也可以記作N(μ,σ2)。
設ε的平均值為0,方差為ε2,ε的高斯分布,也就是ε的概率密度函數(shù)表示如下:
3.求真實值的概率分布
而ε的概率密度函數(shù),就是預測值與真實值差的概率密度函數(shù),那么可以把上述兩個等式合并,經(jīng)過變換,得到如下等式:
根據(jù)正態(tài)分布公式,這個式子還可以這樣理解,真實值y(i)是一個隨機變量,θTx(i)是隨機變量的平均值,p為變量y的概率密度函數(shù)。那么真實值y(i)的概率分布可以寫作:
4.求聯(lián)合概率分布
這樣相當于給定一組θ、x,求出了y的概率密度分布。將此公式推廣,用向量y和向量X代表所有的數(shù)據(jù),就能夠求出所有數(shù)據(jù)的聯(lián)合概率分布:
把這個函數(shù)定義為似然函數(shù)。聯(lián)合概率分布等于邊緣概率分布的乘積,π代表累乘。
5.定義對數(shù)似然函數(shù)
這里我們就得到了一個關于x、y、θ的模型,它表示真實值y的聯(lián)合概率分布。當我們想使預測正確的概率最大時,只需要將L(θ)最大化就可以了。于是,求值問題又變成了求最大值問題。為了方便計算,我們定義對數(shù)似然函數(shù),l(θ),也就是對L(θ)取對數(shù),再求最大值。對數(shù)函數(shù)為一個單調(diào)遞增函數(shù),所以不會對原函數(shù)造成影響。取對數(shù)后,累乘變成累和:
左側(cè)是一個常數(shù)項,右邊是一個負數(shù)項。要讓l(θ)最大,就要讓負數(shù)項最小:
是不是很熟悉?這就是回歸中的風險函數(shù)J(θ)的由來,也就是最小二乘法。最小二乘法是一種概率上的解釋,它的目標是尋找一個θ值,使準確預測的概率最大化。因此,基于這些概率的假設,最小二乘法是回歸問題中重要的估算方法。
如果你又問我,為什么誤差項是高斯分布,那就等我想好怎么介紹中心極限定理吧。
本文參考:吳恩達CS 229 Machine Learning
http://cs229.stanford.edu/materials.html