線性回歸
主要內(nèi)容包括:
線性回歸的基本要素
線性回歸模型從零開始的實現(xiàn)
線性回歸模型使用pytorch的簡潔實現(xiàn)
重點記錄:
損失函數(shù)
在模型訓(xùn)練中,我們需要衡量價格預(yù)測值與真實值之間的誤差苫昌。通常我們會選取一個非負(fù)數(shù)作為誤差,且數(shù)值越小表示誤差越小。一個常用的選擇是平方函數(shù)贺氓。 它在評估索引為???i?的樣本誤差的表達(dá)式為
??(??)(??,??)=12(???(??)???(??))2,l(i)(w,b)=12(y^(i)?y(i))2,
??(??,??)=1??∑??=1????(??)(??,??)=1??∑??=1??12(?????(??)+?????(??))2.L(w,b)=1n∑i=1nl(i)(w,b)=1n∑i=1n12(w?x(i)+b?y(i))2.
優(yōu)化函數(shù) - 隨機(jī)梯度下降
當(dāng)模型和損失函數(shù)形式較為簡單時得糜,上面的誤差最小化問題的解可以直接用公式表達(dá)出來。這類解叫作解析解(analytical solution)繁扎。本節(jié)使用的線性回歸和平方誤差剛好屬于這個范疇幔荒。然而,大多數(shù)深度學(xué)習(xí)模型并沒有解析解梳玫,只能通過優(yōu)化算法有限次迭代模型參數(shù)來盡可能降低損失函數(shù)的值爹梁。這類解叫作數(shù)值解(numerical solution)。
在求數(shù)值解的優(yōu)化算法中提澎,小批量隨機(jī)梯度下降(mini-batch stochastic gradient descent)在深度學(xué)習(xí)中被廣泛使用姚垃。它的算法很簡單:先選取一組模型參數(shù)的初始值,如隨機(jī)選扰渭伞积糯;接下來對參數(shù)進(jìn)行多次迭代,使每次迭代都可能降低損失函數(shù)的值碴犬。在每次迭代中絮宁,先隨機(jī)均勻采樣一個由固定數(shù)目訓(xùn)練數(shù)據(jù)樣本所組成的小批量(mini-batch)B,然后求小批量中數(shù)據(jù)樣本的平均損失有關(guān)模型參數(shù)的導(dǎo)數(shù)(梯度)服协,最后用此結(jié)果與預(yù)先設(shè)定的一個正數(shù)的乘積作為模型參數(shù)在本次迭代的減小量绍昂。
總結(jié)一下,優(yōu)化函數(shù)的有以下兩個步驟:
(i)初始化模型參數(shù),一般來說使用隨機(jī)初始化窘游;
(ii)我們在數(shù)據(jù)上迭代多次唠椭,通過在負(fù)梯度方向移動參數(shù)來更新每個參數(shù)。