模型评估与模型参数选择

1.损失函数

若对于给定的输入x,若某个模型的输出y ̂=f(x)偏离真实目标值y,那么就说明模型存在误差; y ̂偏离y的程度可以用关于y ̂和y某个函数L(y,y ̂)来表示,作为误差的度量标准:这样的函数L(y,y ̂)称为损失函数

2.泛化误差

在某种损失函数度量下,训练集上的平均误差被称为训练误差,测试集上的误差称为泛化误差。 由于我们训练得到一个模型最终的目的是为了在未知的数据上得到尽可能准确的结果,因此泛化误差是衡量一个模型泛化能力的重要标准。

误差:预测输出y ̂与真实输出y之间的差异;

经验误差、训练误差:训练集上的误差;

泛化误差:在新样本上的误差。 泛化误差越小越好,经验误差不一定越小越好,可能导致过拟合。

3.验证集

当我们的模型训练好之后,我们并不知道他的表现如何。这个时候就可以使用验证集(Validation Dataset)来看看模型在新数据(验证集和测试集是不同的数据)上的表现如何。同时通过调整超参数,让模型处于最好的状态。

验证集有2个主要的作用:

评估模型效果,为了调整超参数而服务

调整超参数,使得模型在验证集上的效果最好

说明:

验证集不像训练集和测试集,它是非必需的。如果不需要调整超参数,就可以不使用验证集,直接用测试集来评估效果。

验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测试集的评估结果为准。

4.测试集

当我们调好超参数后,就要开始「最终考试」了。我们通过测试集(Test Dataset)来做最终的评估,来看学习效果(模型效果)好不好。

通过测试集的评估,我们会得到一些最终的评估指标,例如:准确率、精确率、召回率、F1等。

5.划分数据集

对于小规模样本集(几万量级),常用的划分比例:

训练集:验证集:测试集=6:2:2

训练集:测试集==8:2、7:3

对于大规模样本集(百万级以上),只要验证集和测试集的数量足够即可。

例如有 100w 条数据,那么留 1w 验证集,1w 测试集即可。

1000w 的数据,同样留 1w 验证集和 1w 测试集。

超参数越少,或者超参数很容易调整,那么可以减少验证集的比例,更多的分配给训练集。

5.过拟合

过拟合:将训练样本自身的一些特点当作所有样本潜在的泛化特点。

表现:在训练集上表现很好,在测试集上表现不好。

过拟合的原因:

训练数据太少(比如只有几百组)

模型的复杂度太高(比如隐藏层层数设置的过多,神经元的数量设置的过大)

 数据不纯

6.如何防止过拟合

为了选择效果最佳的模型,防止过拟合的问题,通常可以采取的方法有:

- 移除特征,降低模型的复杂度:减少神经元的个数,减少隐藏层的层数

- 训练集增加更多的数据

- 重新清洗数据

- 数据增强

- 正则化

-早停

  1. 增加数据量:通过增加更多的训练数据,可以帮助模型学习到更广泛的数据分布,从而减少对特定训练集的依赖。
  2. 简化模型:选择合适复杂度的模型,避免模型过于复杂,这样可以防止模型学习到训练数据中的随机噪声。
  3. 降维:当数据集具有高维度特征时,可以采用降维技术,如主成分分析(PCA)、线性判别分析(LDA)等,以减少数据中的噪声和冗余信息,降低模型复杂度。
  4. 正则化:通过在损失函数中添加正则化项(如L1或L2正则化),可以限制模型参数的大小,防止模型过度拟合训练数据。
  5. 交叉验证:使用交叉验证来评估模型的性能,确保模型在不同的数据子集上都能保持良好的性能。
  6. 早停(Early Stopping):在训练过程中,一旦发现验证集上的性能不再提升或开始下降,就停止训练,以防止过拟合。
  7. 集成学习:通过组合多个不同的模型来提高泛化能力,因为不同的模型可能在不同的方面出现过拟合。
  8. Dropout:特别是在深度学习中使用的一种技术,通过在训练过程中随机丢弃一些神经元,来减少模型对特定训练样本的依赖。
  9. 数据增强:通过对训练数据进行变换(如旋转、缩放、翻转等),可以创造出更多的训练样本,帮助模型学习到更鲁棒的特征。
  10. 超参数调整:通过调整模型的超参数,可以找到最佳的模型配置,以平衡模型的复杂度和泛化能力。

7.欠拟合

欠拟合:还没训练好。

欠拟合的原因:  

 1. 数据未做归一化处理  

 2. 神经网络拟合能力不足  

 3. 数据的特征项不够 

8.如何防止过拟合

解决方法:  

 1. 寻找最优的权重初始化方案  

2. 增加网络层数、epoch    

3. 使用适当的激活函数、优化器和学习率  

 4. 减少正则化参数    

5. 增加特征

  • 45
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值