正则化是一种常用的机器学习技术,用于降低模型的复杂度并防止过拟合。L1和L2正则化是两种常见的正则化方法,在训练机器学习模型时经常被使用。本文将详细介绍L1和L2正则化的原理和应用,并给出相应的源代码示例。
- L1正则化
L1正则化是指在损失函数中加入模型权重的绝对值之和。其目标是使得模型中的某些权重变为0,从而实现特征选择的效果。L1正则化可以有效地降低特征的维度,提高模型的泛化能力。
以线性回归为例,加入L1正则化后的损失函数为:
L(w) = MSE(y, Xw) + λ||w||₁
其中,MSE表示均方误差,y是目标变量,X是特征矩阵,w是模型的权重,||w||₁表示权重的L1范数(即绝对值之和),λ是正则化参数,用于控制正则项的权重。
通过梯度下降等优化算法,可以最小化上述损失函数来训练模型。L1正则化的特点是,它倾向于产生稀疏的权重向量,使得模型只关注对预测结果最有影响的特征。
下面是一个简单的L1正则化的线性回归示例代码:
from sklearn.linear_mo