一、概念引入
線性回歸,就是能夠用一個直線/一個平面···較為精確地描述數(shù)據(jù)之間的關(guān)系。常見的格式為:
通過計算數(shù)據(jù)的線性回歸,可以得到各個變量X對于Y的權(quán)重,可以由已知的X推導出Y值。
例如:銀行借貸額度由你的工資和年齡決定。
那么對于借貸額度而言,工資和年齡哪個比較重要?
已知你的工資和年齡,能否推斷出銀行為你開放借貸額度為多少?
線性回歸就是假設借貸額度Y,工資和年齡
成線性關(guān)系:
、
表示工資
和年齡
對于借貸額度的重要性權(quán)重。
如果已知、
、
的值,就可以根據(jù)工資和年齡推斷出銀行為你開放借貸額度
二、成本函數(shù)
那么如何獲得、
、
的值呢?
引入一個成本函數(shù) ,有些地方也叫“損失函數(shù)”:
這個函數(shù)的輸入對象為m*n的數(shù)據(jù):
| 特征1 | 特征2 | ... | 特征n | Y |
|---|---|---|---|---|
| x11 | x12 | ... | x1n | y1 |
| x21 | x22 | ... | x2n | y2 |
| ... | ... | ... | ... | ... |
| xm1 | xm2 | ... | xmn | ym |
就是第
個實際值
和算法計算值之間的差距平方。
引入成本函數(shù) 用來描述算法的擬合效果,
越小說明擬合效果越好。
所以求算法最優(yōu)的參數(shù)等價與計算最小
時
的值。
三、梯度下降
那么怎么才能求得最小的 呢?
假設 下圖為的空間分布圖,X軸、Y軸為
、
。隨著
、
的變化,
的值也在變化。
當然我們的目的是找到最小時的
、
的值。
是不是和我們上山下山有點像,一開始在點,朝著下坡的方向走一步到新的
;然后朝著下坡的方向再走一步,···,走到局部最低點以后,朝著上坡的方向走一步,一步步走,直到最后知道全局的最低谷。

所謂上坡、下坡其實就是在各個
上的偏度,例如計算
在
上的偏度:
偏導數(shù)可以穿透累加器
微分鏈接法則
經(jīng)過偏度的計算,知道下一步的方向,但每個人邁一步的長度是有限制的,我們引入學習率,相當于邁一步的長度(先這么理解)。
以上通過偏導獲得下一步的方向,通過設置學習率確定步伐的長度,因此下一個落腳點為:
例如,
; 偏導數(shù)
。
設置初始起點為(1,1),學習率
······慢慢達到谷底
如果初始起點為(1,1),學習率為0.2
······慢慢達到谷底
如果初始起點為(1,1),學習率為0.8
以上過程可以發(fā)現(xiàn),學習率的大小和步伐的大小有關(guān),學習率
越大,步伐越大。
初始值的設置會影響到最終J(θ)的最小值,它可能是局部最小值,也可能是全局最小值。
學習速度的設置也會影響到梯度下降的性能和結(jié)果:
1)當設置過小時,由于沿著最陡峭方向每次邁進的步伐太小,而導致收斂時間過長;
2)當設置過大時,很有可能會直接越過最小值,而無法得到J(θ)的最小值。
通過梯度下降的方法,我們得到的最優(yōu)參數(shù)
,此時的擬合模型是最優(yōu)的,和真實數(shù)據(jù)差距最小的。
至此,我們得到訓練樣本X和Y之間的關(guān)系和每個X對于Y的權(quán)重。
五、備注
(1)微積分基本法則
法則一:對 ,其針對 x 的偏導數(shù)為
法則二:偏導數(shù)可以穿透累加器,即
法則三:微分鏈接法則,比如 f(x) 是以 x 為自變量的函數(shù),令 J(x)=g(f(x)) ,則 J(x) 的微分方程為
(2)參考資料
[1] 視頻學習:https://www.bilibili.com/video/av39800693?from=search&seid=7055609900300366029
[2] 線性回歸算法推導:http://blog.kamidox.com/gradient-descent.html
[3]單變量梯度下降案例:https://blog.csdn.net/weixin_42278173/article/details/81511646

