比较人类表现水平

比较人类表现水平

如今,设计和建立一个机器学习系统比以前变得更为简单高效,一些机器学习算法的在很多领域的表现已经可以和我们人类一决高下了,例如之前由Google DeepMind公司开发的声名全球AlphaGo。然而,很多任务对于我们人类来说,都能够几近完美地完成,达到人类的表现水平便是机器学习试图去模仿、实现的。

上图展示了随着时间的推进机器学习和人的表现水平的变化,一般的,当机器学习超过人的表现水平后,它就进步地很缓慢了,其中有一个重要的原因是人类的对于一些自然感知问题的表现水平几近于贝叶斯误差(Bayes Error)。贝叶斯误差被定义为最优的可能误差,换句话说,就是任何从x到精确度y映射的函数都不可能超过这个值。
当建立的机器学习模型的表现还没达到人类的表现水平时,可以通过各种手段来提升它。例如采用人工标记过的数据进行训练,通过人工误差分析了解为什么人能够正确识别,或者是进行误差、偏差分析。
通过与人类在某件事情上的表现水平向比较,可以清楚地表明一个机器学习模型对此的表现的好坏程度,由此作出判断出后续应该进行减小偏差还是减小方差。

训练集的误差和人类表现水平的误差的差值就称为可避免偏差(Avoidable Bias)。例如上图中的两个场景下,将人的错误率和机器学习模型的错误率进行比较,看以看出在A场景下,学习算法的错误率和人的错误率的可避免偏差较大,这种情况下后续的工作就是通过之前介绍过的方法来降低训练集的错误率,以减小偏差。而在B场景下,学习算法和人的表现相当,偏可避免偏差只有0.5%,,后续的工作就应该转向尽可能地减小开发集和训练集那部分2%的方差。
人类表现水平给了我们一种估计贝叶斯误差的方式,而不是之前的将训练的错误率直接对着0%的方向进行优化。所以在获取到某项任务的人为误差数据时,就可以将这些数据作为贝叶斯误差的代理,以此来分析学习算法的偏差及方差。如果训练集与人类表现水平之间的误差差值大于训练集与开发集之间的差值,往后就应该专注于降低偏差,反之,就应该专注于降低方差。

上图中总结出了各种应对偏差及方差的方法。总之,可避免偏差低便意味着你的训练过程做的很好,可接受范围内的方差意味着你的模型在开发、测试集上的表现与训练集上同样好。
此外,如果出现可避免误差为负值,也就是机器学习模型的表现超过人类表现水平即贝叶斯误差的代理的情况时,并不意味着你的模型的性能已经达到极点了,往后想要再提高就要另寻一些常规方法了。现在机器学习在很多领域已经做到这一点了,例如进行在线广告业务、产品推销、预测物流运输时间、信用评估等等。

posted @ 2019-04-10 16:24  youngliu91  阅读(204)  评论(0编辑  收藏  举报