作为机器学习和数据分析的专家,在与不同领域企业合作开发和实现机器学习项目方面,我们有着丰富经验,这些领域包括制造,电信,金融服务以及零售业。对机器学习项目中常犯的错误,我们了如指掌,这些错误不是只有初学者才会犯。
对于企业来说,为了专注真正问题以及可以带来投资回报率的解决方案,学会不做什么事关重要。利用我们自己以及其他人的样例,就会看到让我们付出惨痛代价但本可加以避免的错误。
以下就是机器学习过程中,公司容易犯下的四个典型错误。
测试错误
如何证明机器学习真有商业价值?或许唯一真实的办法就是用 A/B 测试来验证一个机器学习模型的效果。但是,很多公司犯了一个根本错误:在测试时,变量比模型还多。
A/B 测试中,『A』与『B』唯一的区别就是生成结果的模型。所有其他变量应该是一样的。
例如,测试通过短信进行产品推荐时,所有短信应该在同一天、同一时间里发出。这也是搞清楚不同模型效果的唯一办法。一个变量发生改变了,就没办法充分比较测试结果。比如,周六上午发出的推荐消息产生的效果会和周五晚上发出的效果不一样。
测量标准的重要性
任何机器学习项目期间,能对项目成功产生最重要影响的因子之一就是确定测量标准。毕竟,没有要求就没有结果。设定测量标准就是设定能够获得优化效果的标准,因此,其他任何因素都可以忽略。选择错误的成功标准,项目就会偏离优化轨道,***只会让项目更糟糕。
对于公司来说,成功是用以业务中心的标准来衡量的。许多项目都有这个问题:找到一个正确的技术标准,这个标准能够将所有的业务面向都考虑进去。标准意味着什么内容需要加以优化,因此,如果一些业务内容并没有被纳入标准的设定中去,那么,优化过程中,这些因素就会被忽略掉,公司就无法实现他们想要的目标。
比如,绝对百分误差(sMAPE)这个标准,一个以百分比(或相对)错误为基础,测量精度的度量标准。零售业务中,存货出货很慢时,用算法来预测所有出货很慢产品的零值,就十分关键了,如果我们想要优化 SMAPE 的话。不过,零售商又不能将一周仅交易 1 到 2 次的产品从所有存货清单中删除,因为这些产品常常影响着门市中其他产品的销售,需要保留下来。
据此,对于公司来说,很重要的一点就是控制住测量标准:设定目标以及实现这一目标的算法,无论目标具体为何。不问目标。
目标没问题,方法有错误
你是否走在通往目标的正确道路上呢?提出的模型问题是不是正确?比如,所有利益方都认为这个问题值得解决,你甚至还有用机器学习解决该问题的丰富知识。那么,现在正是进行交叉检查的好时机,如果项目目标确实是你们想要实现的。即使决策解决问题方式看似没啥变化,但最终你还是会发现,在解决这个问题上,机器学习并不比不那么先进的模型要好。
比如,你开的公司从事服务行业,也偶尔会有参观高峰时期,那时公司人手就会不够。这不过是一项业务,你也不会想要员工全年都干这个,毕竟淡季时,这么做并不划算。相反,你想要预测参观人流量***的那五天。不过,这么问的结果可能会很多噪音,因为有时你会发现 1 个月里会有十天的高峰,而且你真的搞不清楚这十天的区别。因此,你想要问的应该是:「哪些天,我需要额外帮助?」,你回答问题的方式也要做相应调整。
都有意义吗?
度量、算法以及测试或许预示着成功,但是,如果实施方式有误,模型就有可能出现偏差。因此,你必须确定所有的努力都朝着这一方向:改善机器学习项目的流程质量是有意义的,否则冒着花时间确保技术细节***的风险,***还无功而返。
就拿产品推荐说吧。你必须保持传递那些推荐内容的渠道(比如电子邮件、短信以及推送通知等)畅通。这个建议貌似很简单,但常常被忽略。如果渠道不能愉快地运作,那么,你在共享推荐系统上所做的提升就无法实现增值,原因很简单,从渠道开始是徒劳的。比如,有的消费者几乎不会读公司发来的电子邮件,但接受电子邮件里的产品推荐,那么,这里出问题的是渠道而不是推荐。
机器学习项目很复杂,实施过程中出现的典型错误可能会耗费你很多精力,还无功而返。尽管错误会让你停滞不前,但是,只要从中学习,几个月的时间就能成功实现业务、成本的优化,而其他技术却要花费数年才能达到这个效果。就机器学习而言,***的错误就是不吸取其他人的教训。
原文:https://www.datanami.com/2017/04/11/four-common-mistakes-machine-learning-projects/
【本文是51CTO专栏机构机器之心的原创译文,微信公众号“机器之心( id: almosthuman2014)”】