正则化

发布时间 2023-12-11 21:21:56作者: HoroSherry

目录

什么是正则化

在机器学习中,一个核心问题是设计不仅在训练数据集上表现好,而且能在新输入上有好的泛化性,因此许多策略被显式地设计来减少测试误差,这些 策略统称为正则化。

因此,正则化被定义为对学习算法地修改-减少泛化误差而不是训练误差。也就是说,正则化的目的是防止模型过拟合,降低泛化误差,提高泛化能力。

正则化方法则是在模型参数上施加约束,添加惩罚项。假设模型的目标函数如下

\[\tilde{J}(\theta ; X, y)=J(\theta ; X, y)+\alpha \Omega(\theta) \]

这里α是超参数,用于控制正则化的力度,\(\Omega(θ)\)表示正则项。

什么是范数

将空间中两个点的距离这个概念给扩展一下就是范数。

  • L2范数

    如果权重w为一个高维的向量或高维空间中的一个点,这个点到原点的距离如果为欧式距离,则为L2范数。

  • L1范数

    而如果距离为曼哈顿距离,即对坐标值直接取绝对值,则为L1范数。

  • Lp范数

    当0<p<1时,得到的集合为非凸集;当p≥1时,得到的集合才是凸集

L1正则化

对目标函数施加L1正则化,则上述公式正则项表示为

\[\Omega(\theta)=\sum|\theta| \]

可以对深度模型按层进行L1正则化

L2正则化

对目标函数施加L2正则化,则公式中的正则项表示为

\[\Omega(\theta)=\sum \theta^2 \]

可以对深度模型按层进行L2正则化

其他正则化方法

  • 数据增强

  • early stopping

    在训练集上训练模型,周期性的在验证机上评价模型的效果,并保存效果最好的模型参数。返回具有最小验证机错误的模型参数

  • dropout

    在训练神经网络的过程中,以一定的概率使网络的神经元失效,输出0,以此来提升模型的效果。