机器学习模型的评估

(1)数据划分

将可用数据划分为三部分:训练集、验证集和测试集。在训练数据上训练模型。在验证数据上评估模型。模型准备上线之前,在测试数据上最后测试一次
不将数据划分为两部分,即训练集和测试集?在训练数据上进行训练,在测试数据上进行评估的原因:
原因在于开发模型时总是需要调节模型配置,比如确定层数或每层大小[这些叫作模型的超参数(hyperparameter),以便与参数(权重)区分开]。这个调节过程需要使用模型在验证数据上的表现作为反馈信号。该过程本质上是一种学习过程:在某个参数空间中寻找良好的模型配置。因此,基于模型在验证集上的表现来调节模型配置,很快会导致模型在验证集上过拟合,即使你并没有在验证集上直接训练模型。

造成这一现象的核心原因是信息泄露(information leak)。每次基于模型在验证集上的表现来调节模型超参数,都会将验证数据的一些信息泄露到模型中。如果对每个参数只调节一次,那么泄露的信息很少,验证集仍然可以可靠地评估模型。但如果多次重复这一过程(运行一次实验,在验证集上评估,然后据此修改模型),那么会有越来越多的验证集信息泄露到模型中。

针对数据较少的三种经典评估方法

(1)简单的留出验证

留出一定比例的数据作为测试集。在剩余的数据上训练模型,然后在测试集上评估模型。
在这里插入图片描述
**缺点:**如果可用的数据很少,那么可能验证集包含的样本就很少,无法在统计学上代表数据。

(2)K折交叉验证

K折交叉验证是指将数据划分为K个大小相等的分区。对于每个分区i,在剩余的K-1个分区上训练模型,然后在分区i上评估模型。最终分数等于K个分数的平均值。
在这里插入图片描述

(3)带有打乱数据的重复K折交叉验证

多次使用K折交叉验证,每次将数据划分为K个分区之前都将数据打乱。最终分数是每次K折交叉验证分数的平均值。

(2)改进模型拟合

在这一阶段,通常会遇到以下3种常见问题:

  • 训练不开始:训练损失不随着时间的推移而减小。
  • 训练开始得很好,但模型没有真正泛化:模型无法超越基于常识的基准。
  • 训练损失和验证损失都随着时间的推移而减小,模型可以超越基准,但似乎无法过拟合,这表示模型仍然处于欠拟合状态。

改进的方法

(1)调节关键的梯度下降参数

当出现有时训练不开始,或者过早停止。损失保持不变时。

  • 降低或提高学习率。学习率过大,可能会导致权重更新大大超出正常拟合的范围,学习率过小,则可能导致训练过于缓慢,以至于几乎停止。
  • 增加批量大小。如果批量包含更多样本,那么梯度将包含更多信息且噪声更少(方差更小)。

(2)提高泛化能力

  • 数据集管理
  • 模型正则化
  • 缩减模型容量:模型的容量越大,它拟合训练数据的速度就越快(得到很小的训练损失),但也更容易过拟合(导致训练损失和验证损失有很大差异)。
  • 添加权重正则化:强制让模型权重只能取较小的值,从而限制模型的复杂度,这使得权重值的分布更加规则.其实现方法是向模型损失函数中添加与较大权重值相关的成本(cost)。这种成本有两种形式:
    • L1正则化:添加的成本与权重系数的绝对值(权重的L1范数)成正比。
    • L2正则化:添加的成本与权重系数的平方(权重的L2范数)成正比。神经网络的L2正则化也叫作权重衰减(weight decay)。不要被不同的名称迷惑,权重衰减与L2正则化在数学上是完全相同的。
  • 添加dropout:
    dropout是神经网络最常用且最有效的正则化方法之一.对某一层使用dropout,就是在训练过程中随机舍弃该层的一些输出特征(将其设为0),dropout比率(dropout rate)是指被设为0的特征所占的比例,它通常介于0.2~0.5。比方说,某一层在训练过程中对给定输入样本的返回值应该是向量[0.2, 0.5, 1.3, 0.8,1.1]。使用dropout之后,这个向量会有随机几个元素变为0,比如变为[0, 0.5, 1.3, 0,1.1]。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值