Py学习  »  机器学习算法

机器学习的书看不懂怎么办?看看大神怎么回答?

机器学习初学者 • 3 年前 • 252 次点击  
有同学问:机器学习的书看不懂怎么办?于是我去知乎找了很多大神的回复。
本文来源:知乎

高赞回复一

作者:张戎

来源:知乎

第一次学机器学习的时候还是选定一本书,先精通一本书籍,再泛读其他书籍,其他机器学习书籍作为查缺补漏的教材或者参考资料。机器学习是计算机科学与人工智能的重要分支领域。

首先推荐周志华老师的《机器学习》

这本书作为该领域的入门教材,在内容上涵盖机器学习基础知识的很多方面全书共16章,大致分为3个部分:

第1部分(第1~3章)介绍机器学习的基础知识;

第2部分(第4~10章)讨论一些经典而常用的机器学习方法(决策树、神经网络、支持向量机、贝叶斯分类器、集成学习、聚类、降维与度量学习);

第3部分(第11~16章)为进阶知识,内容涉及特征选择与稀疏学习、计算学习理论、半监督学习、概率图模型、规则学习以及强化学习等。


《统计学习方法(第二版)》

全面系统地介绍了统计学习的主要方法,共分两篇。第一篇系统介绍监督学习的各种重要方法,包括决策树、感知机支持向量机、很大熵模型与逻辑斯谛回归、推进法、多类分类法、EM算法、隐马尔科夫模型和条件随机场等;第二篇介绍无监督学习,包括聚类、奇异值、主成分分析、潜在语义分析等。


在学机器学习或者深度学习的时候,实战一直是一个重要的环节。《机器学习实战:基于 Scikit LearnTensorFlow和》

本书作者 Aurelien Geron曾经是谷歌工程师,在2013年至2016年,主导了 YouTube的视频分类工程,拥有丰富的机器学习项目经验。作者的写作初衷是希望从实践出发,手把手地帮助开发者从零开始搭建起一个神经网络。这也正构成了本书区别于其他机器学习教程的最重要的特质一不再偏向于原理研究的角度,而是从开发者的实践角度出发,在动手写代码的过程中,循序渐进地了解机器学习的理论知识和工具的实践技巧。对于想要快速上手机器学习的开发者来说,本书是一个非常值得尝试的起点项目。


《机器学习实战》

主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、 Logistic回归算法、支持向量机、 AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、 Apriori算法、fp- -Growth算法。第四部分介绍了机器学习算法的一些附属工具。本书通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高级的功能,如汇总和简化等。

《深度学习》(花书)

这本书的作者是 lan Goodfellow、 Yoshua Bengio和 Aaron Courville三位大牛。这本书的中文版于2017年7月22号上市。该书由众多译者协力完成。《深度学习》这本书从浅入深介绍了基础数学知识、机器学习经验以及现阶段深度学习的理论和发展,不管是人工智能技术好者,还是相关从业人员使用这本书都是非常有好处的。另外,读者如果想熟悉一些数学知识,本书也做了一些介绍,包括矩阵,导数等基本内容。读者可以从头读到尾。《深度学习》这本书的一大特点是介绍深度学习算法的本质,脱离具体代码实现给出算法背后的逻辑,不写代码的人也完全可以看。为了方便读者阅读作者特别绘制了本书的内容组织结构图,指出了全书20章内容之间的相关关系。读者可以根据自己的背景或需要,随意挑选阅读。


除此之外,还有一本书《动手学深度学习》。本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的 Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。
全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的 Python编程或附录中描述的线性代数、微分和概率基础。


如果觉得数学知识不太够,可以看这一本《深度学习的数学》。本书基于丰富的图示和具体示例,通俗易懂地介绍了深度学习相关的数学知识。

第1章介绍神经网络的概况;

第2章介绍理解神经网络所需的数学基础知识;

第3章介绍神经网络的优化;

第4章介绍神经网络和误差反向传播法;

第5章介绍深度学习和卷积神经网络。

书中使用 Excel进行理论验证,帮助读者直观地体验深度学习的原理。


如果想复习一些数学课程,可以读一些数学方面的基础课,例如微积分,线性代数,概率论等课程。程序员直接阅读数学书可能会比较枯燥,但是有人贴心地针对程序员撰写了相应的数学书籍。

《程序员的数学第2版》面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无须精通编程,也无须精通数学,只要具备四则运算和乘方等基础知识,即可阅读本书。本书讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。

《程序员的数学2:概率统计》涉及随机变量、贝叶斯公式、散值和连续值的概率分布、协方差矩阵、多元正态分布、估计与检验理论、伪随机数以及概率论的各类应用,适合程序设计人员与数学爱好者阅读,也可作为高中或大学非数学专业学生的概率论入门读物。

《程序员的数学3:线性代数》本书用通俗的语言和具象的图表深入讲解了编程中所需的线性代数知识。内容包括向量、矩阵、行列式、秩、逆矩阵、线性方程、LU分解、特征值、对角化、 Jordan标准型、特征值算法等。
通常来说,学习机器学习的时候,精读一本书即,其他书用于辅助和查缺补漏,然后就可以根据科研的方向和导师的要求来阅读论文和搞科研了。如果想要学习数学系的一些课程的话,可以先阅读一些工科方面的数学书,有时间的话再选择一些数学的专业书籍进行阅读。

高赞回复二

作者:卖团子的小喵吉

来源: 知乎

首先建议题主,prml和ml:app二者其实最好能选一本深读。总的说prml更宽泛,app是从贝叶斯入手的,具体怎么选,还是要看题主的兴趣。

选定一本书后,个人建议,题主一定要备一本

对就这本,绝对是入门与提高的教科书,书不厚,但是学院气息很浓,最好在看别的前先把这本书过一遍,事半功倍,但是正如我所说,这本书本身学院气息过浓,看起来也会很痛苦,当然也可以选择先大慨看一遍,后面当个参考书用。
其实我最大的建议就是,准备多本书,但是只精度一本。因为每本书都有自己的缺陷,即使是像prml,虽然又广又精,还是有些地方存在不足,比如在图模型领域,必然不如

但这本书,又是个大坑。
还有一点,看书绝对是一种效率最低却必须在学习过程中经历的一个过程。其实入门的话感觉还是要看一些视频,ng大大的最方便,台湾有个机器学习基石,也不错,但是视频永远只能入门,而看书,像prml的作用也只是夯实基础,适当在感兴趣领域追一些paper,也是很有帮助的。
至于数学,仁者见仁吧,我个人的意见是,如果真的想做的深,工科数学基础完全不够,我学DBM的时候甚至想去选修统计物理了……

其他

作者:唐家声

来源:知乎

三点。
一、反复重复推导过程;
二、实践代码,将数学推导与数据的特点,如维度等建立联系;
三、推荐跟一下台大 林轩田老师的 机器学习基石 和 机器学习技法 两门课,有理论有推导有讲解—>有帮助。

作者:邪恶总督 

看书看不懂正常的 多翻几本书比较着看然后上网搜推导过程/书上问题的讨论矩阵求导知乎上已经有很多 

这一块内容属于课本不讲但是ML书上遍地都是的内容.

总结

以上都是大神们的意见和建议,建议学习者多看看,多听听,找到适合自己的方法。

我这里也有学习方法,仅供参考:

适合初学者入门人工智能的路线及资料下载


往期精彩回顾





获取一折本站知识星球优惠券,复制链接直接打开:

https://t.zsxq.com/yFQV7am

本站qq群1003271085。

加入微信群请扫码进群:

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71069
 
252 次点击