1.epoch和batch的區別
a.epoch是指模型的迭代次數,每一個epoch是模型的一次迭代,使用整個數據集迭代一次
b.batch發生在一次epoch中,指的是每次參數更新僅使用batch_size個訓練樣本。一次epoch需要進行batch_num次,每次用batch_size個樣本進行更新(batch_num * batch_size = 訓練集樣本個數)
2.dropout爲什麼可以防止過擬合
a.相當於多個神經網絡投票或者“取平均”的作用。因爲dropout以一定的概率隨機的去除網絡中的神經元之間的連接,每個dropout網絡結構都不相同,相當於多個不同的網絡訓練得到的最終結果
b.減少神經元之間依賴關係。dropout操作,使得2個神經元每次不一定存在於一個dropout網絡,這樣權重的更新不再依賴於固定的關係的隱含節點的共同作用,阻止了某些特徵的有效是在其他特徵共現的情況下,這就迫使的網絡更加的魯棒性。