上研究生的時候接觸的第一個Loss function就是least square。最近又研究了一下,做個總結吧。
定義看wiki就夠了。公式如下 E(w)=12∑n=1N{y−xWT}2 E(w)=12∑n=1N{y−xWT}2
其中 y y代表類標列向量, x x代表特徵行向量, W W代表迴歸或者分類參數矩陣。通過令歐式距離最小化最佳化得到最優的 W W。
我遇到的第一個問題是,這個公式是怎麼得到的,motivation是什麼。我個人傾向於最大似然這個角度來解釋。具體如下:
假設迴歸或分類模型公式如下: y=WTx+ϵ y=WTx+ϵ
ϵ∼N(0,σ2) ϵ∼N(0,σ2)代表加性高斯雜訊,所以 y∼N(WTx,σ2) y∼N(WTx,σ2)。這時通過獨立觀測 x x得到一系列的觀測值 X=(x1,y1)….,(xN,yN) X=(x1,y1)….,(xN,yN),則可寫出對應的似然函數 p(y∣X,w,σ)=ΠNn=1N(WTx,σ2) p(y∣X,w,σ)=Πn=1NN(WTx,σ2)
兩邊同取自然對數,則 ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2)) ln(p(y∣X,w,σ))=∑i=1Nln(N(WTx,σ2))
而 N(WTx,σ2)=12πσ2√exp(−(y−WTx2)2σ2) N(WTx,σ2)=12πσ2exp(−(y−WTx)22σ2)
故 ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2) ln(p(y∣X,w,σ))=−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)
最大似然函數,求解W, W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2) W∗=argminW−12σ2∑n=1N{yn−WTxn}2−12ln(2πσ2)
上式中第二項與 W W無關,可以省略,故 W∗=argminW−12σ2∑n=1N{yn−WTxn}2 W∗=argminW−12σ2∑n=1N{yn−WTxn}2
把上式中的 σ2 σ2取掉,就是我們熟悉的最小二乘法啦。
求解時,對對數似然函數求偏導(注意矩陣求導的規則)
∇ln(p(y∣X,w,σ))=−∑Nn=1{yn−WTxn}xTn ∇ln(p(y∣X,w,σ))=−∑n=1N{yn−WTxn}xnT 令上式為0,則有 ∑n=1NynxTn=WT∑n=1NxnxTn ∑n=1NynxnT=WT∑n=1NxnxnT
兩邊同取矩陣的逆,則有: ∑Nn=1xnyTn=∑Nn=1xnxTnW ∑n=1NxnynT=∑n=1NxnxnTW
如果用 Y Y表示類標矩陣, X X表示特徵矩陣,則有 XYT=XXTW XYT=XXTW W=(XXT)−1XYT W=(XXT)−1XYT
上面的公式稱為normal equation。可以求得 W W的封閉解,但是只要做過實驗的都知道,如果 X X的維數稍微一大,求逆的過程非常非常非常慢,且要消耗非常非常多的資源。所以 W W一般用梯度下降法求解。
最大似然法在一定程度上證明了最小二乘法的合理性,但是事實上在曆史上最小二乘的出現早於前者,所以可以從其它的角度思考一下最小二乘的合理性。比如最小二乘的幾何意義,這篇文章講的挺好的,看了之後受益匪淺。
from: http://bucktoothsir.github.io/blog/2015/12/04/leastsquare/