在说该怎么入门之前,咱们应该了解一下什么是机器学习。机器学习也叫数据挖掘、模式识别,其定义很多。
但简单地说,机器学习要做的就是,现在有些数据(比如你人人网好友和他们的发言),我们要对数据进行处理,希望从数据中得到我们想要的信息(比如这些好友哪些和你投缘)。由此我们可以看出机器学习其实是对人类智能的模仿,也是实现人类和更高智能的必经之路。
机器学习这个概念认为,对于待解问题,你无需编写任何专门的程序代码,泛型算法(generic algorithms)能够在数据集上为你得出有趣的答案。对于泛型算法,不用编码,而是将数据输入,它将在数据之上建立起它自己的逻辑。
举个例子,有一类算法称为分类算法,它可以将数据划分为不同的组别。一个用来识别手写数字的分类算法,不用修改一行代码,就可以用来将电子邮件分为垃圾邮件和普通邮件。算法没变,但是输入的训练数据变了,因此它得出了不同的分类逻辑。
好了,说了这么多,该开始讲重点了:机器学习到底该怎么入门?
第一,找个项目或者找一门稍微具体点的关于机器学习的书。开始深入研究。机器学习应用只是一方面,要想明白透彻,还得整明白这一个个模型背后的故事。
第二,去Coursera上Andrew Ng的《机器学习》,完成所有作业,最好能全部拿满分。这是相当入门的课程。
课程深入浅出,而且作业也非常适合入门者,都是设计好的程序框架,有作业指南,根据作业指南填写该完成的部分就行。这门课上完了,你基本上可以开始简单地应用各种机器学习技术了。
第三,修炼内功。话说自己发现光应用不行,还得整明白其背后的东东后,就想四处找人请教,到哪儿去学高级的内功呢?看看这份清单(微博上发现的):
听说这是机器学习教父级别的人物Jordan推荐的书籍,而且全部都是值得珍藏的!这些资料大多都可以在百度里搜到。如果搜索不到大家也可以去新浪微博找那些搞机器学习的人寻求帮助,他们会很热心的。
说完入门学习,如果你还想进行深入学习机器学习,看看应该怎么做:
当前机器学习的最大问题是它主要活跃于学术界和商业研究组织中。对于圈外想要有个大体了解而不是想成为专家的人们,简单易懂的学习资料不多。但是这一情况每一天都在改善。
你可以下载安装SciKit-Learn,用它来试验成千上万的机器学习算法。它是一个python框架,对于所有的标准算法都有“黑盒”版本。
看看机器学习概要图 by Yaser Abu-Mostafa (Caltech)
差不多就是这样了。最后说几句心里话,不管你学习哪一门新科目,都不是一帆风顺的。还有,重要的是你的决心,你到底要不要学这门学科!你要是抱着半吊子的心态,那你可以不用看了,因为半吊子的决心学不明白任何一门学科!你要是想学,就咬紧牙,坚持看,反复看,反复查以及多动手。