南大周志华老师的机器学习和深度学习「花书」这两本书的区别以及学习顺序可以给介绍一下吗?

论坛 期权论坛 期权     
匿名用户1024   2021-5-28 00:01   8655   5
机器学习、深度学习
分享到 :
0 人收藏

5 个回复

倒序浏览
2#
有关回应  16级独孤 | 2021-5-28 00:01:04
精读过花书,没有读过西瓜书。我的建议是结合斯坦福 CS229,cs231n课程与花书一起学习。
花书的优点是思路及框架特别清晰,有的时候有些想法可以串联起来,缺点是由于涵盖内容过多,有些部分会简略带过,解释不够详细。所以其实建议相关部分可以同其他课程或论文结合起来看,第一部分机器学习基础可以结合CS229: Machine Learning课程。
第二部分深度学习部分写得非常好,对于工业中应用广泛的前馈神经网络、CNN、RNN都有比较详尽的解释,且很系统的介绍了regularization, optimization的方法,这一部分可以结合CS231n: Convolutional Neural Networks for Visual Recognition (这个课程强烈推荐,虽然名字是CNN,但对于其他RNN,生成模型等均有涉及)一起学习,推荐课程的原因是这些课程都配有视频更加生动形象,且解释更详细,另外课程好处是有相关习题,可以在实战中加深理解。另外自然语言处理部分还推荐CS224n: Natural Language Processing with Deep Learning
对于一般深度学习在工业中的应用,以上两部分提供了足够的知识。第三部分主要集中于一些处于研究前沿的非监督学习问题,主要是概率模型,这一部分同样推荐结合CS 228 - Probabilistic Graphical Models,关于生成模型部分推荐Ian在2016年NIPS上给的tutorial NIPS 2016 tutorial: Generative Adversarial Networks 实际上总结的比他书中相应的章节要好。
我自己也是结合以上资料和花书正在写相关章节的总结,仅供参考。
川陀学者:深度学习花书读书笔记目录花书中没有涵盖的另一重要领域是强化学习,这一部分推荐Sutton的《Reinforcement Learning: An Introduction》这本书适合结合David Silver的RL course和伯克利CS 294-112一起学习,这一部分的笔记也在总结中。
川陀学者:强化学习读书笔记目录
3#
有关回应  16级独孤 | 2021-5-28 00:01:05
其实我推荐的学习顺序是
李航的统计学习
周志华的机器学习
然后才是
goodfellow的深度学习
4#
有关回应  16级独孤 | 2021-5-28 00:01:06
个人看法,先说西瓜书
  • 西瓜书的内容很全面,但是讲的不够精,很多没有细讲的地方就引了一个参考文献。我以前零基础开始看这本书的时候,很多内容不仅看不懂,反而还被一大堆参考文献搞的头大无比。
  • 西瓜书的一个优点在于很多地方的插图和示例非常易懂,即使是像svm这种算法,看的时候也不会被突如其来的一大堆公式搞懵。
  • 西瓜书的章节编排顺序非常不适合用来自学,用来复习还不错。
  • 我当初入门是西瓜书+李航蓝皮书+吴恩达cs229的lecture notes三个结合着看的,个人觉得后两个都更适合入门。
然后是花书,这本书质量非常不错,我从这本书上学到了很多,也得到了很多启发
  • 花书虽然名叫“深度学习”,但其实里面大量的内容讲的都不是深度学习,而是概率统计,贝叶斯方法,甚至包括了一些实变和现代几何的基础知识。书的风格和美帝的很多教科书一样,在尽可能浅显易懂的前提下加入很多作者自己思考的结晶。所以这本书的内容其实是有相当的深度的,入门看可能会有些过难。
  • 花书虽然讲了很多传统方法,但是很多讲的都不够详细,尤其是涉及到贝叶斯方法的部分,充满了一种“大家都懂我就不细讲了”的氛围。所以建议配合prml一起食用,如果看不懂,直接去prml上找相关章节。
  • 中文翻译有点怪怪的。。。把所有的专业术语都翻译成中文的做法令人脸酸。。。比如提到ReLU必然会说“整流线性单元”。。。看英文版的要比看中文版的舒服很多。。。
5#
有关回应  16级独孤 | 2021-5-28 00:01:07
咦?这两书啥时候这么紧密了,因为都很畅销么?
先介绍一下区别吧:
《机器学习》西瓜书以"机器学习"为主,涉及线性回归、SVM、决策树和神经网络(NN);
《深度学习》花书以"深度学习"为主,主要就是NN,如CNN、RNN,还有一些围绕NN的知识点,如正则化、优化、学习率等。
上面描述的就是机器学习与深度学习的关系,可以看成深度学习是机器学习的一部分,但这一部分太恐怖,内容很大,而且近两年应用也很迅猛,所以单拎出来也比较合适。
再介绍一下学习顺序:
我觉得这要因人而异,如果你目前在做CV、NLP等工作,想快速学习入个门,其实直接看花书就够了。如果你目前时间充裕,并想赶上AI这一波浪潮,系统地从西瓜书看到花书其实是最好了。
当然,还是看你项目和定位,比如就搞CV,那么一开始看《深度学习》是没有问题的。哈哈,配合着cs231n的视频,多舒服。
俺是个话痨,那就多说一点:
《机器学习》西瓜书配cs229或者coursera上吴恩达的机器学习视频
《深度学习》花书配吴恩达的deep learning视频
上述是俺自认为的黄金搭档~
-----我是分割线-----
看完,不点个赞再走么
6#
有关回应  16级独孤 | 2021-5-28 00:01:08
选定一本书,先精通一本书籍,再泛读其他书籍,其他机器学习书籍作为查缺补漏的教材或者参考资料。建议可以先看周志华老师的《机器学习》,再看《深度学习》。
机器学习是计算机科学与人工智能的重要分支领域。周志华老师的《机器学习》这本书作为该领域的入门教材,在内容上涵盖机器学习基础知识的很多方面。全书共 16 章,大致分为 3 个部分:第 1 部分(第 1~3 章)介绍机器学习的基础知识;第 2 部分(第 4~10 章)讨论一些经典而常用的机器学习方法(决策树、神经网络、支持向量机、贝叶斯分类器、集成学习、聚类、降维与度量学习);第 3 部分(第 11~16 章)为进阶知识,内容涉及特征选择与稀疏学习、计算学习理论、半监督学习、概率图模型、规则学习以及强化学习等。
《统计学习方法(第二版)》全面系统地介绍了统计学习的主要方法,共分两篇。第一篇系统介绍监督学习的各种重要方法,包括决策树、感知机、支持向量机、很大熵模型与逻辑斯谛回归、推进法、多类分类法、EM算法、隐马尔科夫模型和条件随机场等;第二篇介绍无监督学习,包括聚类、奇异值、主成分分析、潜在语义分析等。
在学机器学习或者深度学习的时候,实战一直是一个重要的环节。《机器学习实战:基于Scikit-Learn和TensorFlow》本书作者 Aurélien Géron 曾经是谷歌工程师,在 2013 年至 2016 年,主导了YouTube的视频分类工程,拥有丰富的机器学习项目经验。作者的写作初衷是希望从实践出发,手把手地帮助开发者从零开始搭建起一个神经网络。这也正构成了本书区别于其他机器学习教程的最重要的特质—不再偏向于原理研究的角度,而是从开发者的实践角度出发,在动手写代码的过程中,循序渐进地了解机器学习的理论知识和工具的实践技巧。对于想要快速上手机器学习的开发者来说,本书是一个非常值得尝试的起点项目。
《机器学习实战》主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic 回归算法、支持向量机、AdaBoost 集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori 算法、FP-Growth 算法。第四部分介绍了机器学习算法的一些附属工具。本书通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高级的功能,如汇总和简化等。
《深度学习》这本书的作者是 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大牛。这本书的中文版于 2017 年 7 月 22 号上市。该书由众多译者协力完成。《深度学习》这本书从浅入深介绍了基础数学知识、机器学习经验以及现阶段深度学习的理论和发展,不管是人工智能技术爱好者,还是相关从业人员使用这本书都是非常有好处的。另外,读者如果想熟悉一些数学知识,本书也做了一些介绍,包括矩阵,导数等基本内容。读者可以从头读到尾。

《深度学习》这本书的一大特点是介绍深度学习算法的本质,脱离具体代码实现给出算法背后的逻辑,不写代码的人也完全可以看。为了方便读者阅读,作者特别绘制了本书的内容组织结构图,指出了全书20章内容之间的相关关系。读者可以根据自己的背景或需要,随意挑选阅读。
除此之外,还有一本书《动手学深度学习》。本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的 Jupyter 记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。
全书的内容分为 3 个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。
本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分和概率基础。
如果觉得数学知识不太够,可以看这一本《深度学习的数学》。本书基于丰富的图示和具体示例,通俗易懂地介绍了深度学习相关的数学知识。第1章介绍神经网络的概况;第 2 章介绍理解神经网络所需的数学基础知识;第 3 章介绍神经网络的优化;第 4 章介绍神经网络和误差反向传播法;第 5 章介绍深度学习和卷积神经网络。书中使用 Excel 进行理论验证,帮助读者直观地体验深度学习的原理。
如果想复习一些数学课程,可以读一些数学方面的基础课,例如微积分,线性代数,概率论等课程。程序员直接阅读数学书可能会比较枯燥,但是有人贴心地针对程序员撰写了相应的数学书籍。
《程序员的数学 第2版》面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无须精通编程,也无须精通数学,只要具备四则运算和乘方等基础知识,即可阅读本书。本书讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和、汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。
《程序员的数学2:概率统计》涉及随机变量、贝叶斯公式、离散值和连续值的概率分布、协方差矩阵、多元正态分布、估计与检验理论、伪随机数以及概率论的各类应用,适合程序设计人员与数学爱好者阅读,也可作为高中或大学非数学专业学生的概率论入门读物。
《程序员的数学3:线性代数》本书用通俗的语言和具象的图表深入讲解了编程中所需的线性代数知识。内容包括向量、矩阵、行列式、秩、逆矩阵、线性方程、LU分解、特征值、对角化、Jordan标准型、特征值算法等。
通常来说,学习机器学习的时候,精读一本书即可,其他书用于辅助和查缺补漏,然后就可以根据科研的方向和导师的要求来阅读论文和搞科研了。如果想要学习数学系的一些课程的话,可以先阅读一些工科方面的数学书,有时间的话再选择一些数学的专业书籍进行阅读。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:136515
帖子:27303
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP