机器学习/深度学习——模型的欠拟合和过拟合,正则化方法详解

机器学习/深度学习——模型的欠拟合和过拟合,正则化方法 详解

搭配以下文章进行学习:

卷积神经网络:
深度学习——卷积神经网络(convolutional neural network)CNN详解(一)——概述. 步骤清晰0基础可看

深度学习——卷积神经网络(convolutional neural network)CNN详解(二)——前向传播与反向传播过程(特征提取+预测+反向传播更新参数). 步骤清晰0基础可看

简单的神经网络详解:
深度学习——神经网络(neural network)详解(一). 带手算步骤,步骤清晰0基础可看

深度学习——神经网络(neural network)详解(二). 带手算步骤,步骤清晰0基础可看

梯度下降法:
机器学习/深度学习——梯度下降法(Gradient descent)详解. 步骤清晰 0基础可看

1.数据集划分

(1)训练集(Training Set):

用途:用于模型的训练过程,即学习数据特征和进行参数调优。

比例:通常是数据集中的最大部分,常见的比例为60%-70%。

(2)验证集(Validation Set):

用途:用于模型的调整和选择,比如选择模型的超参数、正则化系数等。验证集帮助我们评估模型在训练集之外的数据上的表现,以避免过拟合。

比例:在没有单独测试集的情况下,验证集可以稍大一些,常见的比例为20%-30%。如果存在单独的测试集,验证集可以较小,比如10%-20%。

(3)测试集(Test Set):

用途:用于最终评估模型的性能。测试集应该在整个模型选择和训练过程结束后只使用一次,以确保评估结果的公正性。
比例:测试集应足够大,以提供可靠的性能估计,常见的比例为10%-20%。

(4)交叉验证集(Cross-Validation Set,可选):

用途:在数据量有限的情况下,可以使用交叉验证来更有效地利用数据。交叉验证通过将训练集分割成多个小的子集,每个子集轮流作为验证集,而剩余的数据作为训练集,这样可以减少过拟合的风险并提高模型评估的可靠性。

方法:常见的交叉验证方法有K折交叉验证(K-fold cross-validation),其中K通常取值5或10。

(5)数据集划分的一般比例:

一个常见的划分比例是:训练集70%,验证集20%,测试集10%,即7:2:1。如果数据量很大,可能使用60%的训练集,20%的验证集和20%的测试集,6:2:2

详细知识点请见:深度学习——卷积神经网络(convolutional neural network)CNN详解(一)——概述. 步骤清晰0基础可看

2.欠拟合(Underfitting)

(1)定义:当一个模型在训练数据上都不能获得满意的性能,即模型太简单,没有学习到数据中的潜在结构和模式。

(2)原因:模型过于简单,参数太少;特征选择不当,重要特征缺失;训练时间过短,模型没有收敛到理想状态。
表现:训练误差和测试误差都较大。

(3)解决方法:增加模型复杂度、添加更多的特征、减少正则化强度、使用更复杂的模型或算法、增加训练数据、延长训练时间等。

如图所示:训练集和验证集的误差都很高,并且随着样本数量的增加,误差并没有显著下降,这通常表明模型是欠拟合的。

在这里插入图片描述

3.过拟合(Overfitting)

定义:当一个模型在训练数据上表现得非常好,但是在未见过的新数据上表现差,即模型对训练数据中的噪声和细节学习得太多,失去了泛化能力。

原因:模型过于复杂,拥有过多的参数;训练数据不足够或质量不高;训练时间过长,导致模型学习到数据中的随机误差。

表现:训练误差很小,但验证误差或测试误差较大。

解决方法:获取更多的数据、减少模型复杂度、使用正则化方法(如L1、L2正则化)、应用Dropout(在深度学习中)、使用数据增强、调整模型训练的迭代次数等。

如图所示:在训练集数目较小的时候,非常容易出现过拟合情况,所以我们可以看到曲线的开始部分,验证集误差很高,可是训练集误差却很小,这是典型的过拟合现象,表明在训练集上出现的超低误差是因为模型过度学习训练集造成的。但是随着训练集样本的增多,过拟合情况缓解,验证集的误差逐步降低,训练集的误差逐步升高。

过拟合

4.正则化是什么?

正则化是在模型的损失函数中添加一个额外的项,这个项通常与模型参数的某种度量(如参数的大小或复杂度)成比例。通过这种方式,正则化有助于简化模型,避免模型过于复杂而学习到数据中的噪声。

常见类型:

(1) L1 正则化(Lasso 正则化)

向损失函数添加参数的绝对值之和,促使模型学习到的权重尽可能稀疏(即有更多的参数变为零),这有助于特征选择。
L1

(2) L2 正则化(Ridge 正则化)

向损失函数添加参数的平方和,促使模型学习到的权重尽可能小,这有助于模型平滑。
L2

(3)弹性网(Elastic Net)正则化

结合了L1和L2正则化,同时考虑参数的绝对值和平方。
弹性网正则化

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林采采学编程+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值