使用 Tensorflow 分析 Regression 的基礎練習

Nerual network 分析二維四次多項式

先定義輸入輸出格式,None表示我們不限制它的Row

TF_PR1

在 Tensorflow 中,要定義它是常數、變數,或是從外部輸入,必須要分別指定成:

  • tf.constant()
  • tf.Variable()
  • tf.placeholder()

他才會是那個形式;而想使用 Tensorflow 的任何內容,必須要用 sess.run() 去啟動它,不然會是 Tensor 的格式。

其中 sess = tf.Session()

定義一個 Y = W*x + b 的線性方程,在隱藏層中利用 activation function 去改變它。

TF_PR2

評估模型好壞常用有 square error 和 cross_entropy,這裡利用 square error 計算 loss。

選擇基本的梯度下降並最小化 loss;optimizer 是個小於 1 的值。

設定要訓練的數值和函數 (記得要有一定的雜訊)

TF_PR3

  • W shape = (in_dim, hidden_units) = (10,1)
  • predictions shape = (200,1)*(1,10)*(10,1) = (200,1)

訓練 1000 次每 50 次看結果:視覺化和數據化

TF_PR4

placeholder 給資料會是一個字典的形式:

Session.run(*****, feed_dict={a:a_data, b:b_data, .....})

最後結果

TF_PR5 TF_PR6 TF_PR7

My GitHub