Machine Learning Yearning40~43

1.当训练数据有两个分布数据,测试数据只有其中一个分布数据,这时后如果测试数据错误率比我们预期的要高,那么可以从以下方面进行检查:1,在训练数据效果不好,这时主要问题是训练数据分布的高的可以避免的bias的存在;2,如果训练集表现较好,但是对于和训练集具有相同分布的未见过的数据(此处不是验证集或者测试集)效果不好,那么是因为高的variance;3,如果训练集效果好,对于和训练集具有相同分布的未见过的数据效果也好,但是对于测试集效果不好,那么是因为数据不匹配,数据不匹配就是,训练数据和测试数据不匹配。
对于第三种情况,我们举个例子。
人类水平错误率很低。而我们的系统:1%的训练数据错误率;1.5%的与训练数据分布相同的网络未见过的数据的误差率;10%的测试数据误差率。那么在这种情况下,就是数据不匹配问题。解决办法就是使得训练数据和测试数据尽量相似。
2.为了诊断我们算法是出于1~3哪种情况,我们需要这么做。我们将能够得到的训练数据分为2部分,一部分拿来训练,一部分当作“Training dev”。所以现在,我们有4部分数据。
Training set:实际拿来训练的,网络数据和用户上传的数据。
Training dev set:分布和训练集(网络数据和用户上传的数据)一样,数量较小,只要能够评估我们的算即可。
Dev set:和测试数据(用户上传)分布相同,结果是我们期望的。
Test set:和验证数据(用户上传)分布相同,结果是我们期望的。
通过上边4种,我们现在可以评估:训练误差;评估training dev set;评估验证集和测试集。
3.以下有几种不同的情况:假设人类表现接近0%。
A,
• 1% error on the training set.
• 5% error on training dev set.
• 5% error on the dev set.
结论,我们需要减少high variance。
B,
• 10% error on the training set.
• 11% error on training dev set.
• 12% error on the dev set.
我们要解决high avoidable bias。
C,
• 10% error on the training set.
• 11% error on training dev set.
• 20% error on the dev set.
我们需要解决high avoidable bias和数据不匹配,但是并没有出现high variance。
所以我们需要明白我们的算法遭受了哪种问题,我们才能针对性的解决。
4.当我们出现数据不匹配问题怎么办?
那么我们首先要明白:1,搞明白训练数据和测试数据之间的具有差异性的性质;2,尽量找到和测试数据相匹配的训练数据。
误差分析的目的是明白训练数据和测试数据之间的巨大不同,是这个差异导致了数据的不匹配。如果不能收集数据,那就很难解决数据不匹配问题。
就是根据现象,找到原因,提出办法。
5.我们可以通过人工合成数据。
比如,如果我们有汽车在路上的噪声音频,还有人在安静的房间里的语音,我们需要收集人在骑车里的数据,那么,我们将这两个合起来就是人在汽车里说话。
有些情况下,人工数据合成可以匹配验证集。就是,观察验证集数据的情况,根据验证集数据,对不同分布的训练集进行数据处理,达到和验证集数据相似的效果。比如,验证集里边有运动模糊的图片,那么我们通过处理训练数据,使得训练数据的部分图片达到类似的效果。
当然,人造数据是有挑战的,比如,人看起来数据造的和真的差不多,但是对于计算机来说可能不同。
当我们合成数据时,我们需要不断的提醒自己,我们是否在真的合成具有代表性的样本,从而防止过拟合。如果我们使用一辆车里边录得声音,和100个安静说话的声音,那么合成的训练数据将将只包含这一种车里边的噪声,网络会对这个车里边的声音过拟合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值