这也是我想说服你开始机器学习的原因,其实你已经具备一定的基础了
4.需要从大数据开始吗?
不需要。
机器学习算法的学习和理解最好通过从小的数据开始。小到可以使用微软的Excel软件打开,可以加载到内存中,或者可以在你的工作站中运行。
大数据!=机器学习。你可以使用大数据构建一个预测模型,但是,这仅仅是你所拥有的技能在特定领域的特定表现。
我一般建议我的学生在开始学习机器学习的时候,使用小的数据开始。
如果你学习机器学习是为了处理大数据,那么就从大数据开始吧。
5.我必须有一个高配电脑吗?
不需要。
确实,现在一些最高水平的算法,比如,深度学习,需要数以千万的计算单元,多个GPU协同工作。
但是,这些算法依然可以用来解决一些比较小的问题,
而这样的计算量是你当前电脑CPU就可以承受的。
你不必因为接触不到高性能的计算机而在机器学习上停滞不前。
在你准备购买一台高性能计算机或者租用一台非常大的EC2虚拟云服务器之前,花点时间学习如何尽可能地利用现有的算法,在较小且容易理解的数据上。
6.新手是不是需要花费大量时间
正如我之前所说,从事机器学习算法工作会让人上瘾。如果你参加了一个机器学习的算法比赛,你会很乐意牺牲一个月晚上看电视的时间来提升算法的准确度。
也就是说,如果你开始学习时,使用着清晰的系统流程和最佳的工具组合,那可能会耗费一个或者两个小时,也可能是一个或者两个晚上。
你可以把任务拆分成多个小任务,把它们都贴在看板上面逐个解决。
开发者容易犯哪些明显的错误,
如何避免?
1.不采取行动
所有的一切都安排好了,但是,我依然看到一些软件开发者并不采取行动。看电视或者新闻远比苦坐建立一个新的模型和学习一个重要的技能容易。
2.选择了一个太难的问题
我经常看到一些软件开发者一开始就选择了一个或者两个非常难的数据集开始。那是非常大,非常复杂的数据集。然而,这些软件开发者他们并不具备分析这些数据的能力。更可怕的是,这样的挫败将会抹杀掉他们的学习动力,以至于软件开发者们都退出了原有的学习计划。
选择一个小的问题,最好你可以在60分钟以内完成。坚持这样训练一段时间,再进行更大的挑战。
3.不坚持既定的流程
参与了一个敏捷开发过程中,如果你从这个过程当中偏离了,这个过程就会很难进行,并且结果往往会很糟糕。坚持从一而终地完成敏捷流程,这是一个系统地解决问题的方法,是非常重要的。
你可能会在开发过程中发现一些“有趣的问题”,但是,一定要先完成既定的开发过程,并及时交付。
4.不懂得利用资源
对于机器学习,网上充斥着各种各样的优质论文、书籍和大量的博客。你可以利用这些资源来改善你的系统流程,使用工具的技能,和模型的准确度。使用第三方资源来获取更多的算法和数据集,深入理解算法和问题框架,一个具创意的想法将会改变你项目的进程。记住,如果你是采用的自上而下的方式,那必须在收尾阶段进行相关理论研究。花点时间来理解你最终的模型。
千万不要犯以上这些错误。
下一步
我们已经讨论了很多内容了,同时,我希望我已经说服了你,你可以开始并且不断在机器学习中取得进展。在未来你作为一名软件开发者,同时又懂机器学习算法将会非常抢手。
你的下一步是:
-
选择一个设计和使用机器学习算法系统的流程
-
选择适合的工具和平台
-
选择你的第一个数据集合
-
在文末留言吧
小福利:
下边这个思维导图总结了这个博客中非常重要的一些概念。