(点击
上方公众号
,可快速关注)
编译:伯乐在线 - zhibinzeng,
英文:Machine Learning Mastery
事实上有许多的途径可以了解机器学习,也有许多的资源例如书籍、公开课等可为所用,一些相关的比赛和工具也是你了解这个领域的好帮手。本文我将围绕这个话题,给出一些总结性的认识,并为你由程序员到机器学习高手的蜕变旅程中提供一些学习指引。
机器学习的四个层次
根据能力可以将学习过程分成四个阶段。这也是一个有助于我们将所有学习资源进行分类的好方法。
-
初学阶段
-
新手阶段
-
中级阶段
-
高级阶段
我之所以把初学阶段和新手阶段区分开来,是因为我想让那些完全初学者(对这个领域感兴趣的程序员)在初学阶段对机器学习有一个大致的认识,以便决定是否继续深入。
我们将分别探讨这四个阶段,并推荐一些能够帮助我们更好地理解机器学习和提高相关技能的资源。对学习阶段进行这样的分类只是我个人的建议,也许每个分类的前后阶段中也有一些适合当前阶段的资源。
我认为对机器学习有一个整体性的认识是非常有帮助的,我也希望能听听你们的想法,通过在下面评论告诉我吧!
初学阶段
初学者是指那些对机器学习感兴趣的程序员。他们或许已经接触过一些相关的书籍、wiki网页,或者是已经上过几节机器学习课程,但是他们并没有真正地了解机器学习。他们在学习过程感到沮丧是因为他们得到的建议往往是针对中级或高级阶段的。
初学者需要的是一个感性的认识而不是纯粹的代码、教科书、课程。他们首先需要对机器学习有一个是什么、为什么、怎么做的认识以此为接下来的阶段学习奠定基础。
-
入门书籍:阅读一些为程序员而写的数据挖掘与机器学习的入门书籍,例如《机器学习:实用案例解析 》、《集体智慧编程》、《数据挖掘:实用机器学习工具和技术》,这些都是很好的入门书籍,推荐一篇进一步讨论这个话题的文章:《机器学习的最佳入门学习资源》
-
相关概述视频:也可以看一些科普性质的机器学习演讲。例如: 《采访Tom Mitchel》、《Peter Norvig 在Facebook的大数据演讲》
-
与人交谈:与机器学习领域的老手交流,问问他们是如何入门的,有什么资源值得推荐,是什么让他们对机器学习如此狂热。
-
机器学习课程101:我总结了一些关于入门的观点,《为初学者准备的机器学习课程101》,如果你喜欢可以看一看。
新手阶段
新手是指那些已经对机器学习有一定了解的人,他们已经阅读过一些专业书籍或者是接受过完整地课程学习,并且对这个东西有很大的兴趣想做更深入的了解,想通过进一步学习去解决他们所面临的问题。
下面是给新手的一些资料或者建议:
-
完成一门课程:完整地学习一门机器学习的课程,例如斯坦福大学的机器学习课程。多做课程笔记,尽可能地完成课程作业,多问问题。
-
阅读一些书籍:这里指的不是教科书,而是为上面所列举的为程序员初学者所准备的书籍。
-
掌握一门工具:学会使用一门分析工具或者类库,例如python的机器学习包Scikit-Learn、java的机器学习包WEKA、R语言或者其他类似的。具体地说,学习如何使用你在课程或书本上学来的算法,看看它们处理问题的实际效果。
-
写一写代码:动手实现一些简单的算法,例如感知机、K近邻、线性回归。试图写一些小程序去阐述你对这些算法的理解。
-
学习相关教程:完整地跟一门教程,为你所完成的小项目建立一个文件夹,其中包含数据集、脚本代码等,以便你可以随时回顾并有所收获。