有很多关于机器学习的好书,但大多数人买错了。
我最常被问到的问题是,初学者应该买什么书来入门机器学习。我的回答是:“不要买教科书”。
在这篇文章中,我想介绍几本适合初学者的重点书籍,如果你刚开始学习,你应该购买(并阅读!)这些书。
我不是在评论这些书,如果你想要评论,请点击链接阅读亚马逊评论。我将列出我认为每本书都适合初学者阅读的一些理由。
《数据挖掘:实用机器学习工具与技术》(Data Mining: Practical Machine Learning Tools and Techniques)
我开始接触这本书,它在我那个时代给我留下了深刻的印象。
- 应用机器学习导论(忽略标题中的数据挖掘字样)。
- 关注算法以及应用机器学习的过程。
- 有100页介绍了名为Weka的应用机器学习的配套平台。
如果你想专注于过程并使用成熟的图形工具,我强烈推荐这本书。
机器学习算法视角
顾名思义,这本书侧重于机器学习算法。
- 关注机器学习算法
- 少量数学,但有大量Python示例
- 章节清晰,包含参考文献和进一步练习
如果你是程序员,并且喜欢Python,我强烈推荐你入手这本书,并深入研究每一个示例。
《机器学习实战》(Machine Learning in Action)
另一本非常实用的书籍,重点关注算法。
- 关注机器学习算法
- Python(NumPy)中的实例讲解
- 大量阐述而非数学
有很多示例代码,有些地方代码量很大,所以我建议你在看这本书之前就应该熟练掌握Python。
编程集智
这本书非常受欢迎,面向初学者。
- Python 中的实例讲解
- 与网络相关的较大示例(而非小数据集)
- 大量的阐述和章节末的练习
在这三本以Python为中心的书中,我推荐这本。它比其他两本更广泛、更具连贯性。
《黑客的机器学习》(Machine Learning for Hackers)
机器学习不仅仅是算法,它还涉及大量的过程和分析工作。
- 花费更多时间在过程和分析上
- R中的实际问题和示例
- 包含R语言入门
第二章的数据分析示例非常棒。这是在将算法应用于数据集之前,如何思考和处理数据集的一个罕见的例子。仅凭这个例子,这本书就值回票价了。
应用预测建模
另一本R语言书籍,这本书假定你已具备R语言的先验知识,如果你有,这本书就非常棒。
- 过程的讲解,但侧重于算法及其用法
- R中的实例讲解
- 数学内容较少
这是一本大部头的书,但如果你准备好了,我强烈推荐它。我建议先阅读《机器学习新手指南》来热身。
通用技巧
充分利用你阅读的每一本书。如果你花了钱购买它,那就花时间慢慢阅读,真正学到东西。
- 选择一本书,从头到尾读完。
- 带着意图阅读,不要跳读。
- 做笔记。
- 尝试练习,即使只是运行解决方案。
我还想推荐这些免费的合法书籍
统计学习要素 数据挖掘、推理与预测
Hastie, Tibshirani, Friedman
http://web.stanford.edu/~hastie/local.ftp/Springer/OLD/ESLII_print4.pdf
统计学习导论及R语言应用 第4版
http://www-bcf.usc.edu/~gareth/ISL/
和
http://www.alsharif.info/#!iom530/c21o7
http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Fourth%20Printing.pdf
我无法对质量做出精确的反馈,因为我自己也是新手,但它们看起来相当扎实。
第一个链接似乎已失效。
对我来说是有效的
https://www.amazon.com/dp/0123748569?tag=inspiredalgor-20
这个链接指向《统计学习要素 数据挖掘、推理与预测》
Hastie, Tibshirani, Friedman
https://github.com/tpn/pdfs/blob/master/The%20Elements%20of%20Statistical%20Learning%20-%20Data%20Mining,%20Inference%20and%20Prediction%20-%202nd%20Edition%20(ESLII_print4).pdf
感谢大家,特别是@Lawrence提供的优质资源。🙂
感谢这些信息..
很高兴它有帮助!
非常感谢 Jason,
真的很有帮助,我实际上选择了《机器学习新手指南》这本书,我从头到尾读并应用了里面的所有内容,然后我坐下来,想将学到的知识应用到一个实际问题中;但由于遇到了困难,我再次尝试谷歌搜索一些额外的课程/书籍给初学者,但看到很多让我失望的建议——对我而言——关于学习机器学习的先决条件。特别是有些人建议阅读一些关于多元微积分、线性代数、统计学、概率论的书籍……我认为它们很重要,但我的问题是:
1. 你推荐的先决条件是什么,以及在每个领域一个人需要达到什么水平?我可以一直学习统计学!!
2. 为什么没有一本单一的指南,能从零基础到某个水平,让你能够突破机器学习的瓶颈。
我不知道我是否表达清楚了!
再次感谢
Awad
我采取了一种非常不同的方法。一种自上而下、注重结果的方法,我不建议从理论开始,而是从“取得结果”开始。
在这里了解更多
https://machinelearning.org.cn/start-here/#getstarted
特别是这里
https://machinelearning.org.cn/machine-learning-for-programmers/
我也推荐这本书:Aurelion Geron – Scikit-learn 和 TensorFlow 实战机器学习。
这本书是初学者想要专注于应用(实用)机器学习而不是深入研究硬核数学的宝藏。
这本书涵盖了 TensorFlow 而非 Keras 进行 DNN,这有一个更高的学习曲线;
尽管这本书的理论解释方式,以及与实际和可应用的代码策略相结合,使得这本书物超所值。
此外,虽然有些书是以实用角度编写的,但它们也存在一些缺点,例如:使用 Python 2,或使用非主流/已废弃/困难的库,甚至不使用库而直接实现最先进的概念,比如在 Numpy 中。
在这些方面,这本书通过关注最重要的内容而闪耀,就像这个博客一样。
我推荐 Keras 给初学者和爱好者,而 TensorFlow 推荐给希望实现研究人员最新设计的算法或构建跨机器可扩展解决方案的中级和高级实践者。
Jason,请告诉我你对我关于 TensorFlow 和 Keras 的看法,以及我对它们的看法。
附注:有一些拼写错误
感谢您的建议。
很棒的建议,Jason。非常感谢您整理了这份清单。
在视频教程和书籍之间,你更喜欢哪个?为什么?我很想知道!提前感谢您的时间和关注!
我喜欢深入研究一个主题。
我想读所有的书,相关的论文,编写代码,然后写我自己的书/论文来证明我真的理解了。