Tensorflow 練習3: ‘FizzBuzz’

Joel Grus — FizzBuzz in tensorflow

從網路上看到的幽默問題

算是一個很有趣的使用,適合在做完 Classification 後

輸入資料處理和原版程式碼一樣,因為還蠻直觀的

1 — 000000001 — [0 0 0 0 0 0 0 0 1]

2 — 000000010 — [0 0 0 0 0 0 0 1 0]

………

輸出則是用[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]來代表四個分類

輸入輸出都是一個矩陣的形式

利用兩層hidden layer 分別是 512和256

激勵函數選擇relu

剩下的就交給tensorflow分類

結果

一開始一直分不出來

都會卡再把每個資料都判定成同一類(0.533)

後來減低每次訓練丟進去的量就OK了

(忘記一開始做分類時也只丟一點點進去)

tf_fizz0

卡在0.533代表他受非5非3倍數的值影響很大,畢竟是機率最高的地方
也看成是local minimum,要跳出去就是使用batch
這是有加入0.8 dropout 的結果,可以看到訓練跟測試差不多,而且很快就達到1.0的準確率

My GitHub



發表留言