模型的选择, 欠拟合和过拟合

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

现在学习《动手学习深度学习》(pytorch版),想着记录一下,不至于什么都不记得。

完全是写着玩的

一、过拟合和欠拟合?

概念:

过拟合:模型在训练数据集上拟合的比在潜在分布中更接近的现象称为过拟合。换句话说就是在训练的时候,表现挺好,但是当给出新的数据(测试集),准确度就很差。

欠拟合: 欠拟合是指模型在训练数据上表现得过于简单,无法捕捉到数据的内在结构和模式。这意味着模型未能充分利用训练数据中的信息,导致对测试数据的泛化能力也较差。举个例子,有一个多项式函数的图像,但是我们的模型是一个线性模型,这样的话,根本无法对该图进行很好的拟合

原因:

   过拟合:就我个人而言一般是训练数据太少了

  • 模型过于复杂:模型具有太多的参数或过高的灵活性,使其能够完美地拟合训练数据,包括其中的噪声和异常值。
  • 训练数据不足:训练数据量较少,模型能够记住每个训练样本的细节,但这些细节可能并不代表真实数据的总体特征。

办法: 多增加一些数据集, 正则化和早停法

        正则化: 正则化通过向模型的损失函数添加额外的约束或惩罚项,限制模型的复杂度,从而提高其泛化能力

         早停法:在训练过程中监控验证集的表现,如果验证集的误差不再下降或开始上升,提前停止训练。

 欠拟合:

  • 模型过于简单:模型的复杂度太低,无法捕捉训练数据中的潜在模式或特征。
  • 训练时间不足:模型没有足够的时间在训练数据上学习,导致其未能收敛到一个合适的解。
  • 特征不足或不合适:模型没有获得足够的、有用的特征来进行有效的预测。

               
    

二、模型选择

1. 问题类型

  • 监督学习
    • 分类:如逻辑回归、决策树、随机森林、支持向量机、神经网络。
    • 回归:如线性回归、岭回归、决策树回归、支持向量回归、神经网络。
  • 无监督学习
    • 聚类:如 K-means、层次聚类、DBSCAN。
    • 降维:如 PCA、t-SNE、因子分析。
  • 强化学习:如 Q-learning、深度强化学习。

2. 数据规模和特征

  • 数据量
    • 对于小数据集,简单的模型(如线性模型或决策树)可能表现得更好,因为它们容易训练且不容易过拟合。
    • 对于大数据集,复杂的模型(如深度神经网络)通常能更好地捕捉数据中的复杂模式。
  • 特征数量
    • 如果特征较少,简单模型可能足够。
    • 如果特征很多,尤其是高维数据,考虑使用降维技术或选择能够处理高维数据的模型,如支持向量机或神经网络。
  • 特征类型
    • 如果特征是类别型的,可以使用决策树、随机森林或梯度提升树等模型。
    • 如果特征是连续的,线性回归或神经网络等模型可能会表现更好。

          一般情况下,对一个问题我们会尝试采用多个模型来训练,或者同一模型采用不同参数,我们会用验证集来验证模型的泛化能力,进而判断模型的好坏

          当训练数据稀缺时,我们可能没办法找到足够数据来分为训练集和验证集,这种情况下一般是采用K折交叉验证。首先,原始训练数据被分为K个不重叠的子集;然后,执行K次模型的训练和验证,每次在K - 1个子集上进行训练,并在剩余的一个子集上进行验证。

最后对K次实验的结果取平均值来估计训练误差和验证误差


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值