[IT技术] 学习机器学习应该看哪些书籍?

[复制链接]
zhuzhu1 发表于 2023-11-14 14:38:12|来自:欧洲和中东地区 | 显示全部楼层 |阅读模式
学习机器学习应该看哪些书籍?
全部回复8 显示全部楼层
sakul 发表于 2023-11-14 14:38:58|来自:欧洲和中东地区 | 显示全部楼层
这篇文章首发自我的公众号【是不是很酷】中:
如果真的学习人工智能
同时,这篇文章的内容已经放在 github 上做长期的资源更新维护。欢迎大家提 issue 推荐更多相关资源,也欢迎来 star 啊!:)
https://github.com/liuyubobobo/ai-learning-roadmap<hr/>在这篇文章中,我将结合大量的书籍或者公开课信息(以斯坦福大学的公开课为主),聊一聊:如果系统地学习人工智能,都需要接触什么课程。
为了让内容整体更有体系,我将所有的内容分成四个阶段。每个阶段可以简单理解成对应大学的一个学年。也就是如果大家假想自己现在高中毕业的话,根据这篇文章提供的“学习地图”,使用四年的时间,就可以在人工智能的深度和广度上都有相当地理解和掌握了。
对,你没有看错,是四年的时间。相当于读一个本科的时间。
所以,这不是一份广告。因为所有培训广告只会告诉你四个月就够;但所有人都明白四个月是不够的。如果四个月就可以掌握人工智能,人工智能也太简单了,它也就不值钱了。
对于这份学习路径,大家也可以划分为两部分。前两年是第一部分;后两年是第二部分。

对于计算机科班的同学来说,可以直接学习后两年的内容,切入人工智能领域;

而如果把前两年的内容切实学扎实了,再辅以其他专业课学习,基本可以轻松转向计算机科学的任何方向。
当然,由于每个人基础不同,所以对于这份比较全面的学习路径,有些同学可能已经掌握了相当的内容,那么就可以跳过一些内容,加快速度了。
以下为正文:
<hr/>第一年:语言基础 + 数学
首先,人工智能作为计算机科学的一个分支,是需要编程的。想要编程,大家必须学习计算机语言基础。

1. Python
对于计算机语言的选择,毋庸置疑,人工智能方向毋庸置疑是需要学习 Python 语言的。关于 Python 语言语法基础的学习,我就不具体推荐资源了。网上收费的免费的各种资源太多了。但如果一定要推荐的话,仅凭个人偏好,入门推荐这本书:


这本书有中文版。但我目测还是第一版:
相较而言,国外最新版已经是第二版了。国外亚马逊链接:https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280/ref=sr_1_1?crid=2UQKDUERI787R&dchild=1&keywords=python+crash+course&qid=1592815039&sprefix=python+crash%2Caps%2C201&sr=8-1

另外,在掌握了 Python 基础语法以后,对于 Python 的应用,有一本经典的书籍,近乎是必看的。我在我的公众号《开源分享第三期》中分享过,就是这本:
但是这本书的英文原版也已经有第二版了,国内引进的还是第一版。如果英文好的同学,可以直接看第二版。关键是,第二版的内容,官方现在可以直接在网上免费浏览!
Automate the Boring Stuff with Python
Orelly 的另一本 Python 书也值得推荐:Introducing Python。我的读者在我的公众号下留言:这本书进度更快,并且覆盖decorator(装饰器)、property等python中等水平特性。


这本书已经引入到国内:

关于 Python 语言进阶,最著名的应该就是这本了:Fluent Python


这本书也早就引入到国内了:
当然,Python 深入下去还有很多好的资源推荐。由于这篇文章重点不是 Python,所以点到为止。

2. C++
除了 Python,我还推荐学习一门编译型语言。对于这个语言的选择,于人工智能方向而言,我个人推荐 C++。因为真正的人工智能工程师,深入到底层,是需要大量使用 C/C++ 的。而 Python 更多的是一种“前端”工具,提供接口调用而已。
对于 C++ 的学习,去看 《C++ Primer》就好了。如果有 Python 基础,看这本书应该没有什么难度。当然,C++ 深入进去可以很复杂。但是在这个阶段,一本《C++ Primer》足以。


如果有些同学觉得 C++ Primer 太“古董”,可以看这本 C++ Crash Course。这本书是 2019 年出的,出版社 No Starch 也名声在外。同时兼顾了 C++17 的最新特性。


这本书貌似国内还没有引入。

3. 程序运行底层 & C
下面,我要推荐一门斯坦福大学的基础课,CS107:Computer Organization & Systems。如果翻译过来的话,就是计算机的组织和系统。
这门课程听起来很深奥,但其实是一个不折不扣的基础课程。这门课程使用的语言是 C 语言。但是学习的关键完全不是 C 语言的语法知识。事实上,如果大家已经学习了 C++,掌握 C 语言的语法是很容易的。
这门课程的核心是借助 C 语言,了解计算机程序运行的一些低层级制。比如位运算;比如指针;比如内存管理;比如内存中的栈和堆之间的区别;比如类型机制乃至泛型的底层实现;包括一些底层优化等等内容。另外,这门课程也会包含一些汇编基础。


传送门:
Computer Organization & Systems
4. 微积分
除了语言基础,另外一个学习人工智能需要打好的基础,就是数学。
整体,人工智能需要学习的数学基础,和一般工科需要学习的数学没有什么太大的区别:微积分,线性代数和概率论。(还有一些高级的数学内容,后续会提及)
对于微积分,最流行的课本应该就是《托马斯微积分》


另外一本经典是普林斯顿微积分读本:


5. 线性代数
对于线性代数,市面上的好教材太多。我在我的公众号文章《学习乘法不能帮助我们理解质能方程》和《开源分享第九期》两篇文章中,总共分享了三个线性代数课本。

一本叫《Introduction to Linear Algebra》,最新版是第五版。

这本教材的作者是 MIT 大名鼎鼎的 Gilbert Strang。去年被炒得沸沸扬扬的清华大学把线数教材换成了英文版,用得就是这本教材;前一阵子沸沸扬扬的 86 岁老爷子还录网课,说得就是这个作者。如果你对这两条新闻不是特别熟悉,可以搜一下。关键词:“清华把线性代数教材换成英文版”;“86岁还在录网课”。
Gilbert Strang 老爷子在 MIT 的线数公开课很有名,相信很多同学都看过。如果没看过的话,推荐看一下。
MIT 的官方地址在这里:
Linear Algebra2020 年更新的视频内容在这里:
Videos | A 2020 Vision of Linear Algebra | MIT OpenCourseWare
另一本叫《Linear Algebra and Its Applications》,最新版是第五版。有中文版,叫《线性代数及其应用》。听名字,这本书似乎更强调应用,但其实 Gilbert 老爷子的书也有专门一章讲应用。


最后一本,是我的一个同学,现在在硅谷 Google 总部工作的大神推荐的。据说非常非常适合入门,叫《Linear Algebra Done Right》。


现在疫情期间,Springer 出版社很多书籍都免费下载,包括这本书。对此感兴趣的同学不要错过:
Linear Algebra Done Right这本书的中文版如下:

6. 概率论(和数理统计)
对于概率论,我推荐斯坦福的 CS109:Probability for Computer Scientists
这门课程翻译过来就叫《为计算机科学家准备的概率论》,所以对于计算机专业来说,学起来更有针对性。
另外,学习这门课程的过程中,也就会接触一些机器学习方面的基本概念了


传送门:
CS109 | Home<hr/>第二年:计算机基础
如果想成为一名人工智能工程师,计算机领域的基础必须打好。但与此同时,我认为专注于人工智能方向,一些特别低层的内容,比如组成原理,或者数字逻辑,甚至是编译原理等等,并不需要专门学习。所以下面的推荐,并不包含这些内容。
下面是我认为人工智能方向应该重视的计算机基础知识,应该在第二年掌握。

1. 算法和数据结构
算法和数据结构的重要性不想多说了。就算你不理解他们实际上有什么用,只要明白,想当工程师,面试必考算法和数据结构就好了。
当然,如果你认真学习这篇文章推荐的后续课程内容,近乎一定会体会到算法和数据结构的巨大意义。
关于资源,推荐两个,都是书籍。

首先,就是大名鼎鼎的《算法4》。

《算法4》其实也有不少缺点,找时间我专门写文章聊一聊。但是在这篇文章,大家可以注意两点。
第一点,《算法4》的代码是基于 Java 语言的。所以,大家可以再借此接触一下 Java 语言,没坏处的。而且如果大家已经有了 C++ 基础,上手 Java 是很快的。
第二点,就是《算法4》偏经典的算法和数据结构的底层实现,而在算法设计方面介绍得很少。所以,就有了我推荐的第二个资源:《算法设计手册》。


这本书更偏向算法设计,我认为和《算法4》能形成一个很好的互补。
依然是,由于疫情原因,这本书的英文原版正版现在在国外是免费下载的。传送门:
https://link.springer.com/book/10.1007/978-1-84800-070-4中文版购买链接如下:

2. 操作系统基础
操作系统也属于计算机专业的必修课程。这不仅仅是因为我们需要了解操作系统的很多底层机制,更重要的是,我们可以借此学习很多系统设计(System Design)方面的理念。
要知道,一个人工智能应用,也是一个系统。在系统设计开发层面,很多东西是共通的。

操作系统方面也有很多经典教材。如果推荐书的话,我推荐这本《Operating Systems: Three Easy Pieces


这本书的英文版是可以免费在线浏览的。传送门:
http://pages.cs.wisc.edu/~remzi/OSTEP/中文版叫《操作系统导论》:

关于视频课程,我推荐斯坦福的课程 CS140:Operating Systems


传送门:
Operating Systems
关于操作系统,进一步引申至计算机原理层面,比如组成原理等相关内容,虽然上面我说,个人认为专门学习人工智能并不需要专门掌握,但是如果感兴趣的同学,还是有一门很经典的书推荐一读的,就是大名鼎鼎的 CSAPP:Computer Systems: A Programmer's Perspective。


这本书国内已经引进:

3. 数据库基础
做人工智能需要处理大量的数据,这就需要使用数据库,了解数据库的基础。同时,这本质也是在学习“数据模型”这个概念,了解数据存储的设计方案。
数据库方面的经典教材也很多。如果只是简单学习 SQL 语言的话,我认为《SQL必知必会》最实用。我曾经推荐这本书给某个同学,这名同学两周的时间,不但刷完了这本书,还把 Leetcode 上所有数据库相关的问题都给做了。
另外,有一个在线学习 SQL 的网站,挺有名的。有兴趣的同学可以尝试,叫 SQLZoo:
SQLZOO
当然了,关于数据库,如果追求的并不仅仅是使用 SQL 的话,我推荐学习斯坦福大学的课程 CS145:Data Management and Data Systems


传送门:
CS 145
这门课程有一个后续课程,即斯坦福大学的课程 CS245:Principles of Data-Intensive Systems


传送门:
Principles of Data-Intensive Systems
如果想接触数据库的实践,强烈推荐斯坦福大学的 CS346: Database System Implementation。翻译过来就是数据库系统实现。这门课程带你从底层实现一个数据库!


传送门:
Database System Implementation
同时,中国大学MOOC平台的两门课程,也值得推荐。分别是 数据库系统(上):模型与语言 数据库系统(下):管理与技术
传送门:
数据库系统(上):模型与语言_哈尔滨工业大学_中国大学MOOC(慕课)数据库系统(下):管理与技术_哈尔滨工业大学_中国大学MOOC(慕课)
4. 并行计算基础
我上学的年代,并行计算还不是计算机专业必学的内容。但现在,并行计算已经无处不在了。时代发展太快了,计算机专业的同学已经必学并行计算了。
关于在线课程,我推荐斯坦福大学的课程 CS149:PARALLEL COMPUTING


传送门:
Parallel Programming :: Fall 2019
分布式系统相关的书籍,有一本非常著名。也有中文版,叫《数据密集型应用系统设计





5. 人工智能基础
作为一个人工智能专业的学习路径,终于出现人工智能啦!
在这里,我首先推荐大家整体性地了解人工智能这个领域。
什么叫整体地了解?因为现在说到人工智能,很多同学就会直接想到机器学习或者深度学习。但其实,机器学习和深度学习只是人工智能的一个子领域而已。
与此同时,有很多同学都问过我,想了解诸如 A* 算法,遗传算法,模拟退火,蚁群算法等等这类的算法,应该看什么?其实,这类算法都是人工智能算法,只不过在现阶段,相比机器学习的算法,这些算法的成绩不够“耀眼”。
但是,如果深入了解人工智能,我认为这些算法也是需要学习的。要知道,神经网络其实在十几年前,也是人工智能领域不够“耀眼”的思想之一,静静地躺在角落里,直到最近有了巨大的突破,风靡于世。谁知道再过十年,哪种思想会突然有所突破,爆发起来呢?
关于整体性地了解人工智能,最经典的教材,就是这本了:

但是,这本书是一个大部头,细细啃一遍太花时间了。我建议配合一个视频课程看。比如,斯坦福大学的 CS221: Artificial Intelligence: Principles and Techniques


传送门:
Artificial Intelligence: Principles and Techniques
或者,EdX 上有一门课程,我学过,是以这本书为纲的,我觉得挺不错的。可以免费试听。


传送门:
Artificial Intelligence (AI)<hr/>第三年:机器学习
现在,是时候深入学习当下人工智能领域最主流的方法:机器学习和深度学习了。

1. 机器学习 + 深度学习
机器学习领域最著名的课程,就是斯坦福大学的 CS229 了。Andrew Ng 在 Coursera 上大名鼎鼎的《机器学习》课程,就是这门 CS 229 的简化。
斯坦福大学的 CS 229,比 Coursera 上的课程更加深入,内容也更丰富。不过现在,已经不是 Andrew Ng 讲了。


传送门:
CS229: Machine Learning
当然,说到了 Andrew Ng,就要说说他在 Coursera 上的一系列课程,在这个阶段都可以看一看。
最著名的当属 Machine Learning。这名课程的 logo 使用的这个小机器人,都快成机器学习领域的吉祥物了。


传送门:
https://www.coursera.org/learn/machine-learning?
Andrew Ng 后来创办了 deeplearning.ai 后,在 Coursera 上开设了一个深度学习的系列课程,也值得学习。 (虽然使用的 tf 版本有点儿老。)


传送门:
https://www.coursera.org/specializations/deep-learning
对于书籍,我推荐《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems


这本书国内有引进,但是国内引进的是第一版,现在国外最新版本已经是第二版了。

不过这本书偏实战。如果对偏理论感兴趣的同学,当然就推荐西瓜书啦。
最近,周志华老师还出了一本书,叫《机器学习理论导引》,豆瓣评分也颇高,相信也不错。

2. 数据科学基础
其实,数据科学和基础的机器学习算法的应用有很多重合的地方。在这里,想强调一点,对于使用 Python 做机器学习,有一些基础的库需要大家熟练了解,主要就是 numpy,pandas,包括大家如果做可视化的话,需要使用 matplotlib。对于这些内容的学习,推荐一本书:Python for Data Analysis


这本书国内有引进:
<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1259366401271730176">
3. 凸优化
学习了机器学习,大家就会知道,大多数机器学习方法都是要求解一个最优函数。其中就需要的一个相对比较专门的数学基础:凸优化。
关于凸优化,斯坦福大学的 CS364a 是这方面的入门课程。另外,课程中也推荐了一本教材。


传送门:
EE364a: Convex Optimization I
4. 概率图模型
概率图模型也是深入理解很多人工智能方法的利器,在图像识别,自然语言处理领域都有非常多的应用。我研究生时期的毕业课题,是做虚拟动作识别,也需要使用概率图模型。
关于概率图模型,斯坦福大学有一门非常经典的课程 CS 228: Probabilistic Graphical Models


传送门:
CS 228 - Probabilistic Graphical Models
在 Coursera 上也有一个概率图模型的系列课程,是斯坦福的这门课程的简化版本。


传送门:
https://www.coursera.org/specializations/probabilistic-graphical-models
5. 数据挖掘
数据挖掘主要是对大规模数据进行处理的。在数据的聚类分析,大规模的监督学习,包括推荐系统等领域,都有广泛应用。
对于数据挖掘,推荐斯坦福大学的 CS246: Mining Massive Data Sets


传送门:
CS246 | Home<hr/>第四年:专有领域学习
机器学习方法是领域相关的。在不同的领域,有很多专有的方法,包括专门的研究对象,需要进一步学习。
学到这里,相信大家已经有了相当的基础,可以挑选自己喜欢的方向,去做专门的学习了。

1. 卷积神经网络和计算机视觉
计算机视觉近乎是现在人工智能被应用最广泛的领域了,从人脸识别到 OCR,从无人驾驶到各种工业机器人的智能系统。
对于人工智能在视觉领域的应用,最著名的课程,应该就是华人科学家李飞飞在斯坦福大学的课程了。CS231n Convolutional Neural Networks for Visual Recognition


传送门:
CS231n: Convolutional Neural Networks for Visual Recognition
2. 自然语言处理
当下人工智能另外一个应用非常广泛的应用领域,就是自然语言处理了。
这方面的经典课程,我推荐斯坦福大学的 CS224n: Natural Language Processing with Deep Learning


传送门:http://web.stanford.edu/class/cs224n/
Natural Language Processing with Deep Learning
3. 机器学习在金融领域的应用
人工智能在金融领域的应用也是一个重要的趋势。但是通常,在计算机专业中,不是被特别强调。毕竟大多数计算机专业的学生还是要去 IT 大厂,而不是华尔街。
但是因为有很多同学对人工智能在金融领域的应用感兴趣,在这里也提一句。我在我的《开源分享第一期》,就分享了一本书,是公认的机器学习在金融领域应用的宝典。感兴趣的同学可以参考:


据我所知,这本书暂时还没有中文版。

4. 机器学习在生物医学医药领域的应用
同样,机器学习在医学医药领域也有了越来越多的应用。只不过通常计算机专业的同学不很了解这方面。而是相反的,很多医学医药领域的人,会来学习人工智能的知识,进而应用在自己的领域,这种情况更多一些。
关于生物医学医药领域,整体我还是很看好的。虽然不知道爆炸的时间是什么时候,但我相信有着光明的未来。
而且,这个领域和计算机专业有着越来越多的交集,我之前在公众号还写过一篇文章:《算法不好的工程师不是优秀的生物学家》
在这方面,Andrew Ng 的 deeplearning.ai 在 Coursera 上也开设了一个系列课程,叫 Ai for Medicine,感兴趣的同学可以去了解一下。


传送门:
https://www.coursera.org/specializations/ai-for-medicine
5. Kaggle
当然了,学习到这里,大家已经可以(其实早就可以了)去参加 Kaggle 的竞赛了。在 Kaggle 上,会有大量真实的数据供大家实验,让大家尝试解决“真实的问题”。虽然在这类平台上竞技,其实和解决真实的问题还是有差距,但也比使用虚拟的数据,或者仅仅是学习原理,强太多。
同时,Kaggle 也绝不仅仅只是一个竞赛平台,更是一个非常好的学习平台,或者说是机器学习相关的垂直交流平台。Kaggle 上大部分任务都有相当多的公开的 notebook,供大家交流学习。仔细研究的话,相信每个人都能从中受到很多启发。
当然了,如果此时,大家有机会,能到真正的业界去参与真实的项目,那就更赞了。
<hr/>好啦。如果你真的想认真学习人工智能,相信这篇文章,为你提供了一个很好的路线。
所有的资源都在这里了,就差投入时间精力好好学习了:)
大家加油!

P.S.
这篇文章的内容已经放在 github 上做长期的资源更新维护。欢迎大家提 issue 推荐更多相关资源,也欢迎来点赞啊!:)
liuyubobobo/ai-learning-roadmap
更多有意思的技术文章,大家可以关注我的公众号:【是不是很酷】:)

fortunatee 发表于 2023-11-14 14:39:45|来自:欧洲和中东地区 | 显示全部楼层
安利一本在线学习方向、非常有趣但对数学基础要求较高的书籍~《Prediction, Learning, and Games》,中文: 《预测,学习和游戏》。
...提防数学家以及所有虚假的预言家。数学家已经与魔鬼立约,使精神变暗,将人限制在地狱的束缚中,已经存在危险。”
非常粗糙地翻译下这本书的大致内容:
本书对预测“个体序列”的问题进行了首次全面的处理。与标准的统计方法进行预测不同,单个序列的预测不会对数据生成机制施加任何概率假设。但是,可以构建对所有可能的序列都适用的预测算法,因为它们的性能始终与给定参考类别中的最佳预测策略几乎一样好。
中心主题是“使用专家建议进行预测”的模型,该模型是一个通用框架,可以在其中发布和讨论许多相关问题。重复玩游戏,自适应数据压缩,在股票市场上的顺序投资,顺序模式分析以及其他几个问题,被视为专家框架的实例,并从通常显示出新的和有趣的联系的非随机观点进行了分析。以数学上精确的方式描述了新旧的预测方法,目的是表征它们的理论局限性和可能性。(谷歌翻译)
机器学习与优化前沿资料分享群,满200的话拉您进2群,加我微信 jjnuxjp5x

目录

前言
1引言
2根据专家建议进行预测
  2.1加权平均预测
  2.2最优界限
  2.3随时间推移均匀保持的边界
  2.4小损失的改进
  2.5预测者使用损失的梯度
  2.6比例损失和签约游戏
  2.7多线性预测器
  2.8签约游戏的指数预报器
  2.9可模拟的专家
  2.10 Minimax后悔
  2.11打折后悔
  2.12参考书目
  2.13练习
3具体损失的严格界限
  3.1引言
  3.2跟随最佳专家
  3.3凹凹损失函数
  3.4贪婪的预报员
  3.5汇总预报器
  3.6某些损失的混合性
  3.7一般下限
  3.8参考书目
  3.9练习
4随机预测
  4.1引言
  4.2加权平均预报员
  4.3跟随被干扰的领导者
  4.4内部遗憾
  4.5校准
  4.6广义遗憾
  4.7使用检查规则进行校准
  4.8参考书目
  4.9练习
5大类专家的高效预报员
  5.1简介
  5.2跟踪最佳专家
  5.3树木专家
  5.4最短路径问题
  5.5跟踪许多动作中的最佳动作
  5.6参考书目
  5.7练习
6反馈有限的预测
  6.1简介
  6.2标签有效预测
  6.3下限
  6.4部分监控
  6.5局部监测的总预报员
  6.6汉南一致性和部分监测
  6.7多臂匪徒问题
  6.8改进的强盗策略
  6.9土匪问题的下界
  6.10如何选择最佳动作
  6.11参考书目
  6.12练习
7预测和玩游戏
  7.1游戏与平衡
  7.2极小极大定理
  7.3重复的两人零和游戏
  7.4相关平衡和内在遗憾
  7.5未知游戏:游戏理论上的强盗
  7.6校准和相关平衡
  7.7布莱克韦尔可接近性定理
  7.8基于潜力的可及性
  7.9收敛到纳什均衡
  7.10未知游戏中的收敛
  7.11对抗有反应的对手
  7.12参考书目
  7.13练习
8绝对损失
  8.1可模拟的专家
  8.2可模拟专家的最佳算法
  8.3静态专家
  8.4一个简单的例子
  8.5静态专家类别的界限
  8.6普通班的界限
  8.7参考书目
  8.8练习
9对数损失
  9.1顺序概率分配
  9.2混合预报员
  9.3赌博和数据压缩
  9.4 minimax最佳预测器
  9.5例子
  9.6拉普拉斯混合物
  9.7精炼混合物预测器
  9.8大多数序列的下限
  9.9具有辅助信息的预测
  9.10一般上限
  9.11其他示例
  9.12参考书目
  9.13练习
10顺序投资
  10.1投资组合选择
  10.2最小最大财富比率
  10.3预测与投资
  10.4通用投资组合
  10.5 EG投资策略
  10.6有附带信息的投资
  10.7参考书目
  10.8练习
11线性模式识别
  11.1附带信息的预测
  11.2布雷格曼分歧
  11.3基于势的梯度下降
  11.4传递函数
  11.5使用布雷格曼投影的预报员
  11.6时变电位
  11.7椭圆电位
  11.8非线性预报器
  11.9下界
  11.10混合物预报员
  11.11参考书目
  11.12练习
12线性分类
  12.1零一损失
  12.2铰链损耗
  12.3最大保证金分类器
  12.4标签有效分类器
  12.5基于内核的分类器
  12.6参考书目
  12.7练习
13附录
  13.1概率论中的不等式
    13.1.1霍夫丁不等式
    13.1.2伯恩斯坦不等式
    13.1.3 Hoeffding-Azuma不等式及相关结果
    13.1.4 Khinchine不等式
    13.1.5 Slud不等式
    13.1.6一个简单的极限定理
    13.1.7定理证明8.3
    13.1.8 Rademacher平均值
    13.1.9 Beta分布
  13.2基本信息论
  13.3分类基础
参考书目
作者索引
djw7612yh 发表于 2023-11-14 14:40:06|来自:欧洲和中东地区 | 显示全部楼层

机器学习入门书单[1]

版权声明:已获得原作者 @微调 授权。
本回答在 如何用3个月零基础入门「机器学习」文章基础上编辑而成,
关于机器学习入门路线,建议移步原文进行学习。

第一阶段:基础入门(3-6个月)(推荐1门课程和2本书)

入门的第一步是学习一些经典课程并配套经典书籍,一般来说这个过程在半年之内比较合适。在这个部分介绍的课程和书籍都属于难度非常低的,对数学和编程都没什么太大的要求。

  • 吴恩达Cousera机器学习课程
Andrew Ng的机器学习课程(Machine Learning | Coursera)是很多人的启蒙课程,难度适中且完全免费。Coursera上已有五万余人给出了评分,平均得分4.9分,满分5分。

2. Python机器学习 & Introduction to Statistical Learning with R
在学习吴恩达的在线课程时,推荐同时阅读相关的机器学习书籍补充理论知识

  • Introduction to Statistical Learning with R(ISL)
The  Element of Statistical Learning (ESL)  是频率学派的统计学习“圣经”。
而 Introduction to Statistical Learning with R(ISL)可以满足更广大阅读人群;ISL是ESL的入门版,不仅大量的去除了繁复的数学推导,还加入了R编程的部分,方便大家可以尽快上手。
这本书是我 @微调 推荐书单第一名:ISL的电子版是免费的:点击下载
更多介绍:带你读机器学习经典(一): An Introduction to Statistical Learning (Chapter 1&2)

  • Python机器学习(作者 Sebastian Raschka)
这本书去掉了大量的数学推导的部分,仅保留了机器学习的核心应用。阅读本书可以快速对如何使用Python机器学习框架Sklearn有一个基本的了解,可以很快上手开始工作。
本书涉及的内容很广泛,虽然只有400多页,但内容涉及了数据预处理(Data Preprocessing), 维度压缩和核函数(Dimension Reduction & Kernel),评估方法如交叉验证,集成学习,情感分析,聚类,甚至还包括了神经网络和Theano。
更多介绍:带你读机器学习经典(三): Python机器学习(Chapter 1&2)。
特别推荐最近新出的一本Python机器学习类书籍:《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition》。
3. 周志华《机器学习》
周志华老师的《机器学习》也被大家亲切的叫做“西瓜书”。虽然只有几百页,但内容涵盖比较广泛。然而和其他人的看法不同,建议把西瓜书作为参考书而不是主力阅读书
西瓜书因为篇幅的限制,涵盖了很多的内容但无法详细的展开讲,对于初学者自学来说实际阅读难度很大。这本书更适合作为学校的教材或者中阶读者自学使用,入门时学习这本书籍难度稍微偏高了一些。
个人建议的用法是在学习网课和阅读ISL遇到疑惑时可以参考西瓜书的相关章节,但入门阶段没有必要一章一章的阅读,建议在这个阶段只阅读前十章即可。

注:开源组织 @Datawhale 在西瓜书的基础上,对书中的较难理解的公式进行解析和推导,整理为 pumpkin book(南瓜书)。也可作为学习西瓜书的参考资料。
datawhalechina/pumpkin-book
第二阶段:进阶学习(3-6个月)(推荐1本书)

在这个阶段,你已经对机器学习有了基本的了解。如果你认真的阅读了ISL并上完了吴恩达的课程,我相信你已经在理论上明白了什么是线性回归,什么是数据压缩,对特征工程以及简单的回归/预测问题有了理论上的基础。这个时候最重要的就是进行实践!
1. Kaggle挑战赛/练习
Kaggle(Your Home for Data Science)在数据分析领域大名鼎鼎,甚至可以说是数据分析第一社区。
Kaggle上有很多很好的数据集和挑战赛,你可以尝试这些挑战取得名次,甚至拿到奖金,对于将来找工作也非常有帮助。而且Kaggle的另一大优势是网友会分享他们的经验和看法,你也可以提出问题让大家来帮你提出一些修正方法。
国内也有类似的平台,比如天池大数据竞赛,其他类似的平台还包括DataCastle。
使用Kaggle的目的主要是将技能落在实处,防止练就一身屠龙之技。机器学习最大的幻觉就是觉得自己什么都懂了,但等到真的使用时发现并不奏效,而Kaggle是一个低成本的应用机器学习的机会。

2. Sklearn文档学习
Sklearn(scikit-learn: machine learning in Python)是 Python 上最流行的机器学习/数据科学工具包,上文介绍的Python  Machine  Learning书中就大量使用 Sklearn 的API。
和使用Kaggle的目的一致,学习的Sklearn的文档也是一种实践过程。比较推荐的方法是把主流机器学习模型Sklearn中的例子都看一遍。
Sklearn的文档是少数写的跟教程一样的技术文档,很具有阅读价值。举个简单的例子,假设你想学习Python中使用逻辑回归,就可以参考: Logistic Regression 3-class Classifier
Sklearn的文档不仅提供了练习数据、sklearn的相关代码实例,还提供了可视化图。

3. 周志华《机器学习》
这本书是值得常常翻看的一本书。
在 kaggle 挑战和阅读 Sklearn 文档的过程中你还会时不时的遇到一些新的名词,比如流形学习(manifold learning)等。这个时候你会发现西瓜书真的是一本中级阶段大而全的书籍:)
第三阶段(可选*):深度学习(3-6个月) (推荐1门课程和1本书)

因为深度学习是当下的热点,很多公司都在寻找深度学习人才。虽然深度学习只是机器学习的一个子集,但有兴趣朝这个方向发展的朋友可以在完成以上学习后单独学习一下深度学习。
1. 吴恩达深度学习课程
吴恩达通过Deeplearning.ai和Coursera平台推出了最新系列的五门深度学习课程(deeplearning.ai)。
有条件的朋友可以通过Coursera学习获得证书,最近网易云课堂也上线了这门课的翻译版。如果想要上其中的课程,需要先注册报名深度学习工程师微专业,之后就可以分别点开每门课单独进行学习。
更多关于网易云课堂上深度学习课程的介绍可以看:如何评价网易云课堂上线的吴恩达Deep Learning课程?

2. Deep Learning -  by Ian GoodFellow
深度学习这本书是由当下深度学习领域的几位领军人物所著,包含三大巨头之一的 Bengio,还有教父 Hinton 来作序推荐。这本书的中文本翻译由张志华教授团队负责,在 github 上免费放出了翻译版本。
英文版:Deep Learning
中文版:exacity/deeplearningbook-chinese
这本书的阅读建议:

  • 为了补充基础可以阅读第1-5章其中也包含了一些数学知识
  • 只关注主流神经网络知识可以阅读6-10章,介绍了DNN/CNN/RNN
  • 需要进一步了解一些调参和应用技巧,推荐阅读11和12章
第13-20章为进阶章节,在入门阶段没有必要阅读。其实比较实际的做法是吴恩达的课程讲到什么概念,你到这本书里面可以阅读一些深入的理论进行概念加深,按章节阅读还是比较耗时耗力的。
第四阶段:深入研究(推荐2本书)

恭喜你!如果你已经完成了上面的计划表,代表你已经有了相当的机器学习能力。这个阶段,最重要的就是不要贪多嚼不烂。如果你浏览知乎,会发现大家都说你必须读《Elements of Statistical Learning》(ESL), 《Machine Learning:A Probabilistic Perspective》(MLAPP)之类的大部头。我承认阅读这样的书会有帮助,但在你有了一定的基础知识后,相信你已经知道自己需要接着做什么了也有了志同道合的朋友,我希望把选择权交还给你,而不是继续推荐成堆的课程和书籍。
当然,如果你希望继续深入的话,中文可以继续阅读周志华老师的《机器学习》和李航老师的《统计学习方法》,英文可以入手《Elements of Statistical Learning》。在这个阶段,重点要形成成体系的知识脉络,切记贪多嚼不烂,切记!
从阅读论文角度来说,订阅Arxiv,关注机器学习的顶级会议,如ICML/NIPS/KDD等,相关的方法在知乎上可以很容易搜索到,不在此赘述。
<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1193879596041482240">注: @黄海广 黄海广博士对《统计学习方法》一书中的算法,进行了 python 代码的实现,可作为补充学习资料。
fengdu78/lihang-code

这篇回答中所推荐的书籍和课程都相对比较经典,同时紧跟时代潮流。
入门阶段我推荐了1门课程和2本书,进阶阶段推荐了1本书,深度学习推荐了1门课程一本书,高级阶段推荐了2本额外书籍。
祝你学习愉快,学有所得~
zenger 发表于 2023-11-14 14:40:59|来自:欧洲和中东地区 | 显示全部楼层
最近,一本名为Foundations of Machine Learning(《机器学习基础》)的课在Reddit上热度飙升至300,里面可谓内容丰富。
不仅有500多页的课程PDF可以下载,并且还有13章的PPT也可以获取。
有Reddit网友评论,这部教材足够扎实、内容足够基础,学机器学习理论,熟读这本书就足够了。




500页干货里都有啥

这本书是由纽约大学计算机科学教授Mehryar Mohri、Afshin Rostamizadeh和Ameet Talwalkar共同编写的,2012年曾经出版了第一版,这一版在此前基础上进行了内容的完善。
而且原价30多美元的书,当前也免费开放了。
全书是对机器学习的一般性知识介绍,也是不少大学的研究生教材,侧重于算法的分析和理论
书中的内容基本上涵盖了机器学习当前阶段的热门基础概念,同时还附上了算法论证所需的理论基础和工具。
先总体来看,这本书分为17个章节:

  • 简介
  • PAC学习框架
  • Rademacher复杂性和VC维(Vapnic-Chervonenkis Dimension)
  • 模型选择
  • 支持向量机
  • 核理论
  • Boosting家族
  • 在线学习
  • 多级分类
  • 排序
  • 回归
  • 最大熵模型
  • 条件最大熵模型
  • 算法稳定
  • 降维
  • 学习自动机和语言
  • 强化学习
从每一个章节的设置可以看出这份教材设置的非常细致,将机器学习中的基础概念拆分开来讲,想深入了解吃透深度学习的基础,按这个目录来学也是个不错的选择。
再来看具体内容。
因为这是套研究生课程,因此需要比较扎实的高数基础,学习之前需要先恶补一下数学基础,因为里面以数学推理居多。
比如第四章模型选择,又细分成了9个章节,比如估计和近似误差、经验风险最小化、结构风险最小化、交叉验证、n次交叉验证等。
每一个知识点几乎都有相关的数学论证公式:




以及严密的推理过程:




每一章的结尾也附上了相关课后练习,也是以理论论证为主:




对于这样一份门槛较高的教材,网友给出了比较高的评价:
网友johnnymo1表示,看起来这里面有很多我一直寻找的东西,包含了相当严谨的内容。
网友needlzor表示,不需要号称“实用的机器学习课程”和“用高中数学建立你的神经网络”了,很高兴看到这种理论书更新。
在全民AI的热潮下,更需要真正稳抓稳打夯实基础,这套书还是个不错的选择。
传送门

教材介绍地址(可PDF、PPT下载至本地):
https://cs.nyu.edu/~mohri/mlbook/




在线预览地址:
https://mitpress.ublish.com/ereader/7093/?preview=#page/2

量子位 · QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态
量子位欢迎大家关注我们,以及订阅我们的知乎专栏
vfhpith 发表于 2023-11-14 14:41:58|来自:欧洲和中东地区 | 显示全部楼层
1.《统计学习方法》李航



《统计学习方法》,作者李航,这本书全面系统地介绍了统计学习的主要方法,特别是监督学习方法,包括感知机、k 近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与支持向量机、提升方法、EM 算法、隐马尔可夫模型和条件随机场等。除第 1 章概论和最后一章总结外,每章介绍一种方法。叙述从具体问题或实例入手,由浅入深,阐明思路,给出必要的数学推导,便于读者掌握统计学习方法的实质,学会运用。
李航 日本京都大学电气工程系毕业,日本东京大学计算机科学博士。曾任职于日本NEC公司中央研究所,微软亚洲研究院高级研究员及主任研究员,现任华为诺亚方舟实验室首席科学家。北京大学、南开大学、西安交通大学客座教授。研究方向包括信息检索、自然语言处理、统计机器学习及数据挖掘。
《统计学习方法》可以说是机器学习的入门宝典,许多机器学习培训班、互联网企业的面试、笔试题目,很多都参考这本书。
《统计学习方法》官方没有提供代码实现,github上有个项目,将《统计学习方法》中每一章的算法用python实现一遍,得到了李航老师的认可。


WenDesi/lihang_book_algorithm建议配套《统计学习方法》书籍,边看书边手推公式然后对着GitHub一边敲代码,受益会很大。

2.《机器学习》西瓜书 周志华



周志华老师的《机器学习》,自2016年1月底出版以来,首印5000册一周售罄,并在8个月内重印9次,累计72000册。先后登上了亚马逊,京东,当当网等的计算机类畅销书榜首。
西瓜书身边学习机器学习的小伙伴可谓是人手一本。
针对西瓜书部分公式推倒太难的问题,GitHub上有个开源项目,由开源组织Datawhale发起,得到了周志华老师的认同,叫做pumpkin-book《南瓜书》


周志华老师的《机器学习》(西瓜书)是机器学习领域的经典入门教材之一,周老师为了使尽可能多的读者通过西瓜书对机器学习有所了解, 所以在书中对部分公式的推导细节没有详述,但是这对那些想深究公式推导细节的读者来说可能“不太友好”,本书旨在对西瓜书里比较难理解的公式加以解析,以及对部分公式补充具体的推导细节
《南瓜书》
datawhalechina/pumpkin-book

3.《机器学习实战》Peter Harrington



本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。
Peter Harrington
拥有电气工程学士和硕士学位,他曾经在美国加州和中国的英特尔公司工作7年。Peter拥有5项美国专利,在三种学术期刊上发表过文章。他现在是Zillabyte公司的首席科学家,在加入该公司之前,他曾担任2年的机器学习软件顾问。
数据以及参考code可在官网下载
https://www.manning.com/books/machine-learning-in-action每一章都用代码实现了一部分机器学习的算法,对理解算法的原理很有帮助。
4.《深度学习》




AI圣经!深度学习领域奠基性的经典畅销书!

深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。因为计算机能够从经验中获取知识,所以不需要人类来形式化地定义计算机需要的所有知识。层次概念允许计算机通过构造简单的概念来学习复杂的概念,而这些分层的图结构将具有很深的层次。本书会介绍深度学习领域的许多主题。
本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。


相关书籍链接集合,马上开始学习吧~!时光易逝,加油吧少年~

<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1320478230538330112">
Svetloap 发表于 2023-11-14 18:40:29|来自:欧洲和中东地区 | 显示全部楼层

How to change my password jinriwenda.com ??

djw7612yh ??? 2023-11-14 14:40
????????[1]

????:?????? @?? ???

Is there a moderator, do you need your help changing my password?  
What am I doing wrong?  
Need your help.
Yours faithfully.
Igorosk 发表于 2023-11-15 19:48:34|来自:欧洲和中东地区 | 显示全部楼层

Как создать новую тему jinriwenda.com ??

fortunatee ??? 2023-11-14 14:39
????????????????????????????~?Prediction, Learning, and Games?,??: ...

Не могу ответить в существующую тему, что делать ??  
Может я делаю что то не так?  
Нужна Ваша помощь.
Спасибо.
Svetlanajxg 发表于 2023-11-15 22:58:56|来自:欧洲和中东地区 | 显示全部楼层

Как связаться с администратором jinriwenda.com ??

sakul ??? 2023-11-14 14:38
????????????????????:
??????????
??,??????????? github  ...

Где модератор ??  
Речь идет о рекламе на вашем сайте.  
Спасибо.

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则