社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

纯新手入门机器\/深度学习自学指南(附一个月速成方案)

黑白之道 • 5 年前 • 548 次点击  

怎么入门机器/深度学习?


回答这个问题,最先要考虑的问题是:你有多少时间?


准备用三个月入门,和想要一个月速成,肯定是截然不同的路径。当然我建议大家稳扎稳打,至少可以拿出五个月的时间来学好机器学习的基础知识。


基础很重要,知其所以然很重要。毕竟工具总在进步,每个月都会出现更好的深度学习技术,但基础知识是不变的。


如何用五个月时间入门?下面分三个部分,详细指南。(以及,如果你确实时间有限,最后还有一个速成指南)


五个月入门


Part 1:从机器学习开始(两个月)


最好的入门教程,就是吴恩达讲授的机器学习。吴恩达这套课程发布很久了,虽然有些地方稍微过时,但相信我,现在没有任何公开的课程,能比吴恩达讲得更好。真的,课程结束时我几乎哭了出来。


这个课程可以说适合任何水平的学生,当然,你最好还是得知道两个矩阵如何相乘,以及对编程有一些基本的了解。


这套课程可以前往Coursera学习,传送门:

https://www.coursera.org/learn/machine-learning

也可以上网易公开课收看,传送门:

http://open.163.com/special/opencourse/machinelearning.html

如果你有时间,一定要听完全部的课程。如果时间紧张,至少要听完前五节课程,后面的可以暂时跳过。


吴恩达的机器学习课程深入讲解了经典的机器学习模型,如线性回归、逻辑回归、神经网络、支持向量机、PCA、无监督学习等等。大部分重要概念,都以简单易懂的方式进行了介绍。


课程延伸


当你学习到第五节课,也就是开始讲述神经网络时,建议开始查看与课程平行的外部资料。比方3bule1brown推出的神经网络讲解视频。推荐必看。


YouTube传送门:

https://youtu.be/aircAruvnKk?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi

或者可以前往B站查看:

http://space.bilibili.com/88461692/#/

这里给个示例:


以及,我觉得吴恩达在讲神经网络时有点快,所以建议补充阅读一些资料。比如有关神经网络和深度学习的在线书籍,免费的就很好了。


传送门:

http://neuralnetworksanddeeplearning.com/


作者Michael A. Nielsen以一种简单直观的方式,深入探究了神经网络的每个细节。建议阅读这本书的前两章,与吴恩达的课程并行。当你熟悉更多概念后,开始搞深度学习时,可以再看书中的其余部分。


如果你英文不好,这本《神经网络与深度学习》也有中文翻译版本,可以免费在线查看。


感谢译者,传送门在此:

https://tigerneil.gitbooks.io/neural-networks-and-deep-learning-zh/content/


这个部分的学习结束之后,你就能明白机器/深度学习的许多概念。最后推荐阅读Christopher Olah的博客,很有意思。


传送门:http://colah.github.io/

Part 2:涉足深度学习(1个月)


开始研究深度学习之前,最好重温一下大学数学。Ian Goodfellow传奇般的“花书”《深度学习》,简明扼要的概括了大部分重要主题。


建议大家尽可能深入地阅读线性代数、概率、信息理论的章节。每当读论文遇到深度学习概念时,都可以在书中找到参考。


以及,这本书有在线的版本。


例如英文版在此:

https://github.com/janishar/mit-deep-learning-book-pdf/blob/master/complete-book-bookmarked-pdf/deeplearningbook.pdf 。

而中文翻译版本在此:

https://github.com/exacity/deeplearningbook-chinese

关于深度学习的在线资料有很多,你可能会挑花了眼。


再一次,我觉得最好的选择,还是听吴恩达的《深度学习专项系列课程(Deep Learning Specialization)》。


Coursera传送门:

https://www.coursera.org/specializations/deep-learning

网易云课堂的传送门:

https://mooc.study.163.com/smartSpec/detail/1001319001.htm/

这门课程包括五大章节。其实不是免费的,你可以按照50美元/月购买。当然,如果你负担不起,还能申请“助学金”。申请时请详细阐明理由,处理的时间大概需要15天左右。


当然不付费,大部分内容都是可以看的。以及视频的部分,在很多地方也能免费收看。


这五门课程主要讲的是:


1、神经网络和深度学习(4周)

2、改善深度神经网络(3周)

3、结构化机器学习项目(2周)

4、卷积神经网络(4周)

5、序列模型(3周)




前三门课程涉及一般的神经网络和深度学习,第四、第五门课程涉及特定主题。如果你打算搞视觉,第四课必听;如果你搞NLP、音频等,第五课必听。但如果你需要听第五课,那么建议也把第四课好好听一下。


这里鼓励大家一下,课程里每周的内容,实际上一两天就能学完,所以不要被课程表吓倒。劳逸集合、提升效率。


学到这个地步,其实就可以再去http://neuralnetworksanddeeplearning.com/ ,查看第三到第六章的内容,来强化你的概念。如果你有什么还没搞懂的,请前往Olah的博客。


以及,这时候你要开始看深度学习的论文了,从中学习知识。深度学习有个强烈的特点,那就是内容都非常新,阅读论文是跟上时代唯一的方法。不想被抛下,那么还是养成阅读论文的好习惯吧。


Part 3:深度学习上手练(两个月)


学到这里,你应该对机器学习和深度学习中的大多数概念有了正确的理解,现在是时候投入沸腾的实际生活中了。


练手深度学习,最好的资源在fast.ai。


传送门在此:http://course.fast.ai/

他们在流行的深度学习工具PyTorch上构建了一个库,只需要几行代码,就能实现世界级的性能。


fast.ai的理念有点不同。吴恩达等老师的教授方法是自上而下,先讲再做。而fast.ai倡导自下而上,先做再讲。


所以在他们的课程中,第一节就带你建立一个强大的图像分类器。自己训练


模型的快感,刺激着你去完成其余的课程。


除此以外,还要推荐两门课。


斯坦福大学的CS231n和CS224n。CS231n专注于计算机视觉的深度学习,而CS224n专注于序列建模。


CS231n,李飞飞等主讲。

官网传送门:http://cs231n.stanford.edu/

CS224n,目前是Richard Socher主讲。

官网传送门:http://web.stanford.edu/class/cs224n/

此前的课程,网上也有中文字幕版本,大家可自行搜索。


到这里,为期五个月的机器/深度学习入门就结束了。


希望大家都能稳扎稳打,夯实基础。


以及最后,兑现一个开头的承诺。如果你确实时间很紧张,必须尽快入门机器/深度学习,那么请看——


速成指南


我最多只有俩月


1、完成吴恩达机器学习课程的前五周,要做编程练习。

2、看完3Blue1Brown的视频。

3、完成吴恩达的深度学习专项系列课程,做练习。

4、如果你想搞图像,看专项课程第四讲,搞NLP或序列数据,看第五讲。

5、搜索你感兴趣的开源实现。如果你还没想好用什么语言,推荐Keras。然后根据需要,再迁到TensorFlow或者PyTorch框架。


我,只有一个月想要在30天完成入门超级困难。除非,你只是想了解机器学习的工作原理,然后应用到自己的项目中。


如果是这样的话,速成建议如下:


1、略读吴恩达机器学习课程第1-5周的课程,只看视频,掌握概念即可。第三周可以跳过MATLAB/Octave课程。

2、看完3Blue1Brow的视频。

3、略读吴恩达深度学习专项系列课程的第一课,也就是神经网络和深度学习。

4、如果你想做图像处理项目,看一下Nielsen书中的第六章:http://neuralnetworksanddeeplearning.com/chap6.html

如果你需要序列建模的一些想法,可以看看Olah的博客:http://colah.github.io/posts/2015-08-Understanding-LSTMs/

5、Siraj Raval拍了很多有趣的视频,涉及大多数机器/深度学习的主题。传送门在此:https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A

6、搜索跟你感兴趣的开源实现,随时调整以满足你的需求。如前所述,我推荐你先用带有TensorFlow后端的Keras语言。


其他资源


YouTube上有一个两分钟读论文的系列视频,可以帮你快速了解全球深度学习的最热门进展。


如果你关注进机器学习领域的进展,Twitter是个绝佳的工具。


遇到困境的时候,记得reddit和Facebook上有很多志同道合的人,不要犹豫,在社区里寻求帮助,大家会伸出援手。


结论


机器学习和深度学习是当今世界最具魅力的技术之一。而且这个领域的深度学习专家总是处于稀缺的状态。从职业前景来看,深度学习非常吸引人。


需要提醒的是,与计算机学科的其他领域不同,深度学习的资源还不够丰富。很多时候你会遇到失败挫折,千万不要灰心丧气,你可以向更多人寻求帮助,很多人都愿意伸出援手,大家都在学习。


关于机器/深度学习,有一个误解是需要计算机科学的背景才能学习。这不是真的,你确实需要一些编程的思维才好入手,但也仅限于此。现在机器学习领域的很多专家,都来自其他研究领域。


如果你有计算机科学的背景,这是一个非常好的开始。但如果你出身其他学科,想要迎头赶上并不难。


感谢看到这里。


如果你有任何问题或者建议,欢迎留言。如果你想直接跟本文热情的原作者联系,这里是传送门:


https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047

本文转自微信公众号:量子位



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/yUiscoDVLR
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/12958
 
548 次点击