L1正则项L2正则项

1. L1 和 L2 正则项的作用

防止过拟合:在机器学习和深度学习模型训练过程中,模型可能会过度拟合训练数据,即模型在训练数据上表现很好,但在新的测试数据或实际应用场景中的表现不佳。L1 和 L2 正则项通过在损失函数中添加惩罚项,限制模型的复杂度,从而有助于防止过拟合。

特征选择(L1 正则项特有):L1 正则项可以实现特征选择。它倾向于使一些不重要的特征对应的系数变为 0,从而在模型中自动筛选出对结果有重要影响的特征,达到简化模型结构的目的。 提高模型的泛化能力:通过限制模型权重的大小,无论是 L1 还是 L2 正则项,都可以使模型更加稳健,减少对训练数据中噪声的敏感度,从而提高模型在不同数据集上的泛化能力,使模型能够更好地适应新的数据。

改善模型的数值稳定性:在一定程度上,正则项可以帮助模型在训练过程中避免数值计算问题,如梯度爆炸或梯度消失等情况,使模型训练更加稳定。

2. L1 和 L2 正则项的区别

  1. 惩罚形式:
  • L1 正则项(Lasso 正则化):L1 正则项是基于权重向量的 L1 范数,即各个权重绝对值之和。对于一个具有权重向量的模型,L1 正则项的表达式为,

其中是正则化强度参数,用于控制正则项在损失函数中的重要性。

  • L2 正则项(岭正则化):L2 正则项是基于权重向量的 L2 范数,即各个权重的平方和的平方根。其表达式为。

同样,用于调节正则化的强度。

  1. 对权重的影响:

    • L1 正则项:由于 L1 正则项是绝对值之和,它会使权重向量变得稀疏。在优化过程中,随着正则化强度的增加,一些权重会逐渐变为 0。例如,对于线性回归模型,当添加 L1 正则项后,一些不太重要的特征对应的权重可能会被压缩为 0,从而实现特征选择。

    • L2 正则项:L2 正则项不会使权重向量变得稀疏。它会使所有的权重都缩小,但不会将它们压缩到 0。例如,在神经网络中,L2 正则项会使所有神经元的权重都受到一定程度的惩罚,整体上降低权重的大小,但不会像 L1 正则项那样直接将某些权重变为 0。

  2. 优化求解的复杂度:

    • L1 正则项:从优化的角度来看,L1 正则项的优化问题是一个非光滑的优化问题,因为绝对值函数在 0 点不可导。这使得优化过程相对复杂,通常需要使用一些特殊的优化算法,如近端梯度下降法(Proximal Gradient Descent)来求解。

    • L2 正则项:L2 正则项的优化问题是一个光滑的二次优化问题,因为其正则项是权重的二次函数。这使得它可以使用常规的优化算法,如梯度下降法或牛顿法等进行求解,相对来说在优化过程中更容易处理。

  3. 在模型中的表现:

    • L1 正则项:在一些需要进行特征选择的模型中,如线性回归的特征筛选场景,L1 正则项表现出色。它可以帮助我们快速找到对目标变量有显著影响的特征,构建一个简洁且有效的模型。

    • L2 正则项:在对模型的稳定性和泛化能力要求较高,且不需要进行特征选择的场景中比较常用。例如,在神经网络中,为了防止过拟合和提高模型的鲁棒性,常常使用 L2 正则项来约束权重。