使用 Tensorflow 分析 Regression 的基礎練習
Nerual network 分析二維四次多項式
先定義輸入輸出格式,None表示我們不限制它的Row
在 Tensorflow 中,要定義它是常數、變數,或是從外部輸入,必須要分別指定成:
tf.constant()tf.Variable()tf.placeholder()
他才會是那個形式;而想使用 Tensorflow 的任何內容,必須要用 sess.run() 去啟動它,不然會是 Tensor 的格式。
其中 sess = tf.Session()
定義一個 Y = W*x + b 的線性方程,在隱藏層中利用 activation function 去改變它。
評估模型好壞常用有 square error 和 cross_entropy,這裡利用 square error 計算 loss。
選擇基本的梯度下降並最小化 loss;optimizer 是個小於 1 的值。
設定要訓練的數值和函數 (記得要有一定的雜訊)
W shape = (in_dim, hidden_units) = (10,1)predictions shape = (200,1)*(1,10)*(10,1) = (200,1)
訓練 1000 次每 50 次看結果:視覺化和數據化
placeholder 給資料會是一個字典的形式:
Session.run(*****, feed_dict={a:a_data, b:b_data, .....})
最後結果