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网络,这样权重的更新不再依赖于固定的关系的隐含节点的共同作用,阻止了某些特征的有效是在其他特征共现的情况下,这就迫使的网络更加的鲁棒性。