Skip to main content

2022新年荐书!最值得一读的8部机器学习教程(PDF下载)

 

 

新的一年,是不是感觉时间太少,要学的东西太多了?

 

在过去的几年里,有不少讲深度学习的书籍。今天给小伙伴们推荐8本关于AI和机器学习的经典书籍,大部分都有完整版PDF下载。

 

这8本书从内容上看,可以分为四类:

 

  • 机器和深度学习基础知识(适合初学者)

  • 机器学习框架:Pytorch、Tensorflow 和 Keras

  • MLOP:云、生产和深度学习工程

  • 深度学习理论

 

机器学习和深度学习基础


Andriy Burkov:The Hundred-Page Machine Learning Book


Image

 

如果你是新手,看这本书就很适合。如果是老手,可能会觉得这本书很无聊,讲的都是你已经知道的东西。

 

前两章重点介绍机器学习公式、符号和关键术语。随后,Burkov 分析了最重要的 ML 算法,如回归、决策树、支持向量机和 k-最近邻。


第 4 章是关于梯度下降和学习过程的,第 5 章是最佳实践的集合;即特征工程、正则化、超参数调整等。第 6 章专门介绍神经网络。

 

之后,Burkov 讨论了如何使用上述方法解决特定问题。书中解释了常见的机器学习挑战、陷阱以及有针对性的解决方案。最后讲到了无监督、自监督和推荐系统等内容。

 

PDF:

https://pdf.zlibcdn.com/dtoken/4d82356f2bb44f73f4a94a7c489f6b4f/The_hundred-page_machine_learning_book_by_Burkov,__3710356_(z-lib.org).pdf

 

Meor Amer:A visual introduction to Deep Learning


Image

 

这本书非常适合喜欢通过直观视觉学习深度学习的人。

 

总的来说,我们发现这本书很容易理解,因为书中的图和文本之间处于很好的平衡。上一本100多页的书相比,这本书涉及的数学更少,插图更多。

 

书中在解释反向传播时非常关注细节,不会让读者迷失在数学中。不可否认,反向传播真的很难教,作者Meor在这方面做得很好。此外,书中还对混淆矩阵和 F1 分数等性能指标进行了彻底分析。

 

但是,这本书让编程人员可能不大方便。这本书讲的是理论的基本部分,但把代码留给读者去尝试。由于这本书的介绍比较笼统,理论和编程实践之间可能会有差距。

 

相关资源:https://www.kdimensions.com/l/visualdl

 

机器学习框架:Pytorch、Tensorflow、Keras


Eli Stevens, Luca Antiga, and Thomas Viehmann:Deep Learning with PyTorch


Image

 

无论你处于什么阶段,要学习Pytorch大概都少不了这本书。本书分为3个部分。

 

第 1 部分:前 3 章介绍了 PyTorch 和张量操作。第 4 章从字面上描述了如何获取任何数据、视频或一行文本,并将其表示为张量,其中涵盖了医学图像、表格数据和带具体示例的文本,对于初学者,这些内容非常有价值。

 

第5、6章涵盖了使用简单神经网络(如反向传播)学习过程的所有基础知识,重点是讲如何在Pytorch 中的动手写代码。

 

第 2 部分讲的是面向现实问题的模型,包括从 3D 图像数据中检测癌症和肺结节等。这部分内容会引导读者完成整个设计和思考过程。作为机器学习建模人员,读者可以掌握需要遵循的所有必要步骤。

 

虽然我在这里有点偏见,但我喜欢这本书的这一部分,老实说,我认为这里介绍的方法可以转移到解决新问题上。

 

第 3 部分介绍了从 Pytorch 导出的模型,包括执行推理或移动设备所需的步骤。对于想要学习如何优化训练后模型,并在硬件资源有限的嵌入式设备中使用的工程师来说,这部分内容会很有帮助。

 

PDF :

https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf

 

François Chollet:Deep Learning with Python(2nd Edition)


Image

 

这本书基于 Keras 框架讲述深度学习。本书的第 2 版包含大量新增内容,强烈建议阅读第二版。

 

前 4 章为新手基础知识,如张量运算、反向传播、基本的 Keras 模块,以及聚类和回归问题。

 

第 5 章分析了优化和泛化之间的权衡以及它与训练数据的关系。这一章节解释了为什么训练后的模型会通过逼近其数据的潜在流形实现泛化,并可以通过插值对新的输入做出高质量的预测。

 

第 6 章教你如何处理一个新的机器学习项目,包括设定切合实际的目标、收集数据、打破良好的基线和部署。第 7 章说明了如何更好地理解 Keras API 和回调。

 

第 8 章和第 9 章通过利用卷积神经网络进行图像分类和图像分割,全面概述了计算机视觉中的深度学习。第 10 章侧重于使用循环神经网络处理时间序列,第 11 章介绍了用于处理文本数据的Transformer架构。

 

第12章提出了各种生成模型来生成新的文本、图像。作者对生成对抗网络 (GAN) 、变分自动编码器 (VAE) 以及对潜在空间的解释和观点很有意思。

 

最后,本书涵盖了现实世界的高级概念,例如超参数调整、模型集成、混合精度训练、多 GPU 或多 TPU 训练等。

 

PDF:

https://drive.google.com/uc?export=download&id=1czfFQr2qWRBVGmrYyg_jzv0Q_-eJl5ip

 

Laurence Moroney:AI and Machine Learning for Coders: A Programmer's Guide to Artificial Intelligence


Image

 

如果你正在找有关 Tensorflow 的完整教程,这本书可能是最佳选择。Laurence Moroney 是 Google 的首席 AI 倡导者,在 Tensorflow 及其相关库方面拥有丰富的经验。

 

本书分为两部分。第一部分关于研究机器学习应用、如何利用 Tensorflow 来开发这些应用。包括计算机视觉、自然语言处理、时间序列分析和序列模型。在这部分可以学习如下内容:

 

如何使用 Tensorflow 构建 CNN 和 RNN;如何处理文本、图像和时间序列数据;如何利用 Tensorflow 数据集进行数据处理和探索。

 

第二部分是在实际应用中使用这些模型。读者将熟悉移动或 Web 应用程序上的模型部署。主要内容包括:

 

如何使用 Tensorflow Lite 在 Android 或 iOS 中嵌入模型;如何利用 Tensoflow.js;什么是 Tensorflow 服务、如何部署模型等。

 

这本书非常实用,有很多代码段和漂亮的可视化效果。

 

PDF :

https://drive.google.com/file/d/1-WViisjDgKzvdw-AZ0CLXctiGspP84SJ/view?usp=sharing

 

MLOP:云、生产和深度学习工程


Sergios Karagianakos:Deep learning in production

 

Image

 

本书采用动手实践的方法来学习 MLOps。这本书的前提是,读者从一个深度学习模型开始,努力构建一个可扩展的 Web 应用程序。书中包含大量代码段和可视化效果,对于软件背景有限的机器学习研究人员和数据科学家来说,本书是个不错的资源。

 

书中各章节涉及机器学习生命周期的不同阶段。在讨论了设计阶段之后,读者将熟悉如何编写可维护的深度学习代码(如 OOP、单元测试和调试)的最佳实践。第 5 章是关于构建高效的数据管道,第 6 章涉及云中的模型训练以及各种分布式训练技术。

 

接着,本书讨论服务和部署技术,同时强调 Flask、uWSGI、Nginx 和 Docker 等工具。最后两章探讨了 MLOP。


更具体地说,是讨论如何使用 Kubernetes 扩展深度学习应用程序,如何使用 Tensorflow Extended 构建端到端pipeline,以及如何利用谷歌云和 Vertex AI。

 

相关资源:

https://github.com/The-AI-Summer/Deep-Learning-In-Production

 

Andriy Burkov:Machine learning engineering


Image

 

这是本文推荐的 Burkov 的第二本书。作者在书中如何构建机器学习应用程序的设计模式和最佳实践方面建立了联系。

 

与前一本书类似,每一章都侧重于 ML 生命周期的一个单独阶段。从设计阶段开始描述了 ML 项目的挑战和优先级,然后讲到数据处理和特征工程,书中包括了常用行业术语的清晰解释,以及相应解决方案的常见陷阱。

 

训练和评估阶段分为三章,分析了如何使用正则化、超参数调节等技术提高模型的精度。还讲了关于处理分布偏移、模型校准、a/b 测试等问题。最后两章则讨论了部署策略、模型服务和维护。

 

PDF:

https://drive.google.com/uc?export=download&id=1P0h-3e5Po-gIO-eb8dtYdyHkmzlDGLCS

 

深度学习理论


Ian Goodfellow, Yoshua Bengio, Aaron Courville:Deep Learning

 

Image

 

最后,深度学习理论部分只有这一本书(花书)。

 

为什么?因为如果你开始一页一页地阅读这本书,你不太可能读完。

 

这本书更像是一本手册,可以对深度学习从数学的角度进行更深入的理解,获得更可靠的信息。

 

本书介绍了深度学习理论的广泛主题,建立了坚实的数学背景。书中涵盖的数学领域包括线性代数、概率论、信息论和数值计算。

 

此外本书还展示了多样化的深度学习技术,如正则化、优化算法、卷积网络、序列建模。涉及到的应用方向包括在线推荐系统、生物信息学和视频游戏等。

 

最后,本书中还讲了不少有见地的理论观点,如线性因子模型、自动编码器、表示学习、结构化概率模型、蒙特卡罗方法、分区函数、近似推理和深度生成模型等。

 

PDF:

https://polarai.cn/265.html


参考资料:
https://theaisummer.com/deep-learning-books-2022/

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into /opt/course/1/context_default_no_kubectl.sh , but without the use of k

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checking a shared sec