首先假設有這樣一組資料
X1 | X2 | … | Y |
---|---|---|---|
a1 | b1 | … | c1 |
a2 | b2 | … | c2 |
… | … | … | … |
目标是找到一條合适的線來拟合資料點,可以根據給的X預測Y值
設定權重參數
假設每個X都有一個對應的θ為它的權重參數,可得:
Y = Θ 0 + Θ 1 X 1 + Θ 2 X 2 + . . . Y=\Theta_0+\Theta_1X_1+\Theta_2X_2+... Y=Θ0+Θ1X1+Θ2X2+...
Θ 0 \Theta_0 Θ0為設定的偏置項,可以對這一項乘以一列X0,其中X0全部為1即可将式子化為: Y = ∑ i = 1 n Θ i 2 x i = Θ T X Y=\displaystyle\sum_{i=1}^{n} \Theta_i^2x_i=\Theta^TX Y=i=1∑nΘi2xi=ΘTX
接着誤差用 ϵ \epsilon ϵ表示,誤差一定存在,且經驗可知誤差是獨立且一般為(0, Θ 2 \Theta^2 Θ2)的高斯分布,如圖:
下面用小标r表示真實值,即 ϵ r \epsilon^r ϵr表示真實的誤內插補點
- Y r = Θ X r + ϵ r Y^r=\Theta X^r+ \epsilon^r Yr=ΘXr+ϵr
-
由于誤差服從高斯分布是以可得:: P ( ϵ r ) = 1 ( 2 π ) σ e ( ϵ r ) 2 − 2 σ 2 P(\epsilon^r)=\frac{1}{\sqrt (2\pi)\sigma}e^\frac{(\epsilon^r)^2}{-2\sigma^2} P(ϵr)=(
2π)σ1e−2σ2(ϵr)2
-
1帶入2式子可得: P ( ϵ r ) = 1 ( 2 π ) σ e ( y r − Θ T X r ) 2 − 2 σ 2 P(\epsilon^r)=\frac{1}{\sqrt (2\pi)\sigma}e^\frac{(y^r-\Theta^TX^r)^2}{-2\sigma^2} P(ϵr)=(
2π)σ1e−2σ2(yr−ΘTXr)2
手寫比較友善,下面上圖
這裡引入似然函數,
似然函數簡單來講,就是根據樣本來估計權重參數的值,即假假設權重參數使之與資料組合之後能接近真實值),因為每一次産生誤差都是互相獨立的事件,是以應該機率相乘
對數似然
之是以取log運算由于累乘不好算,對似然函數取對數,将累乘化成累加,再化簡可得:
誤差一定産生了,既然産生,我們就根據極大似然估計斷定一定發生在機率最大的地方。換句話說Log(L(θ))越大,預測值接近真實值的可能性就越大,為了盡可能接近真實值,是以Log(L(θ))要盡可能大, 而前一項可知是恒正的,是以需要後一項盡可能小,再去掉σ這個常數項之後最終可得:
是不是很眼熟,這裡就是最小二乘法。
要注意的是,這裡的X,θ,Y都是矩陣,A矩陣的平方=A的轉置×A,可得
再使偏導等于0
為什麼偏導等于0就能取到極小值點?因為機器學習中的凸優化,預設函數為凸函數(這個以後再說)。
現在就得到了一個可求的權重參數,但是這個θ一般是無法直接進行求解的,需要進行優化(例如梯度下降等),通常不直接求解。
評估方法
最常用評估項
分子表示預測值減去真實值,可以推出分子越小越好,即R²越接近1模型拟合的越好
學習筆記