- 整理原因:為了更好地理解學習演算法為什麼有用、可靠,還是決定認真看看推導公式和過程。以下是有監督學習線性迴歸的推導過程。
- 演算法目標:根據一組x和y的對應關係,找到他們的線性關係,得到擬合線性方程:y=ax+b,從而對於任意的自變數x,都可以預測到對應的因變數y的值。並且,要保證這個a,b足夠可靠,也就是使得我們的預測值和實際值誤差足夠小。
- 推導思路:使用最小二乘法,求得預測值和實際值的誤差最小值時,a,b的值,從而獲得線性方程。
- 推導過程:
1、對於擬合的線性方程,我們不妨假設為如下形式:
2、使用最小二乘法,找到誤差最小值,也就是如下公式的最小值
1)先透過對SSE,對模型引數β0和β1求偏導(回憶點:求導和求偏導的區別,求導是對只有一個變數的微分,偏導是函式存在多個變數時,假設其餘變數不變,只對某一個變數求導的過程。意義都是求這個變數的變化對函式的影響)
【對β0求偏導】
根據鏈式法則,首先對整體平方項求導:
然後再對內部項求導,如下
所以完整求導後,結果如下:
【對β1求偏導】
思路如上,結果如下:
2)設偏導數為零,對這個正則方程組求解,求得β0 和 β1 的最優值(回憶點:偏導數為零的點,意味著在這些點上,函式的變化率為零,即函式在這些點處達到極值(最小值或最大值))
【第一個方程】
【第二個方程】
【聯立兩個方程】
將β0代入方程2,得到
【簡化β1的值】
透過樣本均值進行簡化:
所以
代入到β1:
【分子部分的簡化】
針對nxˉyˉ,繼續簡化,這裡拎出來寫:
所以,分子變換為:
進一步對每一項進行化簡:
=
所以運算和為:
又因為:
所以最終,分子被簡化為:
【分母部分的簡化】
=
=
=
=
=
=
至此,β1被簡化為如下式子,β0代入一下,就是第二個式子。
【得到確定的線性方程式】至此,得到了使得SSE最小值時的β0和β1,代入f(x)=β0+β1x,得到擬合線性方程。
- 示例,代入上面β0和β1的公式,直接得到擬合方程,預估不同x下的y值