損失函數定義為 “預測值跟實際值的差異”,稱為 Loss。這個定義,也就是迴歸線的定義。
迴歸線定義為
(預測的 y 值 – 實際的 y 值)平方總合,再求平均數,以公式表示為
Loss=1n∑ni=1(yi−~yi)2Loss=1n∑ni=1(yi−~yi)2
求最小值
損失函數既然是預測值與實際值的差異,那麼損失函數的值當然是愈小愈好愈準確。上述的損失函數中, xi 及 yi 都是已知的,只有 a, b 是未知的。那麼 a , b 的值是多少才能確保損失函數的值是最小值呢? 不急,這還要先了解偏微分觀念才有得解。
一階迴歸線偏微分
在眾多的點中,求取一階迴歸線,那麼迴歸線的公式為 y=ax+b。a 及 b 目前都不知道是何值,也是我們要努力計算取得的東西。
˜yi 是 y = ax + b 所計算出來的預測值,yi 是實際 y 值 。
然後把上面的公式代入
Loss(a,b)=∑ni=1(yi−(axi+b))2=∑ni=1y2i−2yiaxi−2yib+a2x2i+2axib+b2
損失函數中,變數為 a 及 b
對 a 偏微分為
∂Loss(a,b)∂a=∑ni=1(−2yixi+2ax2i+2xib)=2∑ni=1(−yi+axi+b)xi=2∑ni=1(˜yi−yi)xi
對 b 偏微分為
∂Loss(a,b)∂b=∑ni=1(−2yi+2axi+2b)=2∑ni=1(axi+b−yi)=2∑ni=1(˜yi−yi)
二階迴歸線偏微分
二階迴歸線的公式為 y=ax2+bx+c,所以
Loss(a,b)
=1n∑ni=1(yi−~yi)2
=1n∑ni=1(yi−(ax2i+bxi+c))2
=1n∑ni=1y2i−2yi(ax2i+bxi+c)+(ax2i+bxi+c)2
=1n∑ni=1y2i−2ayix2i−2byixi−2cyi+a2x4i+2ax2i(bxi+c)+(bxi+c)2
=1n∑ni=1y2i−2ayix2i−2byixi−2cyi+a2x4i+2abx3i+2acx2i+b2x2i+2bcxi+c2
對 a 偏微分
∂Loss(a,b,c)∂a
=2∑ni=1−yix2i+ax4i+bx3i+cx2i
=2∑ni=1(ax2i+bxi+c−yi)x2i
=2∑ni=1(~yi−yi)x2i
對 b 偏微分
∂Loss(a,b,c)∂b
=2∑ni=1−yixi+ax3+bx2i+cxi
=2∑ni=1(ax2i+bxi+c−yi)xi
=2∑ni=1(~yi−yi)xi
對 c 偏微分
∂Loss(a,b,c)∂c
=2∑ni=1−yi+ax2i+bxi+c
=2∑ni=1~yi−yi
n 階迴歸線偏微分總結
由上可知,如果是 n 階迴歸線的話
對 a 偏微分就是 =2∑ni=1(~yi−yi)xni
對 b 偏微分就是 =2∑ni=1(~yi−yi)xn−1i
對 c 偏微分就是 =2∑ni=1(~yi−yi)xn−2i
到最後是
2∑ni=1(~yi−yi)x1i
2∑ni=1(~yi−yi)x0i