训练数据与测试数据分布不同时的处理

在训练集、开发集、测试集数据分布相同时,则可以较为容易地分析模型地偏差、方差。

比如,

情况1:贝叶斯误差接近0,训练集误差为1%,开发集误差为10%,说明过拟合。

情况2:贝叶斯误差接近0,训练集误差为10%,开发集误差为11%,说明欠拟合。

但,若是训练集数据和开发集、测试集数据分布不同时呢?

比如,

情况1:贝叶斯误差接近0,训练集误差为1%,开发集误差为10%,此时,相差的9%中,有多少是由于过拟合造成的?有多少是因为数据分布不同,或者说,是因为数据不匹配造成的?说不清楚。

于是,在训练集中再分出一小部分,称为训练-开发集。

情况1:贝叶斯误差接近0,训练集误差为1%,训练-开发集误差为1.5%,开发集误差为10%,此时,可以确定,开发集误差主要是由数据不匹配造成的。

情况2:贝叶斯误差接近0,训练集误差为10%,训练-开发集误差为11%,开发集误差为12%,此时,误差的主要因素在于欠拟合。

情况3:贝叶斯误差接近0,训练集误差为10%,训练-开发集误差为11%,开发集误差为20%,此时,欠拟合 与 数据不匹配 问题都较为突出。

如何处理数据不匹配情况

方法:去观察训练集、开发集的差异 

例如,一个语音激活后视镜案例,其开发集里的语言数据样本,相比于,训练集里的语言数据样本,车辆噪音更大。这样,我们就找到了训练集、开发集的差异。

找到差异后,我们可以使 训练集 与 开发集 更相似,来使数据匹配。

还是上面的语音后视镜案例,为了使训练集更接近开发集,我们可以给训练集数据人工合成背景噪音。

不过,进行人工合成时,要注意一个问题。比如上文的合成噪音,录制一万小时的噪音,和,录制一个小时的噪音,然后循环播放一万次,对于人耳来说,是区别不出来的。但对于机器学习,则会造成对这一小时噪音的过拟合。这一点是很容易被人忽略的。

人工合成数据的缺点就在于人工很难模拟好所有可能的情况,因此容易对局部情况过拟合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值