这是一篇非常难写的文章,同时我希望这篇文章对于入门学习的朋友是真正有价值、有帮助的。
起初,关于这个问题,我脑子其实是一片空白的。我在想图书馆里的书、课程资料、论文、书籍哪个更加适合推荐给机器学习领域的入门初学者。
期间,我很纠结应该减掉、增加哪些内容。我努力把自己置身于程序员和初学者之中,从他们的角度思考哪些资源最有利于他们学习“机器学习”。
我精心挑选最好的资源。如果你真的是一个初学者,并且极其希望在机器学习领域有所耕耘,希望你能从中找到一些对你有帮助的知识。我的建议是专注于一项资料,一本书或一个编程库,并反复阅读其中涵盖的知识、教程。选择一样,坚持下去,一旦你已经掌握透了,再换一本书,反复阅读这本书。让它融入你的知识储备。
我认为,对于一件事应该学到可以构成威胁为止,再开始小试身手。
这就是我学习编程的方法,我相信很多其他人也是这样学习的。了解你的局限性,充分利用你的优势。如果你知道如何编程,可以利用它来快速深入了解“机器学习”。在你开始操作之前,应该先进行大量的训练,学习数学相关知识。
找到一个编程库,阅读文档,按照教程,开始尝试。以下是最好的开源机器学习编程库。它们并非都适合在你的生产系统中使用,但它们是很好学习资源,你可以从中学习、探索、研究。
你可以从一个熟悉的语言库开始,然后转到其他更强大的编程库。如果你是一名优秀的程序员,相信你可以很容易地在各种语言之间切换。它们的逻辑是相同的,只是在语法和API上略有不同。
选择一个更适合自己的平台,用它进行“机器学习”实际学习。不要仅停留于学习表面,还要实际操作哦!
很多初学者都很喜欢通过视频进行初步学习。
我在YouTube和VideoLectures.Net上观看了很多“机器学习”相关视频。但是有些人只是简单的看看视频,这并不是一种高效的学习方法。我建议在观看视频的时候应该记笔记,也可以对照视频自己演练一遍。
坦白说,我所见过的大多数视频课程都不太适合初学者。这些视频实际上都包含了线性代数和概率论的相关知识。
在我看过的视频中,Andrew Ng在斯坦福大学的讲座视频,很适合推荐给初学者。
如果你不习惯阅读、研究论文,第一次阅读论文时,你会发现字里行间的语言非常僵硬。一篇论文就像是教科书中截取的片段,但它描述了一些实际情况。如果想要开始学习“机器学习”,你可能会在其中发现一些有趣的论文。
我只列出了两篇重要的文章,因为阅读文章可能会让你失望。
有很多机器学习书籍,但为初学者编写的书籍却很少。
什么是真的初学者?
最有可能的是,你来自另一个领域,但现在开始学习“机器学习”,那些领域可能是计算机科学,编程或统计学。即使如此,阅读大多数书籍都需要至少有线性代数和概率论的知识基础。
有一些书鼓励程序员从通过算法的基础部分开始,并指向工具和库,以便可以开始尝试。
最值得推荐的是 编程集体智能(Programming Collective Intelligence),黑客机器学习(Machine Learning for Hackers)和 数据挖掘(Data Mining):分别用于Python,R和Java的实用机器学习工具和技术。如果有疑问,请阅读这三本书中的任意一本!
虽然很多人都有在讨论、推荐一些很棒的机器学习教科书,但很多都不适合初学者。
我深深地思考了这个问题,我也去看了其他人的清单。
为了完整起见,下面是网络上一些关于机器学习入门的大量资源清单。