TensorFlow简单线性回归
TensorFlow簡(jiǎn)單線(xiàn)性回歸
將針對(duì)波士頓房?jī)r(jià)數(shù)據(jù)集的房間數(shù)量(RM)采用簡(jiǎn)單線(xiàn)性回歸,目標(biāo)是預(yù)測(cè)在最后一列(MEDV)給出的房?jī)r(jià)。
波士頓房?jī)r(jià)數(shù)據(jù)集可從http://lib.stat.cmu.edu/datasets/boston處獲取。
直接從 TensorFlow contrib 數(shù)據(jù)集加載數(shù)據(jù)。使用隨機(jī)梯度下降優(yōu)化器優(yōu)化單個(gè)訓(xùn)練樣本的系數(shù)。
實(shí)現(xiàn)簡(jiǎn)單線(xiàn)性回歸的具體做法
-
導(dǎo)入需要的所有軟件包:
-
在神經(jīng)網(wǎng)絡(luò)中,所有的輸入都線(xiàn)性增加。為了使訓(xùn)練有效,輸入應(yīng)該被歸一化,所以這里定義一個(gè)函數(shù)來(lái)歸一化輸入數(shù)據(jù):
-
現(xiàn)在使用 TensorFlow contrib 數(shù)據(jù)集加載波士頓房?jī)r(jià)數(shù)據(jù)集,并將其分解為 X_train 和 Y_train。可以對(duì)數(shù)據(jù)進(jìn)行歸一化處理:
-
為訓(xùn)練數(shù)據(jù)聲明 TensorFlow 占位符:
-
創(chuàng)建 TensorFlow 的權(quán)重和偏置變量且初始值為零:
-
定義用于預(yù)測(cè)的線(xiàn)性回歸模型:
-
定義損失函數(shù):
-
選擇梯度下降優(yōu)化器:
-
聲明初始化操作符:
-
現(xiàn)在,開(kāi)始計(jì)算圖,訓(xùn)練 100 次:
-
查看結(jié)果:
解讀分析
從下圖中可以看到,簡(jiǎn)單線(xiàn)性回歸器試圖擬合給定數(shù)據(jù)集的線(xiàn)性線(xiàn):
在下圖中可以看到,隨著模型不斷學(xué)習(xí)數(shù)據(jù),損失函數(shù)不斷下降:
下圖是簡(jiǎn)單線(xiàn)性回歸器的 TensorBoard 圖:
該圖有兩個(gè)名稱(chēng)范圍節(jié)點(diǎn) Variable 和 Variable_1,它們分別是表示偏置和權(quán)重的高級(jí)節(jié)點(diǎn)。以梯度命名的節(jié)點(diǎn)也是一個(gè)高級(jí)節(jié)點(diǎn),展開(kāi)節(jié)點(diǎn),可以看到它需要 7 個(gè)輸入并使用 GradientDescentOptimizer 計(jì)算梯度,對(duì)權(quán)重和偏置進(jìn)行更新:
總結(jié)
本節(jié)進(jìn)行了簡(jiǎn)單的線(xiàn)性回歸,但是如何定義模型的性能呢?
有多種方法可以做到這一點(diǎn)。統(tǒng)計(jì)上來(lái)說(shuō),可以計(jì)算 R2 或?qū)?shù)據(jù)分為訓(xùn)練集和交叉驗(yàn)證集,并檢查驗(yàn)證集的準(zhǔn)確性(損失項(xiàng))。
總結(jié)
以上是生活随笔為你收集整理的TensorFlow简单线性回归的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TensorFlow csv读取文件数据
- 下一篇: TensorFlow多元线性回归实现