
以及不断变化的外部世界以及分析模型结论对这一世界的理解偏差。
本文中最重要的见解之一,在于技术债务应当成为工程师与研究人员们需要注意的问题。以大规模增加系统复杂性为代价进行解决方案研究显然不是什么明智的作法。即使仅仅增加一到两种看似无害的数据依赖关系,也有可能减缓进一步发展速度。虽然减少技术债务并不像证明新定理那样令人振奋,但其仍然是保持强劲创新能力的重要动力。事实上,为复杂的机器学习系统开发出全面且优雅的解决方案是一项极具现实意义的工作。
信息隐藏与变化封装
……机器学习模型是一种创造复杂纠缠状态的机器,且不可能有效地对其改进工作进行隔离分配。作为证明,假设犈在一套模型当中使用特征 x1,……Xn,那么如果我们改变 x1 中的值输入分布,那么其重要性、权重或者剩余特征可能全部发生改变——无论模型是以批处理形式进行完全重新训练,还是以在线方式进行逐步适应,情况都是如此。而添加新特征 xn+1 或者删除任何特征 xj,也都可能导致类似的变化。没有任何输入内容是真正独立存在的。牧羊这将其称为 CACE 原则:即任何改变都将改变一切。
如果我们了解到先验的重要性,就不需要利用机器学习进行重复证明!因此,模型有点像一台巨大的搅拌机器,我们向其中投入大量信息并获取结果,但对输入内容中的各类变化的敏感度却难以预测,且几乎无法进行影响隔离。面对这样的难题,我们该怎么办?虽然不存在百试百灵的方案,但作者给出了三种可能有所帮助的策略。
-
你可以隔离模型,转而提供总体结论。不过,纠缠问题仍然存在于每一个模型当中。此外,“在规模化情况下,这种策略可能很难长期维持”。
-
制定方法以深入理解模型预测的行为。你需要通过投资令模型不再像黑匣子般难以捉摸——例如为其配备更多可视化工具。此外,我还和多家企业进行过交流,其中一部分公司表示其能够解释机器学习模型作出的决定——甚至包括监管要求,而这种能力亦是其商业模式中的重要组成部分。因此,请大家认真考虑这方面需求与实现途径。
-
使用更为复杂的正则化方法,以便在训练当中使用的目标函数能够反映出任何效能预测成本的上升迹象。“这种方法可能有用,但也只是可能。此外,其也许会增加系统复杂性进而带来更多债务,这反而背离了我们减少纠缠度的初衷。”
另一种寻找偶然耦合的方式在于建立隐藏反馈回路,这一点在未申报消费方当中体现得尤为明显。通过未申报消费方,系统只是在单纯消费建模产出的输出结果,而我们几乎意识不到这些过程的存在。如果其根据影响模型的输入参数信息采取了某些行动,则这种隐藏的反馈回路很容易引发以下问题:
想象一下,在我们的新闻标题点击率预测系统当中,系统中的某一组件负责以“智能化方式”确定用于标题的字体大小。如果此字体大小模块开始将点击率作为输入信号使用,且字体大小确实会影响用户的点击倾向,那么字体大小当中将会包含一个由点击率添加的新的隐藏反馈回路。可以想象,这样一套系统会逐渐无休止地增加所有标题字号情况。
数据依赖性问题
……尽管代码依赖性可以通过静态分析以及链接图等方法相对轻松地进行识别,但具备数据依赖性处理功能的分析工具却很少见。因此,我们可以难以构建起能够解决大型数据依赖链的方案。
举例来说,某些输入信号会随着时间推移而改变行为。遵循 C
(编辑:盐城站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|