过拟合,欠拟合和相应的解决办法
欠拟合:模型没有很好地捕捉到数据特征,不能够很好地拟合数据.
解决办法:
- 模型复杂化
- 增加更多的特征,使输入数据具有更强的表达能力
- 降低正则化约束
过拟合:模型把训练集数据学习的太彻底,在验证和测试集上准确率低,即模型的泛化能力差。
解决办法:
- 增加训练数据数
- 减少特征数
- 降低模型的复杂度
- 使用正则化约束
- 使用Dropout
- 提前结束训练(全局平均池化(因为不需要进行参数优化),1*1卷积(减少计算量,在某种程度上避免过拟合))
Dropout
流程:
- 让某个神经元以概率p停止工作,其实就是让它的激活函数值以概率p变为0。
- 把输入一小批训练样本通过修改后的网络前向传播,然后把得到的损失结果通过修改的网络反向传播并更新修改后的网络层。
- 恢复被删掉的神经元(此时被删除的神经元保持原样,而没有被删除的神经元已经有所更新),不断重复上述过程。