为什么机器学习算法要与人类水平比较

来源:互联网 发布:手机打游戏网络不稳定 编辑:程序博客网 时间:2024/05/18 01:12

原因

1 近年来机器学习的效果越来越好,能够和人类的相应能力做比较。
2 设计和构建机器学习系统,这个工作流程很高效。
这里写图片描述
因为种种原因,ML或者人都不可能超过Bayes Optimal Error 贝叶斯最优误差,ML随着时间推移会越来越接近贝叶斯最优误差。
3 在人类做得很好的领域,将ML与人的能力比较,如果ML能力差,那么可以得到更多的人类标记的数据;从人类的视角发现哪些地方还能再改进;得到更好的偏差和方差(bias/varaiance)
 高偏差是指训练得到的数据与真实数据不符合,一般发生在欠拟合。
 高方差是指使用不同数据集得到的结果差别很大,一般发生在过拟合。

可避免的偏差值

Bayes Optimal Error 是指人或者ML能达到的最高水平,一般来讲会取人类水平的最好值,不管是一个人还是一支队伍。
人类水平减去ML在测试集上的表现之间的差,是可避免偏差值(avoidable bias)。
测试集上的表现减去交叉验证集上的表现,是方差值。
这两个值,哪个比较大,就在哪里进一步优化,当然优化措施不同。

这里对于人类水平的选择有一定选项。如果要求严格,那一定是人类最好水平。如果是其它目的,则找一个可接受的水平。我们会用人类水平估计贝叶斯最优差值。不同的贝叶斯最优差值可能会引起 偏差值与方差值哪个大,哪个小,进一步影响优化手段。

这里写图片描述

当ML效果超过人类的时候

目前在一些领域ML效果惊人。例如在以结构化数据为基础的:在线广告、产品推荐、信用贷款等。例如在语音识别方面、图片识别、一些医学领域。
这时候你的调优策略会发生变化,调优方面会不如以前清晰。

调优策略

这里写图片描述
 当发生高偏差的时候,可以加大训练模型;优化目标函数;使用更复杂的网络模型等。
 当差生高方差的时候,可以增加训练集的数量;做正则化,例如L2、dropout、增加数据集(data agumentation)、尝试其他的网络类型。
 
参考文献:
1 文章内容来源于Structuring Machine Learning Projects.

原创粉丝点击