到底什么时候不应该使用机器学习?
即将开播:6月19日,互联网银行架构师魏生谈互联网开放银行实施路径的探索与思考
大数据文摘出品
来源:towardsdatascience
作者:lin、Andy
对于什么时候应该使用机器学习/AI,很多人都会迟疑和顾虑,而作者正是因为经历了种种顾虑后,将经验总结成这篇文章,文摘菌编译了这篇文章,希望大家能够减少顾虑,更好地与机器学习或AI一起畅享学习之旅。
试想一下,你刚准备对一个临床试验的数据集上手进行分析一下。为了让你有带入感,我自己做了一份类似数据:
假设这些数据列出了患者在60天的疗程内,所接受的治疗天数(输入特征)以和某某疗法正确剂量(输出预测)之间的对应关系。
现在想象一下你正在治疗一个病人,今天是第二天,那么你会建议服用多少剂量的药物呢?
你肯定会回答“17毫克”,因为这个太简单了,白纸黑字直接写着。那第四天呢?看看表,41毫克?完全正确!
那么现在,如果让你写一个软件来输出1-5天的正确剂量呢?你会用机器学习吗?换句话说,你会试着先在这些数据中寻找模式,然后转化成从输入到输出的模型吗?
不会,当然不会,傻子才会!你会让软件像你前面做的一样:直接去表里查结果就行。这样你就能100% 得到在所有60天内的正确答案。不需要寻找模式也不需要什么机器学习。
哪种情况下你需要机器学习
比如现在,是第61天如何?正确答案是什么呢?
那么首先,我们从来没见过第61天的数据,因此无法查找答案。那怎么办呢?怪运气不好没第61天数据吗?还是给目光投向机器学习?那也就还要看情况了。
如果输入输出之间没有什么模式可言的话,就忘掉机器学习吧。在这样的案例中,它基本上很难发挥作用...如果你觉得机器学习可以处理的话,那还是尽早放弃这个想法吧!
那什么情况下可以考虑机器学习呢?
第一,必须找到有用的模式:如果数据里有一个模式(说如果),而且能发现它,那就可以尝试用它预测或猜测第61天的结果。这样机器学习就有用。
第二,模式必须能泛化:现在问题是,光是数据里有一个模式还不够,太简单了。我们还要知道,该模式在60天之后还能适用吗。如果第61天的条件完全不同,导致模式不能泛化怎么办?因为你要知道,也许在第61天所有患者就已治愈或死亡,或开始服用不相容药物。那么这时,在之前数据中发现的模式就不会太有用。
第三,非平稳世界:如果你的数据并不能很好的反应未来—也许因为一场大流行改变了世界的一些运行规则,那么之前获得的数据再好也没什么价值。如果你生活在宇宙中一个不稳定的角落,那你就很难验证一般所说的遍历性和平稳性假设,翻译成人话就是“我相信规则并没有什么改变。”
这里,我说的不稳定并非旁人眼中所谓的不稳定现象,例如通货膨胀导致的物品平均价格随时间的波动。这种简单的不稳定性(随时间变化的可预测函数)是时序分析领域处理的问题。
其实我想谈的是,那种你几乎束手无策的极端不稳定性,因为系统规则从本质上改变,所以无法从一个周期去预测下一个。如果你过去的数据突然无法适用不确定的未来,你也就很难坦然地用昨天去预测明天。
也许你运气很好。
如果现在有一个模式,而且这个模式适用于新条件,那么就可以直接开干了。先通过已有数据去找到这个模式,做出一个模型,之后用它去获取第61以及之后每天的数据!
寻找模式并使用它们,这就是所谓的机器学习。
何时使用机器学习
在应用机器学习和AI时,你不是单纯重复之前见过的例子—这根本不用机器学习来做,只要查下表就行!记住,你是来让模型学习的。
只是重复旧答案吗?不,ML可以做得更好!它能在新实例上也进行预测。
你的任务是?搭建一套可以成功泛化的解决方案,或者…放弃治疗。
换句话说,如果你的解决方案不能处理之前从未见过的新示例,那么它就不是好的解决方案。当然这个新示例并不用完全打破稳定宇宙的所有规则,而只是在相关学习主题上有一些小变动。
我们不是在鹦鹉学舌,而是需要泛化到新情况。那才是机器学习的威力和魅力。
如果你从未见过某个具体的数据组合(比如第61天的数据),那么如何获得它地答案? 好吧,也许这就需要给旧模式总结成一个模型,之后用它来预测。例如,如果你从成千上万的动物照片中训练了一个猫分类器,你可以让它告诉你一张新照片中是否有猫,但你不应该让它告诉你一幅画是否立体派风格。
机器学习适合你吗
如果你讨厌我称机器学习为事物标签器,或是另一种编写代码的方法,那么就让换一种说法吧。
机器学习是一种自动化重复决策的方法,包括用算法从数据中寻找模式,并利用这些模式来正确处理新数据。
要了解机器学习是否适合你,我提供了三个你可能会喜欢的指南:
- 是ML / AI项目入门者吗?22项实用检查清单:http://bit.ly/quaesita_realitycheck
- 查找ML / AI用例的建议:http://bit.ly/quaesita_island
- ML / AI入门?从这里开始:http://bit.ly/quaesita_dmguide
那么,存在有用的模式吗?
如果仍旧对第61天的结果好奇?那么我可以告诉你,其实示例数据中是有一个模式地。我知道这个,因为这是我设置的。甚至我可以向你保证,它将泛化到你能想到的最大数字再加一天,因为在这个极度不稳定的时代,我发现能用一个这样能随改变有规律变化的数据真是一个奢侈的享受,所以让大家也奢侈一下。
对于那些喜欢挑战的人,不妨试试看自己喜欢的机器学习算法能否找到这个数据中的模式?让我知道你认为的第61天的答案是什么。大约一周内,我会在注释中添加用于生成这些数据的代码,这样你们就能知道自己是否做对了。
我也怀疑可能大部分人会通过分析的方法,而不是通过机器学习来解决。祝你好运吧!愿最好的方法获胜!
如果你非常想尝试ML,那请别忘了按正确的顺序开始,好的方法能助你一臂之力。
相关报道: