【机器学习】过拟合/欠拟合+正则化

正则化

1. 过拟合/欠拟合

正则化通过在损失函数中添加约束,防止模型参数在迭代过程中无限制增长,进而提高模型的泛化能力。

在模型训练过程中,参数的优化实际上是不断迭代,以找到一个方程 H θ ( x ) H_{\theta}(x) Hθ(x) 来拟合训练数据。然而,拟合程度的最佳水平仍需探讨。下面的回归模型拟合图展示了不同程度的拟合效果:

请添加图片描述

  • 欠拟合:最左边的图表明模型拟合程度过低,无法有效捕捉数据中的模式,导致训练集和测试集的准确率都较低。这表明模型泛化能力不强,无法很好地适应新数据。

  • 过拟合:最右边的图显示模型对训练数据的每个点都进行了精确拟合,包括噪声。这种高度复杂的模型虽然在训练集上表现出色,但在测试集上会因过度拟合噪声而表现较差。此外,过于复杂的模型往往会产生不平滑的曲线,失去对数据的有效预测能力。

  • 适中拟合(Good Fit):中间的图展现了最佳的拟合程度,模型既不过于复杂,也不过于简单,能够合理预测数据的趋势。尽管在训练集上的准确率不如过拟合模型,但其在测试集上的表现最好,泛化能力最强。

问题原因解决办法
欠拟合(Underfitting)1. 训练数据量不足。
2. 模型的复杂度过低。
3. 模型训练过早停止,参数未充分收敛。
4. 学习率过高。
1. 增加训练数据。
2. 增加模型的参数或采用更复杂的模型结构。
3. 增加训练轮次,确保模型参数充分收敛。
4. 调整学习率。
过拟合(Overfitting)1. 数据集中的噪声过多。
2. 特征数量过多。
3. 模型过于复杂。
1. 清洗数据,去除噪声和异常值。
2. 减少不必要的特征,降低模型的复杂性。
3. 引入正则化

2. 正则化

正则化(Regularization)是在机器学习和深度学习模型训练中,通过对模型的复杂度施加约束,以防止模型过拟合的一种技术。正则化的目的是在模型的损失函数中增加一个惩罚项,该惩罚项对模型的参数施加一定的约束,从而限制模型过度拟合训练数据中的噪声和细节,提高模型在未见数据(测试集)上的泛化能力。
正则化主要通过对模型的参数(权重)添加约束项来实现,常见的正则化方法包括 L1 正则化L2 正则化,它们的主要区别在于对参数的惩罚方式不同。

L1 正则化(Lasso Regularization)

L1正则化的惩罚项是参数的绝对值之和,其形式如下:
L ( θ ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 + λ ∑ j = 1 m ∣ θ j ∣ L(\theta) = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^{m} |\theta_j| L(θ)=n1i=1n(yiy^i)2+λj=1mθj

  • 损失函数的第一部分是模型的误差项,表示模型对训练数据的拟合程度。
  • 损失函数的第二部分是正则化项,表示所有模型参数(权重)的绝对值之和,带有正则化强度的权重 λ \lambda λ

L1正则化的特点: L1正则化倾向于让某些参数权重( θ j \theta_j θj) 变为零,这意味着它有助于进行特征选择,即只保留那些对模型影响较大的特征,而将不重要的特征的权重压缩到零。

L2 正则化(Ridge Regularization)

L2正则化的惩罚项是参数的平方和,其形式如下:
L ( θ ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 + λ ∑ j = 1 m θ j 2 L(\theta) = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^{m} \theta_j^2 L(θ)=n1i=1n(yiy^i)2+λj=1mθj2

  • 损失函数的第一部分是模型的误差项。
  • 损失函数的第二部分是正则化项,表示所有模型参数的平方和,正则化强度由参数 (\lambda) 控制。

L2正则化的特点:L2正则化通过惩罚权重的平方值来限制模型的复杂度,强制所有权重变小,但不完全为零。相比L1正则化,它更加倾向于**缩小权重,**而不是直接将权重归零。L2正则化会使模型更加平滑,尤其是避免了过度拟合导致的模型过于复杂和拐来拐去的现象。它减少了模型对异常点和噪声的敏感度。

L1 与 L2 正则化的比较

特性L1 正则化L2 正则化
惩罚项参数绝对值之和参数平方和
效果产生稀疏解,部分参数会被压缩为零所有参数被缩小,但不会压缩为零
适用场景特征选择,稀疏模型避免过拟合,参数的平滑约束
模型复杂度的影响减少模型复杂度,去掉不重要的特征限制模型复杂度,防止参数过大
算法Lasso 回归Ridge 回归
数学性质非平滑优化问题平滑优化问题

L1 + L2 正则化(Elastic Net)

在实际应用中,L1 和 L2 正则化可以结合使用,这种方法称为Elastic Net,其损失函数同时包含 L1 和 L2 正则化项:
L ( θ ) = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 + λ 1 ∑ j = 1 m ∣ θ j ∣ + λ 2 ∑ j = 1 m θ j 2 L(\theta) = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 + \lambda_1 \sum_{j=1}^{m} |\theta_j| + \lambda_2 \sum_{j=1}^{m} \theta_j^2 L(θ)=n1i=1n(yiy^i)2+λ1j=1mθj+λ2j=1mθj2
Elastic Net 同时具有 L1 的稀疏性和 L2 的平滑性,适用于高维数据集的特征选择和防止过拟合。

总结:

  • 正则化是一种通过增加惩罚项来限制模型复杂度的技术,用于防止模型过拟合。
  • L1正则化通过惩罚权重的绝对值,产生稀疏模型,并能够进行特征选择。
  • L2正则化通过惩罚权重的平方,限制模型参数的大小,使模型更加平滑且不易过拟合。

两者各有优劣,根据具体任务需求可以选择 L1、L2 或 Elastic Net 组合正则化策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值