利用CNN 來預測數字(MNIST)
輸入圖形是一個28*28 灰階09的數字 輸出是一個1*10的矩陣,裡面代表的是我們預測09的數字 流程是 輸入–convolution–pooling–convolution–pooling–hidden layer–output
用到[None,xx,xx]和[-1,XX,xx],代表著我們忽略輸入的大小,他會跟隨著輸入改變
max pooling 是表示我們選擇的是那個kernel size裡的最大值 並且也加入dropout 避免overfitting 詳細分析參照 Tensorflow
結果
上圖是沒有dropout下圖是有dropout 就這個例子而言差別不大,但還是看的出來上面的訓練會比測試好
準確率落在97%~99%之間(1000次訓練) (用GradientDescent,其他的應該會更好) 代碼 My GitHub