为啥我们需要正则化来训练 MaxEnt?

Posted

技术标签:

【中文标题】为啥我们需要正则化来训练 MaxEnt?【英文标题】:why do we need regularization for training MaxEnt?为什么我们需要正则化来训练 MaxEnt? 【发布时间】:2015-06-27 15:48:35 【问题描述】:

我正在阅读 jurafsky 的 NLP 书籍,其中提到为了训练 MaxEnt,我们需要调整权重以防止过度拟合。但我不明白为什么会这样。 如果我们不使用正则化,任何人都可以解释在训练过程中如何发生过拟合吗?

【问题讨论】:

【参考方案1】:

我没有读过那本书,但作为机器学习的从业者,我可以告诉你,任何类型的模型都可能出现过拟合。 MaxEnt 也不例外。

您可能应该问的问题是,“什么是过拟合,是什么原因造成的?”

查看:Distinguishing overfitting vs good prediction

考虑到您正在处理的训练数据量,当您尝试估计过多的系数时,或者更一般地说,模型过于灵活时,往往会发生过度拟合。结果是您的模型将“学习”数据中的噪声,从而降低其样本外的预测准确性。

有两种处理过拟合的方法。要么 (1) 获得更多训练数据,要么 (2) 降低模型的复杂性。正则化属于类别 (2),通过惩罚“复杂”解决方案来发挥作用,从而减少方差。 “复杂”的含义因模型类型而异。

在线和介绍 ML 教科书中有大量关于过拟合和正则化的材料。如果你想要一个通俗易懂的解释,我推荐 Abu-Mostafa 从数据中学习。

【讨论】:

以上是关于为啥我们需要正则化来训练 MaxEnt?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中「正则化来防止过拟合」到底是一个啥原理?

正则化(神经网络过拟合时的应对方法)

正则化详解

为啥正则化强度负值不是正确的方法?

7.逻辑回归实践

L0, L1, L2 正则化