从机器学习到深度学习资料整理

从机器学习到深度学习资料整理

  在过去的大半年中,博主一直在进行人工智能相关知识的自学。由于人工智能最近两年的火热,从网上能够找到非常多的资料,包括:MOOC、博客等,博主也花费了很多的时间从众多的资源中找到了一条“从入门到进阶”的学习之路。在此,博主根据自己的学习体验,将所用到的资料汇总在本片博文中。由于博主目前的研究对象主要是图像,因此在材料选择的过程中会重点关注图像方面的知识,但是博主在下文中所推荐的资料中也涵盖了关于文本、语音处理的内容,读者可以根据自己的需要选择性阅读。

一、入门资料

  (1)吴恩达《机器学习》(网易云课堂)

  入门学习的首选,课程全面介绍了机器学习的基础知识,很少涉及到高深的理论或者证明,通过学习这个课程可以帮助初学者快速掌握机器学习的经典算法,并且获得对机器学习相关技术的全面认识。吴老师在授课的时候使用的是matlab(octave),并且课程还有相应的练习(可在网络上面找到)。所配套的练习通过指导编程实践一步步地教初学者完成课程中相关的算法,完成该练习可进一步加深学习者对机器学习基础知识的认识。博主感觉该课程非常适合作为初学者的首选课程。

  (2)斯坦福大学 CS231 Convolutional Neural Networks for Visual Recognition 课程

  由斯坦福大学李飞飞课题组开设的关于深度学习(主要是图像方面)的课程。尽管该课程最终的目的主要是介绍卷积神经网络的,但是在课程内容的前大半会详细地介绍并且解读一些机器学习的基础内容,例如:cross-entropy loss, stochastic gradient descent,backpropagation和各种响应函数等,这些内容是对吴恩达老师教学内容的巨大补充,需要仔细阅读并且掌握。其中,博主尤其认为好好研究一下梯度下降法,领会该算法的运算过程是十分重要的,博主的这一篇博客或许能够对读者有些许帮助。该课程的视频内容好像可以在B站上面找到,而且也随课程配套了相应的编程练习(以python为编程语言)。

  (2)吴恩达《卷积神经网络》(网易云课堂)

  对于需要从事图像相关算法研究的读者,肯定无法绕开卷积神经网络。吴恩达老师在网易云课堂的微专业中提供了一个专门针对卷积神经网络的课程。该课程和《机器学习》课程的讲授风格十分类似,非常适合对卷积神经网络没有太多背景知识的读者学习。另外,上述第二个课程的后半部分也有专门针对卷积神经网络的内容,可以搭配本课程的内容一起学习。

二、实践资料

  经过对上述内容的学习之后,我相信读者对深度学习的基础内容就有了一个初步的掌握,接下来就可以通过一些自主的编程实践来内化所学到的知识,使得它们成为自己的傍身技能。接下来博主就介绍两部分别针Tensorflow和Keras应用的书籍。

  (1)Learning Tensorflow: A Guide to Building Deep Learning System(by Tom Hope, Yehezkel S.Resheff & Itay Lieder)

  Tensorflow是目前最广为应用的深度学习框架,大量的深度学习算法都应用到了该框架,也因此是从事相关工作人员所必须掌握的框架之一。博主所推荐的这本书好像是谷歌公司的研发人员所编著的,书中的内容主要介绍了Tensorflow框架的安装,基本组成及如何在不同的深度学习任务中应用该框架。对每一部分的内容,书中配备了很详细的代码供读者参考,非常利于学习者的实践操作,而且本书中还对一些模型的基础知识进行了回顾,这些内容能够很好地帮助学习者将基础概念与实践操作结合起来。

  (2)Deep Learning with Python(by Francois Chollet)

  这本书所介绍的框架是Keras,这是一个建立在Tensorflow上的高级深度学习库(目前已经是Tensorflow官方的高级接口),相较于Tensorflow,应用该框架建模更为简洁、直观,而且提供了丰富的函数供研发人员使用。博主所推荐的这本书是Keras库的第一版的作者所写的,书中的内容涵盖了从机器学习到深度学习应用的全部内容,并且提供了大量的代码示例,这本书在博主看来既是一本全面回顾机器学习到深度学习发展脉络和基础知识的教材,也是一本应用Keras库的参考指南。

三、理论进阶

  相较于上述所推荐的内容"知其然,而不知其所以然“的特点,这一部分所推荐的资料会聚焦于机器学习和深度学习更为理论化的一面,博主主要推荐的两本材料为:《统计学习方法》和线上图书《Deep Learning》

  (1)《统计学习方法》 李航著

  李航老师的这本书关注的是机器学习的理论剖析,对机器学习的基本元素、常见算法,进行了数学上的定义、分析和推演,通过对这些内容的学习,我觉得会让读者对这些算法有更为深刻的认识。从博主自己目前阅读体验来看,感觉很有难度,需要较为扎实的数学功底才能够明白老师在书中所讲解的内容。

  (2)《Deep Learning》(by Ian Goodfellow and Yoshua Bengio and Aaron Courville

  这是一本线上的图书,兼顾深度学习内容的广度和深度,涵盖了十分丰富的学习内容。其中第一部分概括性地讲解了学习者所必备的基础知识,包括:线性代数、概率论与信息论等,读者可以根据这部分内容的指引查漏补缺。第二部分则介绍了目前已经非常成熟的深度学习技术,包括:神经网络、卷积神经网络、序列信号处理等。第三部分则介绍了目前还处于积极研究的深度学习领域,包括特征学习等等。书中的很多内容都有非常详细的理论探讨和数学推导,博主感觉是一本非常难啃的书。

  最后,博主给大家提供两个网站链接:链接1链接2,大家可以在其中找到非常丰富的免费学习资料。最后祝大家学习愉快,早日成为领域大牛!

##本文为博主原创内容,转摘请注明出处。

原文地址:https://www.cnblogs.com/AlgrithmsRookie/p/11692444.html