Welcome

目前MSRA intern,现阶段从事文摘生成方向研究。对NLP感兴趣或对博客内容有疑惑及意见建议的,欢迎评论或添加我微信。此外如果有需要内推的同学,也欢迎来骚扰我。联系方式详见contact页面。

学习规划|机器学习和NLP入门规划

学习规划|机器学习和NLP入门规划

阅读数:2,811

每天来博客的人不太多,但稀稀拉拉也有一些固定的人群。自从上次发表了那篇面试的博客以后,陆陆续续就有一些同学来问我机器学习及NLP的学习路线,emm….因为有些问题有一些重复性,所以还是打算写一篇博客,把我的学习规划写出来。但是每个人都是独一无二的,我的计划可能对你有用,对他没有,也可能对别人有用,对你没用。需要自己去斟酌一下。

然后本文写的东西都是适合以后专门吃这碗饭的技术人员,不太合适其他方向需要使用机器学习技术的同学,比如说生物学的同学如果在数据分析上需要去学一些机器学习的方法来分析,就不太适合我这种学习方式了,没有必要去学那么深。

 

机器学习部分:
1.关于书籍

很多同学看的第一本这方向的书籍可能是西瓜书,包括我也是。但是这本书还是不建议大家看,它详细介绍了机器学习的各个方方面面,也就注定了每个方向都讲不深,有点泛泛而谈。还是强烈推荐李航的《统计学习方法》,书中有十来个算法,已经涵盖了机器学习的各方面了。

另外还有一本《机器学习实战》,封面印象里是一个农夫拿着锄头的,这本书只讲代码,理论讲得很浅。

一本理论,一本实践,两本书配合刚刚好。

 

2.关于视频

吴恩达的CS229比较强推,这个视频配合《统计学习方法》非常舒适。

其他视频像台湾有一个机器学习基石什么的课,评价也挺好,我舍友看的这个,他的意思是讲得比吴恩达好。但是如果让我推荐,我还是推荐大家看吴恩达的。

另外在B站上白板推公式系列,讲得也很好,我当时是挑着看的,看完手上的东西还是理解不了,可以看看这个视频。

 

3.关于学习方式

先看吴恩达的cs229,在最初阶段方面入门,同时一定要记笔记。期间《统计学习方法》等书可以不用看,先把视频看完,笔记记完。如果在视频中有看不懂的地方,可以找一些博客看一看。看视频阶段最好在10到20天搞定,最晚一个月也要看完了。

看完以后开始看《统计学习方法》,一个一个模型看下去,每次看之前可以先过一遍吴恩达视频记的笔记,重新捡起来吴恩达的思路。这本书比较难啃,但是一定啃下去。很多时候主要问题在不知道这个公式是怎么从上个公式推过来的,多思考,实在想不出来的,网上找博客(比如说我的博客,羞涩)。一定一定要跟着书把所有的公式推出来。

《统计学习方法》一个模型看完以后,好好再回过头来看他给每个部分起的小标题,再分析为什么书中这些小部分是顺序是这样的。你会慢慢理解推导一个算法的思路,这个很重要。

至于一个模型怎么算初步学到位了,我认为你学完以后,可以假装边上有个啥也不懂的学弟学妹,自己一点一点给他们讲,给他们推导。如果整个过程都能讲清楚,说明初步掌握了,这时候已经打败了大部分人了。(最好是可以写博客)

在全书都看完以后,给模型写算法,可以看《机器学习实战》上的代码来知道机器学习算法应该是怎么写的,numpy是怎么用的,但是一定不要照着书本写代码。对每个模型的公式充分理解,在纸张写下来大概思路,确定以后就开始写。(其实我觉得我的模型实现代码比这本书写得好一点….羞)

如果上面的部分都照着做完了,我觉得你已经比大部分人优秀了。

之后在出去找工作前,重新把《统计学习方法》过三遍,第一遍照着书本推公式,把思路捡回来。过几天第二遍,抛开书本推公式,如果有遗忘的地方看看书,再好好想想你忘记的这一步在整个过程中起了什么作用,基于什么的考虑,自己怎么能保证下一次不会忘记,再把书合上继续推。再过几天第三遍,这时候已经可以不用看书,说起哪个模型,就能直接手推了,如果还做不到,就第四遍、第五遍…..

 

NLP部分:

NLP目前分为了统计学习方法和深度学习方法两大部分,建议先从深度学习方法学起,容易出成果,内心成就感会高一点。

1.关于书籍:

统计学习方法:宗成庆 《统计自然语言处理》

深度学习方法:《TensorFlow实战google深度学习框架》

在NLP的深度学习方面其实我至今没有找到一本系统的书,所以只推荐了一本google的深度学习。

《统计自然语言处理》其实我也不太喜欢,但是他有配套视频(下面会讲),所以顺带推荐一下。(不过我基本上没看过)

 

2.关于视频

深度学习方法:

吴恩达的深度学习视频,在网易云课堂上有中文版,强烈推荐。一共好像5个章节,其中一个章节是图像处理的,可以不用看。其他的我感觉十天左右也能看完了吧。这个视频看完以后对TensorFlow和NLP已经可以形成一个初步的理解了。它每个章都有作业,一定要做(作业在github上可以搜到)。

同样,一定要记得做笔记。

至于广泛流传的CS224N,我不太喜欢,但不排除你会喜欢。(其实是我不太看得懂,感觉还有一些先修课我可能没修)

统计学习方法:

宗成庆有个自然语言处理的视频,一共是64讲,这个视频一定要吴恩达的视频看完,做完几个练手项目,不知道该做什么了的时候才开始看。或者说你什么时候觉得自己需要补这方面知识了,再看就可以了。

 

3.关于学习方式:

首先看吴恩达的视频,很通俗易懂也很舒服,它里面分为每周的学习计划,其实每周的视频一天就能看完,再花半天一天时间做作业。全部看完以后,去做一些文摘生成、文本相似度比较、文本分类、机器翻译这些任务。但是不用找个什么练手项目100个,然后一个个做过去什么的。(挺想推荐我自己的github的,但是我已经很久不更新….)。每次订个目标,比如说这次我要把rnn实践一遍,就找相关博客,多看几篇,然后再去干活。主要是也没个什么系统的书,这方面学习主要靠博客。把rnn、lstm、seq2seq、cnn这些主流的东西都实践一遍,我感觉也差不多了。

这个时候如果你已经有了很感兴趣的方向,比如说你对对话系统很感兴趣,那可以直接开始往这个方向深入研究了。宗成庆的视频你什么时候觉得需要看了,再看就可以了。

 

我尽力去不误导大家,但是回头看,文章里还是写了很多绝对的话。学习的方法不是绝对的,我的这些方法,你觉得还行,那不妨可以试一试。要觉得差点意思,笑一笑过去了也就算了。
最后祝大家心想事成。

 

Dodo

12条评论

匿名 发布于10:00 下午 - 7月 9, 2019

感谢

匿名 发布于9:29 下午 - 5月 23, 2019

谢谢您的分享,follow了您的github. 希望未来能够达到您的高度!

匿名 发布于7:15 上午 - 5月 16, 2019

老哥本科是lnkj?真是牛皮

匿名 发布于9:32 上午 - 5月 7, 2019

关于NLP的不更新了吗

    Dodo 发布于11:42 上午 - 5月 9, 2019

    github吗? 可能…最近不会往下写了 事情太多了 blog的话会开始写一些NLP的论文解读

匿名 发布于5:11 下午 - 4月 8, 2019

这个博客用什么搭建的?

    Dodo 发布于12:01 下午 - 4月 10, 2019

    wordpress

      匿名 发布于12:57 上午 - 5月 14, 2019

      什么主题?

        Dodo 发布于2:37 下午 - 5月 15, 2019

        chilly

匿名 发布于6:41 下午 - 4月 2, 2019

写的真实在,点赞!!!

匿名 发布于9:56 下午 - 3月 28, 2019

为北京吴彦祖打 call

匿名 发布于2:59 下午 - 3月 22, 2019

感谢!