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