《动手学深度学习 PyTorch版》学习笔记(三):线性回归
線性回歸輸出是一個連續(xù)值,因此適用于回歸問題。回歸問題在實(shí)際中很常見,如預(yù)測房屋價格、氣溫、銷售額等連續(xù)值的問題。
一、基本要素
摘自原書
模型定義
設(shè)房屋的面積為 x1,房齡為 x2,售出價格為 y。我們需要建立基于輸入 x1 和 x2 來計算輸出 y 的表達(dá)式,也就是 模型(model) 。顧名思義,線性回歸假設(shè)輸出與各個輸入之間是線性關(guān)系:
其中 w1 和 w2 是 權(quán)重(weight),b 是 偏差(bias),且均為標(biāo)量。它們是線性回歸模型的 參數(shù)(parameter)。模型輸出 y? 是線性回歸對真實(shí)價格 y 的預(yù)測或估計。我們通常允許它們之間有一定誤差。
模型訓(xùn)練
我們需要通過數(shù)據(jù)來尋找特定的模型參數(shù)值,使模型在數(shù)據(jù)上的誤差盡可能小。這個過程叫作 模型訓(xùn)練(model training),包含三個要素:
- 訓(xùn)練數(shù)據(jù)
我們通常收集一系列的真實(shí)數(shù)據(jù),例如多棟房屋的真實(shí)售出價格和它們對應(yīng)的面積和房齡。我們希望在這個數(shù)據(jù)上面尋找模型參數(shù)來使模型的預(yù)測價格與真實(shí)價格的誤差最小。在機(jī)器學(xué)習(xí)術(shù)語里,該數(shù)據(jù)集被稱為 訓(xùn)練數(shù)據(jù)集(training data set) 或 訓(xùn)練集(training set) ,一棟房屋被稱為一個 樣本(sample) ,其真實(shí)售出價格叫作 標(biāo)簽(label) ,用來預(yù)測標(biāo)簽的兩個因素叫作 特征(feature)。特征用來表征樣本的特點(diǎn)。
- 損失函數(shù)
在模型訓(xùn)練中,我們需要衡量價格預(yù)測值與真實(shí)值之間的誤差。通常我們會選取一個非負(fù)數(shù)作為誤差,且數(shù)值越小表示誤差越小。一個常用的選擇是平方函數(shù)。它在評估索引為 i 的樣本誤差的表達(dá)式為:
其中常數(shù) 1/2 使對平方項求導(dǎo)后的常數(shù)系數(shù)為1,這樣在形式上稍微簡單一些。顯然,誤差越小表示預(yù)測價格與真實(shí)價格越相近,且當(dāng)二者相等時誤差為0。給定訓(xùn)練數(shù)據(jù)集,這個誤差只與模型參數(shù)相關(guān),因此我們將它記為以模型參數(shù)為參數(shù)的函數(shù)。在機(jī)器學(xué)習(xí)里,將衡量誤差的函數(shù)稱為 損失函數(shù)(loss function) 。這里使用的平方誤差函數(shù)也稱為 平方損失(square loss) 。
通常,我們用訓(xùn)練數(shù)據(jù)集中所有樣本誤差的平均來衡量模型預(yù)測的質(zhì)量,即
- 優(yōu)化算法
當(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ù)在本次迭代的減小量。
在訓(xùn)練本節(jié)討論的線性回歸模型的過程中,模型的每個參數(shù)將作如下迭代:
- 模型預(yù)測
二、線性回歸的表示方法
如果我們對訓(xùn)練數(shù)據(jù)集里的3個房屋樣本(索引分別為1、2和3)逐一預(yù)測價格
現(xiàn)在,我們將上面3個等式轉(zhuǎn)化成矢量計算。設(shè):
對3個房屋樣本預(yù)測價格的矢量計算表達(dá)式為y?=Xw+b, 其中的加法運(yùn)算使用了 廣播機(jī)制
總結(jié)
以上是生活随笔為你收集整理的《动手学深度学习 PyTorch版》学习笔记(三):线性回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客21781 牛兄牛弟
- 下一篇: Tensorflow深度学习应用(进阶篇