深度学习框架tensorflow学习与应用6(防止过拟合dropout,keep_prob =tf.placeholder(tf.float32))
再迭代300次 3000次都一樣的,基本上提高不了了
Iter 0,Testing Accuracy 0.9208,Training Accuracy 0.91416365
Iter 1,Testing Accuracy 0.9298,Training Accuracy 0.9265636
Iter 2,Testing Accuracy 0.9368,Training Accuracy 0.9341818
Iter 3,Testing Accuracy 0.9423,Training Accuracy 0.9419091
Iter 4,Testing Accuracy 0.9439,Training Accuracy 0.94298184
Iter 5,Testing Accuracy 0.9482,Training Accuracy 0.94812727
Iter 6,Testing Accuracy 0.9482,Training Accuracy 0.95054543
Iter 7,Testing Accuracy 0.9521,Training Accuracy 0.95414543
Iter 8,Testing Accuracy 0.9535,Training Accuracy 0.95536363
Iter 9,Testing Accuracy 0.9543,Training Accuracy 0.95714545
Iter 10,Testing Accuracy 0.9569,Training Accuracy 0.9596909
Iter 11,Testing Accuracy 0.956,Training Accuracy 0.96067274
Iter 12,Testing Accuracy 0.9588,Training Accuracy 0.96314543
Iter 13,Testing Accuracy 0.9607,Training Accuracy 0.9644182
Iter 14,Testing Accuracy 0.9607,Training Accuracy 0.9657818
Iter 15,Testing Accuracy 0.9613,Training Accuracy 0.9667818
Iter 16,Testing Accuracy 0.9636,Training Accuracy 0.96834546
Iter 17,Testing Accuracy 0.9636,Training Accuracy 0.9676909
Iter 18,Testing Accuracy 0.9635,Training Accuracy 0.96983635
Iter 19,Testing Accuracy 0.9654,Training Accuracy 0.97056365
Iter 20,Testing Accuracy 0.9667,Training Accuracy 0.97096366
Iter 21,Testing Accuracy 0.9666,Training Accuracy 0.9719091
Iter 22,Testing Accuracy 0.9677,Training Accuracy 0.97285455
Iter 23,Testing Accuracy 0.9666,Training Accuracy 0.9730545
Iter 24,Testing Accuracy 0.968,Training Accuracy 0.9742182
Iter 25,Testing Accuracy 0.9684,Training Accuracy 0.97458184
Iter 26,Testing Accuracy 0.9696,Training Accuracy 0.9758545
Iter 27,Testing Accuracy 0.9688,Training Accuracy 0.9760909
Iter 28,Testing Accuracy 0.9699,Training Accuracy 0.9764364
Iter 29,Testing Accuracy 0.971,Training Accuracy 0.9768909
Iter 30,Testing Accuracy 0.9705,Training Accuracy 0.97776365
使用dropout進行防止過擬合
但是用dropout收斂速度會變慢,到第30次才能達到97.
Iter 0,Testing Accuracy 0.915,Training Accuracy 0.91123635
Iter 1,Testing Accuracy 0.9298,Training Accuracy 0.92745453
Iter 2,Testing Accuracy 0.9366,Training Accuracy 0.9358364
Iter 3,Testing Accuracy 0.9415,Training Accuracy 0.9400909
Iter 4,Testing Accuracy 0.9444,Training Accuracy 0.94485456
Iter 5,Testing Accuracy 0.9461,Training Accuracy 0.9476909
Iter 6,Testing Accuracy 0.9498,Training Accuracy 0.9505091
Iter 7,Testing Accuracy 0.9528,Training Accuracy 0.9532727
Iter 8,Testing Accuracy 0.9531,Training Accuracy 0.9565091
Iter 9,Testing Accuracy 0.955,Training Accuracy 0.9577818
Iter 10,Testing Accuracy 0.9555,Training Accuracy 0.95861816
Iter 11,Testing Accuracy 0.9579,Training Accuracy 0.9612909
Iter 12,Testing Accuracy 0.9595,Training Accuracy 0.96385455
Iter 13,Testing Accuracy 0.9604,Training Accuracy 0.96523637
Iter 14,Testing Accuracy 0.9609,Training Accuracy 0.96592724
Iter 15,Testing Accuracy 0.9611,Training Accuracy 0.96647274
Iter 16,Testing Accuracy 0.9618,Training Accuracy 0.9676727
Iter 17,Testing Accuracy 0.9627,Training Accuracy 0.9693091
Iter 18,Testing Accuracy 0.9642,Training Accuracy 0.96983635
Iter 19,Testing Accuracy 0.9656,Training Accuracy 0.97049093
Iter 20,Testing Accuracy 0.9637,Training Accuracy 0.9705273
Iter 21,Testing Accuracy 0.9659,Training Accuracy 0.97261816
Iter 22,Testing Accuracy 0.9672,Training Accuracy 0.9735818
Iter 23,Testing Accuracy 0.9673,Training Accuracy 0.9735091
Iter 24,Testing Accuracy 0.9677,Training Accuracy 0.97409093
Iter 25,Testing Accuracy 0.9704,Training Accuracy 0.9747818
Iter 26,Testing Accuracy 0.9696,Training Accuracy 0.9760727
Iter 27,Testing Accuracy 0.9699,Training Accuracy 0.9764
Iter 28,Testing Accuracy 0.9687,Training Accuracy 0.9764364
Iter 29,Testing Accuracy 0.968,Training Accuracy 0.9772
Iter 30,Testing Accuracy 0.9707,Training Accuracy 0.97778183
如果使用tensorbored就可以看到曲線圖。
為什么要用dropout?
因為從第二段代碼我們可以看出,其在測試集的準確率和在訓練集的準確率差不多
如果是googlenet和alexnet這么大的網絡進行自己分類時,如果我們用goolenet訓練500張照片分5類,那么就會過導致過擬合的
因為樣本很少,但是我們dropout百分50的神經元那么就會得到好的效果。
用復雜的網絡去訓練小樣本時我們就可以看到dropout的重要性了。
總結
以上是生活随笔為你收集整理的深度学习框架tensorflow学习与应用6(防止过拟合dropout,keep_prob =tf.placeholder(tf.float32))的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用canvas制作绘图板
- 下一篇: 【产品经理】 产品进阶之路(二):如何为