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