http://blog.csdn.net/pipisorry/article/details/75307522
机器学习模型过拟合可采用的方法参考[Machine Learning - X. Advice for Applying Machine Learning机器学习算法的诊断和改进]
LN和BN归一化 [深度学习:批归一化Batch Normalization]
大模型的正则化参考[深度学习:大模型的正则化_-柚子皮-的博客-CSDN博客]
过拟合的原因:
过拟合一般是因为数据少而模型复杂;还有就是共线性(多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。共线性会造成冗余,导致过拟合。)
为了防止过拟合,提高模型泛化能力,减少测试误差,深度学习模型(如神经网络)一般采用正则化策略。采用的方法有范数惩罚(如l2正则)、排除变量的相关性/加入权重正则(共线性解决)、数据集增强、提前终止、参数绑定和共享、ensembling models集成、dropout、对抗训练、batch normalization等等。
L1和L2范数正则化
方法参考[最优化方法:L1和L2正则化regularization ]
深度学习模型中L1和L2正则化需要注意的一点是:
在神经网络中我们通 常只对每一层仿射变换的权重做惩罚而不对偏置做正则惩罚。精确拟合偏置所需的 数据通常比拟合权重少得多。每个权重会指定两个变量如何相互作用。我们需要在 各种条件下观察这两个变量才能良好地拟合权重。而每个偏置仅控制一个单变量。 这意味着,我们不对其进行正则化也不会导致太大的方差。另外, 正则化偏置参数 可能会导致明显的欠拟合。因此,我们使用向量 w 表示所有应受范数惩罚影响的权 重,而向量 θ 表示所有参数 (包括 w 和无需正则化的参数)。
有时希望对网络的每一层使用单独的惩罚,并分配不同的α系数。
Dropout正则化
Dropout 是在训练过程中以一定的概率的使神经元失活,即输出为0,以提高模型的泛化能力,减少过拟合。
训练