机器学习菜鸟最常犯的5个错误,以及如何避免


机器学习菜鸟最常犯的5个错误,以及如何避免 

◆ ◆ 

不要从理论开始 


传统的方法教机器学习是自下而上的——


step1:努力学习数学。


step2:努力学习机器学习理论。


step3:努力从头开始实现算法。


stepX???(等等等等,自行脑补。。。)


终于,开始使用机器学习(你的目标在此!


这条路漫长,艰难。

然而,这是为想要摘金夺银的学术界大神们设计的。

你,只想要一个结果的吃瓜群众,凑什么热闹!


陷阱

如果你有以下想法或者说法,你已不幸落井——


  • 我得先完成这门线性代数的课才行。

  • 我得回学校先读个博士学位。 

  • 我得先啃完这本教科书。


出路

耗费4年在数学或者深奥的算法上,能将你带到目标么?


更大的可能是然并卵。你停步不前。或者知难而退。反正离你的目标不会越来越近。


出路是——立正,稍息,向后转!


如果机器学习的价值在于准确的预测,那么要学的就是如何将问题模式化并做出准确的预测。就从这开始。


然后把这件事儿弄好,好得不要不要的!


在你需要的时候,去阅读、截取、武装理论知识,但仅限于为你的目标服务,仅限于这样做会使你传递出更大价值。


◆ ◆ 

不要去学所有机器学习 


机器学习浩瀚无边啊。


它是计算机的自动学习过程,与人工智能多有交集。


从机器人的深奥学习理论算起,这个领域真的很大。


大得你无法一一收入囊中。


如果你有下面的想法,你已不幸落井——


我得学会某个网页上提到的所有新技术。

我得学会计算机视觉,自然语言处理,语音处理,等。

首先。我得学会所有的所有。


出路

找个小旮旯,集中于此。


进一步缩小范围。


机器学习最有价值的部分是预测性建模。从数据创建模型进行预测。


从这里开始。


接下来,集中在某种与你最相关,或者你最感兴趣的模型。


然后死缠烂打。


也许你选择了某种技术,比如深度学习。也许你选择了某种问题,比如推荐系统。


也许你还没拿定主意,那么就选一个先。学好它。或者基本精通。


然后,转战到另一个领域。


◆ ◆ 

要在算法上虚度光阴  


机器学习确实关乎算法。


好多好多好多算法。

每个算法都是一个复杂的系统

是一个学习的小宇宙,有它自己的生态系统。


在算法的世界里你会迷路。所有人都会。


那些人叫做学术界。


陷阱

如果你有下面的说法,那么你已不幸落井——


  • 我得弄明白它怎么工作的,在我使用它之前。

  • 我得深入理解超参数先。

  • 我调参的时候得解释清楚因果关系。


出路

算法不是结果。它们是得到结果的方法。


实际上,机器学习算法只是一堆商品。换掉它们。试用几十个。拿一些出来调调参数。接着换。一个更好的结果会让你对算法更有感觉,但是要知道什么时候止步。系统化这个过程。设计调参实验,让它们自动执行和分析。


机器学习无外乎算法的正确应用。但是应用机器学习不只是在算法里虚度光阴。集中火力在每个项目要得到的结果,即一系列的预测,或者一个可以得到这些预测的模型。


机器学习菜鸟最常犯的5个错误,以及如何避免 


◆ ◆ 

不要从头开始实一切   


从头开始实现算法,你可以学到很多。


有时候你甚至需要去实现一项技术

因为没有合适的,

或者找不到现成的实现方案。


但是,一般来说,你不必如此,你也不该如此。

你的实现可能糟透了。抱歉——


它可能有小错误。

它可能很慢。

它可能太占内存。

它可能处理不好边界情形。

它甚至可能压根儿就错了。


陷阱

如果有以下情形,不幸你已落井——


你在写代码导入CSV文件(到底怎么回事!)

你在写代码做一个标准的算法,比如线性回归

你在写代码做交叉验证或者超参数调节。


出路

停下来

使用一个通用的,已知是正确的,成千上万的程序猿都在用的库来处理边界情形。

使用一个高度优化的库,哪怕最后一个循环,最后一个字节都已经挤干净,最小限度占用内存。

使用图形化的用户界面,避免不必要的编程。

每次你想要用的时候都实现所有一切,对机器学习菜鸟而言,是一个非常慢的方法。


如果你想学习实现,那么,诚实一点,把它和学习利用应用机器学习来传递价值区分开来。


◆ ◆ 

不要总是换工具 


有很多非常伟大的机器学习工具。

实际上,伟大的工具,连同数据和高性能硬件,

是机器学习得以复兴的原因。

但是,当你遇到接踵而至的新工具时

你就掉进流连忘返的坑里了。


陷阱

如果你有如下情形,不幸你已落井——


使用你听说过的新工具。

发现你每周或每月都在学习新的工具或者语言。

学一个库,见新思迁,半途而废。


出路

学习和使用新工具。

但是要有策略。

把新工具整合到解决问题的系统过程里。

如果你选好一个主打平台并坚守不移,你会高效得多。至少坚持到你能擅长或者精通一个。


推荐3个平台:

· Weka Workbench

· Python Ecosystem

· R platform


你的领域内还会有其它的平台和专业工具,坚持到底是爱好者与专业人士的区别。

原文发布时间为:2016-10-11


本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

上一篇:Spring事务配置探究


下一篇:MVC拦截器加密解密