如何自学机器学习

jopen 9年前

很多都会有一个问题“如何自学书本知识之外的内容”。也许你是想增加一些技能,也许仅仅是爱好,也许是你读报纸书刊遇到一个你想去了解的知识点,也许是你要开始进行独立的研究……总之,你总会面临一些需要自学的情况。

不幸的是,现在的教育系统在教学上太事无巨细,因此很少给你机会独立学习。但是我们到底应该怎样去自学呢?

Metacademy2 是一个进行自学的很好的工具,目前主要提供机器学习和人工智能方面的知识。自学最令人兴奋的地方就是你可以对所有的知识去追根溯源,建立知识树。Metacademy就是在这样一种理念下建立起来的一个网站。通过知识树的方式可以让你对知识一步一步的深入学习。

Ph.D.也许是学习阶段中唯一的需要自己管理自己学习的阶段,你需要去比周围的人学习更多的知识,包括你的导师。我刚结束了我的博士旅程(研究方向为机器学习),因此我不得不去自己去收集这些方面的资料。然而博士一个自我驱动学习的很好的锻炼,大多都会写下来他们需要学习什么东西。这个网站上的学习树就是基于我的学习经历的一个参考。

Here are a few things this roadmap does not cover:

  • Humanities, social sciences, and foreign languages. While there’s value to being cultured and well-read, I don’t have any particular advice in this area. Most of what I say is oriented towards STEM subjects, and maybe some related areas such as cognitive science. If your goal is to be generally well-read, you might want to check out How to Read a Book.

  • Unschooling. Managing your own education in its entirety is a tall order, but some people manage to do it. I admire the initiative they have taken, and hope that Metacademy can contribute to making it possible. But I went through a traditional education, so I have no advice to offer here either. This roadmap is oriented towards people who have something specific they want to learn.

  • Test prep. If you need to take the MCATs next week, there are lots of other resources out there. I’m assuming here that you have a real desire to learn something — either for its own sake, or because you need it for some other end.

In short, this roadmap is really about how to learn specific technical topics that you’re interested in. I’ll highlight various strategies I’ve used, as well as resources that I’ve found useful.

Let me insert the major caveat that there aren’t any recipes for learning on your own. Different people have different learning styles, and what worked for me might not work for you. Ultimately, you will need to experiment to figure out how you learn.

学习资料

对于资料来源你有很多的选择:

  • 最常用:练习册。找到一本好的练习册是非常重要的。一种简单可行的策略就是去查询顶尖大学相关课程的网站,看看他们推荐的是哪些课本。MIT OpenCourseware1就是一个牛吊的网站,收集了很多的相关课程的参考资料。比如AI方向的话,MIRI已经整理了一个列表list1.
  • 课堂资料。很多课程的资料是在网上公开的,尤其是MIT OpenCourseware1里面的课程。好的方面是这个资料比课本更加的简明扼要。但是另外一个不好的方面则是他们缺乏打磨润色,尤其是那些只是用来给学生布置作业的notes。
  • 研究论文。对于更高一级的topics,可就不是课本或者是MOOCs可以解决的了,你应该转向学术论文了。
  • MOOC****。尽管MOOCs在大肆宣传颠覆传统教育,但是我把它们看做是videos形式的练习册。他们与众不同的原因在于,不像是练习册,他们是完全免费的,这使得你很容易就可以融入其中:这个网站看点视频,那么网站看点视频。(so easy)其实你仔细想想,这其实是件很不可思议的事情,通过这份报告(report),每一个MOOCs课程大概会花费30K到300K刀之间。当然现在很多大学也在考虑要收费了。So enjoy the last time!

提示:

  • 除非你正在进行一个特定方向的研究,那么你不会去想着要读一些很前沿性的文章。这些topics很不是特别好理解,大部分的文章并没有刻意去写得让人好理解。(哈哈哈,高端黑啊!!!)
  • 了解一个领域的简单方法就是搜索高引用率的文章。虽然应用计算存在很多的缺陷,但是他们至少在一定程度上反映了问题。总体上来说,高引用率的文章要比一般的文章更具有可读性。
  • 在一些领域,有些杂志会发表一些review的文章,比如Trends in Cognitive Sciences, or Foundations and Trends in Machine Learning。这些文章介于课本和研究论文之间,是了解过去一段时间某一个研究方向动态的很好的方式。
  • 加入你不是在学校,找文章最好的方式就是用google学术了Google Scholar。很多时候,作者都是在他的个人网站上贴出他的文章。

A good general piece of advice is to consult multiple resources. Different textbooks or courses will explain something from a different perspective, and often when reading one you get an “aha!” moment for something which didn’t make sense in the other. Unfortunately, this option might not be practical unless you have access to a university library.