正则化(Regularization)是机器学习中用于防止模型过拟合(Overfitting)的一种技术,通过在模型训练过程中引入额外的约束或惩罚项,降低模型的复杂度,从而提高其泛化能力(即在未见数据上的表现)。核心思想是在拟合训练数据和控制模型复杂度之间取得平衡。
一、常见的正则化方法
1. L1 正则化(Lasso回归)
在损失函数中添加模型权重(参数)的L1 范数(绝对值之和)作为惩罚项。
特点:
会倾向于产生稀疏权重矩阵(即部分权重变为0),适用于特征选择(自动筛选重要特征)。
2. L2 正则化(Ridge回归)
在损失函数中添加模型权重的 L2 范数(平方和)作为惩罚项。
特点:
使权重值均匀缩小,避免某些特征权重过大,但不会完全消除特征。
3. 弹性网络(Elastic Net)
结合 L1 和 L2 正则化,通过比例参数调节两者权重。
适用于高维数据且特征间存在相关性时。
4. Dropout(神经网络专用)
在训练过程中随机“丢弃”(临时禁用)神经网络中的部分神经元,迫使网络不依赖单一神经元,增强鲁棒性。
5. 早停法(Early Stopping)
在训练过程中监控验证集误差,当误差不再下降时提前停止训练,防止过拟合。
二、正则化的作用
1.防止过拟合:限制模型对训练数据的过度拟合,尤其当数据量少或模型复杂时。
2.改善泛化能力:使模型在测试数据或真实场景中表现更稳定。
3.特征选择(L1 正则化):自动筛选对预测最重要的特征。
三、超参数 λ 的作用
λ(lambda)是正则化项的系数,控制惩罚力度:
λ 过大:模型可能欠拟合(权重被过度压制)。
λ 过小:正则化效果微弱,可能过拟合。
通常通过交叉验证(Cross-Validation)选择最优的 λ。
四、示例场景
1.线性回归:使用 L2 正则化(Ridge)或 L1 正则化(Lasso)。
2.深度学习:常用 Dropout 或 L2 正则化。
3.高维数据(如基因数据):L1 或 Elastic Net 更有效。
正则化是机器学习模型调优的重要工具之一,合理使用能显著提升模型性能。