1. 程式人生 > >機器學習--最小二乘法和加權線性迴歸

機器學習--最小二乘法和加權線性迴歸

本文是對由Stanford大學Andrew Ng講授的機器學習課程進行個人心得總結。

在上一篇文章裡我們討論了關於線性迴歸和梯度下降的相關知識,本文主要是接著該篇文章的內容繼續深入的討論線性迴歸中存在的兩個優化點,最小二乘法和加權線性迴歸。

最小二乘法

最小二乘法是從之前的梯度下降方法中優化而來。當我們計算梯度下降時,需要通過迭代的方式不停地計算Θ 的結果,該過程花費的時間較長。
:梯度下降的公式為 Θj:=Θjαm(i=0)(hΘ(x(i))y)x(i)j )
最小二乘法是利用矩陣計算對該過程進行優化,其在計算結果的過程中省去了迭代的步驟,故可以較為快速的計算得到最終Θ

的結果。在講述最小二乘法之前,我們需要先明確幾個其中用到的矩
陣運算的規則:
我們定義一個函式J(Θ), 其矩陣導數為對Θ 的各個維度求導:
ΘJ=JΘ0JΘnRn+1
那麼之前的梯度下降公式可以表示為:
Θ:=ΘαΘJ
α為學習率。
假設函式fmn 維的矩陣對映,其中的計算為實數運算。現定義實數矩陣A,對映 f(A) 對 A的梯度為:
Af(A)=fA11fAn1fA1nfAnn

另外 如果 ARnn 那麼 矩陣A的跡表示為trA=ni=0Aii
以下是可以推論並且證明的公式:
t

rA=trAT
trAB=trBA
trABC=trCAB
f(A)=trABAf(A)=BT
AtrABATC=CAB+CTABT
以上公式主要利用了矩陣計算的一些知識,之後會用於矩陣的變換計算,相關證明參見該連結
這是我們將所有訓練集寫入一個矩陣X,輸出結果記為矩陣Y 則這兩個矩陣表示為
X=(x(1))T(x(n))T
Y=(y(1))T(

相關推薦

no