可预测性:何以得知机器学习问题没有希望

2018 年 3 月 10 日 论智 Stephen Kolassa
作者:Stephen Kolassa
编译:weakish

编者按:机器学习训练常常面临这样一个问题:何时应该停止。IIF(国际预测者协会)主任Stephan Kolassa在Cross Validated上简要讨论了这一可预测性问题。


问题

想象一个标准的机器学习场景:

你面对的是一个巨大的多元数据集,而你对它的了解相当模糊。你需要根据已有的数据预测某个变量。和平时一样,你清理数据,查看描述性统计数据,运行一些模型,交叉验证它们,等等,但经过好几次尝试,来来回回尝试了好多模型,似乎没有一个有效的,你得到的结果很蹩脚。你可能在这个问题上花了好几个小时、好几天乃至好几周……

问题是:何时应该停止?你怎么知道你的数据事实上没有希望,所有酷炫的模型对你而言不会比其他琐碎的方案更有帮助?

当然,这是一个可预测性问题,但据我所知,在使用模型尝试预测之前,评估多元数据的可预测性很难。我错了吗?

-- Tim

可预测性

你说的没错,这是一个关于可预测性的问题。IIF面向从业者的期刊Foresight中有好几篇关于可预测性的文章(利益相关:我是该期刊的Associate Editor)。

问题在于,即使在“简单”情形下评估可预测性也已经是很困难了。

一些例子

假设你有如下图所示的一些时序数据,但是你并不懂德语:

你将如何建模4月的峰值?你将如何在任何预测中包含这一信息?

除非你知道这是瑞士一家连锁超市的鸡蛋销量的时序数据,在复活节前夕达到了峰值,你不会有任何机会的。除此之外,由于每年的复活节日期相差可能高达6周,任何没有包括复活节的特定日期的预测(例如,假定这是季节性的峰值,会在下一年的同一周出现)都会大错特错。

类似地,假定你有下图的蓝线数据,希望建模为何2010-02-28的数据和2010-02-27的数据如此不同:

同样,如果不知道满城的加拿大人在电视上观看奥林匹克冰球决赛,你不可能理解这里发生了什么,同时你不可能预测类似这样的事件是否会再次发生。

最后,看下这个:

这是一家现购自运商店(译者注:现金购买、自己运走的仓储式批发商店)的时序数据。(右侧的表格表明:282天销售额为零,42天销售额为1……有一天销售额为500)我不知道销售的是什么东西。

直到今天为止,我都不知道销售额为500的那一天发生了什么。我最好的猜测是某个顾客预订了大量的某种商品,然后那一天提货了。不知道相关信息的前提下,任何特定一天的预测都将大错特错。相反,假定这恰好发生在复活节前,并且我们有一个非常聪明的算法相信这可能是复活节效应(也许这些是鸡蛋?),然后高兴地预测下一个复活节会有500单元的销售额。天啊,这怎么会不对呢?

概要

在所有的情形下,我们看到,一旦我们具备了对可能影响数据的因素的足够深的理解,我们就可以充分理解可预测性。问题在于,除非我们知道这些因素,我们不会知道我们可能并不知道这些因素。正如Donald Rumsfeld所言:

有已知的已知,有些事,我们知道我们知道;我们也知道,有已知的未知,也就是说,有些事,我们现在知道我们不知道。但是,同样存在未知的未知——有些事,我们不知道我们不知道。

如果复活节或加拿大人对冰球的偏好对我们而言是未知的未知,那我们就陷入了困境——我们甚至不会有一条出路,因为我们不知道我们需要提出什么样的问题。

应对这些的唯一方法是收集领域知识。

结论

基于此,我得出了一些结论:

  1. 你总是需要在你的建模和预测中包括领域知识。

  2. 即使具备了领域知识,也并不能保证你得到了让用户接受你的预测的足够信息。

  3. 如果“你得到的结果很蹩脚”,你可能在追求你不可能达成的东西。如果你预测一枚均匀硬币的投掷结果,你不可能超过50%精确度。同样,不要信任外部的预测精确度基准测试。

底线

下面是我对构建模型的一些建议——以及如何观察何时应当停止的建议:

  1. 如果你自己不具备领域知识,和具备领域知识的人聊一聊。

  2. 基于上一步,识别你想要预测的数据的主要驱动因素,包括可能的交互因素。

  3. 迭代地构建模型,按照强度数量级的倒序逐渐加入驱动因素。使用交叉验证或保留样本评估模型。

  4. 如果你的预测精确度无法进一步提升了,或者回到第一步(例如,识别出你无法解释的明显的错误预测,和领域专家讨论一下),或者接受这样一个事实,你已经穷尽了你的模型的能力。事先将你的分析纳入时间盒会很有帮助。

注意,我并不推崇在原本的模型位于高原的时候尝试不同类别的模型。通常而言,如果你开始使用的是一个合理的模型,使用一个更复杂的模型不会带来更多益处,可能只会“过拟合测试集”。我之前经常见到这样的例子,其他人也持相同的看法。

原文地址:https://stats.stackexchange.com/questions/222179/how-to-know-that-your-machine-learning-problem-is-hopeless/222189#222189

登录查看更多
4

相关内容

AI创新者:破解项目绩效的密码
专知会员服务
32+阅读 · 2020年6月21日
【新书册】贝叶斯神经网络,41页pdf
专知会员服务
174+阅读 · 2020年6月3日
多智能体深度强化学习的若干关键科学问题
专知会员服务
171+阅读 · 2020年5月24日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
【综述】金融领域中的深度学习,附52页论文下载
专知会员服务
161+阅读 · 2020年2月27日
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
美联储若降息意味着什么?
FT中文网
3+阅读 · 2019年6月28日
已删除
将门创投
9+阅读 · 2018年12月19日
相关性≠因果:概率图模型和do-calculus
论智
31+阅读 · 2018年10月29日
一文读懂因果推测、倾向模型(结合实例)
数据派THU
3+阅读 · 2018年3月26日
关于机器学习,你需要知道的三件事!
云栖社区
3+阅读 · 2018年3月3日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
解决机器学习问题有通法!看这一篇就够了!
大数据文摘
4+阅读 · 2017年9月18日
AI都干过什么让人细思极恐的事?
全球创新论坛
4+阅读 · 2017年9月15日
Arxiv
5+阅读 · 2019年6月5日
Arxiv
19+阅读 · 2018年6月27日
Arxiv
7+阅读 · 2018年4月21日
VIP会员
相关VIP内容
AI创新者:破解项目绩效的密码
专知会员服务
32+阅读 · 2020年6月21日
【新书册】贝叶斯神经网络,41页pdf
专知会员服务
174+阅读 · 2020年6月3日
多智能体深度强化学习的若干关键科学问题
专知会员服务
171+阅读 · 2020年5月24日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
【综述】金融领域中的深度学习,附52页论文下载
专知会员服务
161+阅读 · 2020年2月27日
相关资讯
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
美联储若降息意味着什么?
FT中文网
3+阅读 · 2019年6月28日
已删除
将门创投
9+阅读 · 2018年12月19日
相关性≠因果:概率图模型和do-calculus
论智
31+阅读 · 2018年10月29日
一文读懂因果推测、倾向模型(结合实例)
数据派THU
3+阅读 · 2018年3月26日
关于机器学习,你需要知道的三件事!
云栖社区
3+阅读 · 2018年3月3日
快速掌握机器学习,这 3 种算法你必须知道
开源中国
8+阅读 · 2017年11月9日
解决机器学习问题有通法!看这一篇就够了!
大数据文摘
4+阅读 · 2017年9月18日
AI都干过什么让人细思极恐的事?
全球创新论坛
4+阅读 · 2017年9月15日
Top
微信扫码咨询专知VIP会员