驗證

真正的驗證是需要單獨寫一直程式來驗證的 本節只稍微介紹一個參數

在訓練時,我們給了一個參數validation_split=0.2

# 開始訓練模型
train_history = model.fit(x=img_feature_normalized, # 指定 feature
                          y=img_label_onehot, # 指定 label 
                          validation_split=0.2, # 分80%訓練,20%驗證
                          epochs=5, # 執行 5 次訓練
                          batch_size=200, # 批次訓練,每批次 200 筆資料
                          verbose=2) # 顯示訓練過程

這代表80%進行訓練,20%進行驗證 換句話說,如果資料有10000筆,則8000筆拿來學習,2000筆拿來驗證 所以資料的平均分散性就很重要了

執行CNN算法後,會看到

以本圖為例

  • 首先看到的表格就是類神經的定義。
  • 最下方顯示acc: 0.9006代表訓練集的精準度是90.06%,val_acc: 0.9011代表測試集的精準度是90.11%。
  • 本例共執行5次訓練,acc和val_acc的值差異愈小愈好。如果愈差愈大,代表訓練過頭,專有名詞是overfitting。

results matching ""

    No results matching ""