【keras學習(六)】mnist手寫圖片分類程序(四)使用正則化

一、使用正則化識別mnist手寫圖片數據集

使用正則化的原因是可以避免過擬合的情況發生

二、代碼分析

在建立模型的時候,全連接層的參數kernel_regularizer進行設置,該參數的意思是在權值上設置正則化,此外還有偏置正則化等

#創建模型,輸入784個神經元,輸出10個神經元
model = keras.Sequential()
model.add(keras.layers.Dense(200,input_dim=784,kernel_regularizer=keras.regularizers.l2(0.0003)))
model.add(keras.layers.Activation('tanh'))
keras.layers.Dropout(0.4)
model.add(keras.layers.Dense(100,kernel_regularizer=keras.regularizers.l2(0.0003)))
model.add(keras.layers.Activation('tanh'))
keras.layers.Dropout(0.4)
model.add(keras.layers.Dense(10,kernel_regularizer=keras.regularizers.l2(0.0003)))
model.add(keras.layers.Activation('softmax'))
運行代碼後,得出的準確率結果達到95%左右,可以分別使用test和train數據集進行對比測試,可以得出過擬合比較低的結論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章