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

    xiaoxiao2023-12-22  19

     

    ◆ ◆ 

    不要从理论开始 

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

    step1:努力学习数学。

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

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

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

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

    这条路漫长,艰难。

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

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

    陷阱

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

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

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

    我得先啃完这本教科书。

    出路

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

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

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

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

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

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

    ◆ ◆ 

    不要去学所有的机器学习 

    机器学习浩瀚无边啊。

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

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

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

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

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

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

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

    出路

    找个小旮旯,集中于此。

    进一步缩小范围。

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

    从这里开始。

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

    然后死缠烂打。

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

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

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

    ◆ ◆ 

    要在算法上虚度光阴  

    机器学习确实关乎算法。

    好多好多好多算法。

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

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

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

    那些人叫做学术界。

    陷阱

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

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

    我得深入理解超参数先。

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

    出路

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

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

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

     

    ◆ ◆ 

    不要从头开始实现一切   

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

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

    因为没有合适的,

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

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

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

    它可能有小错误。

    它可能很慢。

    它可能太占内存。

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

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

    陷阱

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

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

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

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

    出路

    停下来

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

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

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

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

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

    ◆ ◆ 

    不要总是换工具 

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

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

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

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

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

    陷阱

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

    使用你听说过的新工具。

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

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

    出路

    学习和使用新工具。

    但是要有策略。

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

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

    推荐3个平台:

    · Weka Workbench

    · Python Ecosystem

    · R platform

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

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

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

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)