本文介绍了机器学习和深度学习的基本原理及其在实际应用中的应用。首先介绍了机器学习的基础知识,如分类、回归等。然后重点介绍了神经网络与深度学习的相关知识,包括使用TensorFlow和Keras进行神经网络构建和训练,以及处理序列的RNN和CNN等。最后介绍了强化学习、大规模训练和部署TensorFlow模型等方面的内容。
介绍神经网络的基本原理,包括使用TensorFlow和Keras进行神经网络构建和训练,以及处理图像和序列的CNN和RNN等。
介绍如何为TensorFlow模型提供服务,将其部署到移动设备或嵌入式设备,以及在Web页面中运行模型等。
2006 年,Geoffrey E. Hinton 等人发表了一篇论文(https://homl.info/136),展示了如何训练能够以最高的精度(>98%)来识别手写数字的深度神经网络。
他们将这种技术称为“深度学习”。
深度神经网络是我们大脑皮层的(非常)简化的模型,由一堆人工神经元层组成。
当时普遍认为训练深度神经网络是不可能的注,并且大多数研究人员在 20 世纪 90 年代后期放弃了这种想法。
这篇论文重新激发了科学界的兴趣,不久之后许多新论文证明深度学习不仅是可能的,而且取得了令人振奋的成就, 这是其他机器学习(Machine Learning ,ML) 技术无法企及的(借助于巨大的计算能力和大量的数据)。
这种热情很快扩展到机器学习的许多其他领域。
十年后,机器学习征服了整个工业界,如今它已成为高科技产品的核心,为你的网 络搜索结果排名,为智能手机的语音识别提供支持,推荐视频,甚至可能驾驶你的 汽车。
你项目中的机器学习
所以,你自然会对机器学习感到兴奋并愿意加入其中!
也许你想给你的自制机器人一个大脑,让它能识别人脸,或者学会走路。
或者你的公司可能拥有大量数据(用户日志、财务数据、生产数据、机器传感器数 据、热线统计数据、人力资源报告等),如果你知道去哪里查找,你很可能会挖掘出一些隐藏的宝藏。通过机器学习,你可以完成以下甚至更多任务(https://homl.info/usecases):
-
细分客户并为每个群体找到最佳的营销策略。
-
根据类似客户的购买情况为每个客户推荐产品。
-
检测哪些交易可能是欺诈性的。
-
预测明年的收入。
无论出于何种原因,你已经决定学习机器学习并将它应用到你的项目中。好主意!
机器学习实战:基于Scikit-Learn、Keras和TensorFlow
(原书第3版)
[法]奥雷利安·杰龙(Aurélien Géron) 著
机器学习四大名著之一
“蜥蜴书”全新升级第3版!
中文版豆瓣评分9.6
读者公认对入门和实践极其友好的机器学习书籍之一!
随着一系列的技术突破,深度学习推动了整个机器学习领域的发展。现在,即使是对这项技术几乎一无所知的程序员,也可以使用简单有效的工具来实现能够从数据中学习的程序。这本畅销书通过具体的示例、简单的理论和可用于生产环境的Python框架(Scikit-Learn、Keras和TensorFlow)来帮助你直观地理解并掌握构建智能系统所需要的概念和工具。
在本书中,你会学到一系列可以快速使用的技术,从简单的线性回归到深度神经网络。全书中大量的代码示例和练习帮助你学以致用。你只需具备编程经验即可入门。
-
使用Scikit-Learn通过端到端项目来学习机器学习基础知识。
-
探索多种模型,包括支持向量机、决策树、随机森林和集成方法。
-
-
深入研究神经网络架构,包括卷积网络、循环网络、生成对抗网络、自动编码器、扩散模型和转换器。
-
使用TensorFlow和Keras构建和训练用于计算机视觉、自然语言处理、生成模型和深度强化学习的神经网络。
-
本书分为两大部分:第一部分主要基于Scikit-Learn,介绍机器学习的基础算法;第二部分则使用TensorFlow和Keras,介绍神经网络与深度学习。此外,附录部分的内容也非常丰富,包括课后练习题解答、机器学习项目清单、SVM对偶问题、自动微分和特殊数据结构等。书中内容广博,覆盖了机器学习的各个领域,不仅介绍了传统的机器学习模型,包括支持向量机、决策树、随机森林和集成方法,还提供了使用Scikit-Learn进行机器学习的端到端训练示例。作者尤其对深度神经网络进行了深入的探讨,包括各种神经网络架构、强化学习,以及如何使用TensorFlow/Keras库来构建和训练神经网络。本书兼顾理论与实战,既适合在校学生,又适合有经验的工程师。
本书分为两部分。
第一部分涵盖以下主题:
-
什么是机器学习,它试图解决什么问题,以及其系统的主要类别和基本概念
-
典型机器学习项目中的步骤
-
通过将模型拟合到数据中进行学习
-
优化代价函数
-
处理、清洗和准备数据
-
选择和工程特征
-
选择模型并使用交叉验证调整超参数
-
机器学习的挑战,特别是欠拟合和过拟合(偏差 / 方差权衡)
-
最常见的学习算法:
线性和多项式回归、逻辑回归、k 最近邻、支持向量机、决 策树、随机森林和集成方法
-
降低训练数据的维度以对抗“维度诅咒”
-
其他无监督学习技术,包括聚类、密度估计和异常检测
第二部分涵盖以下主题:
-
什么是神经网络以及它们的作用
-
使用 TensorFlow 和 Keras 构建和训练神经网络
-
最重要的神经网络架构:
用于表格数据的前馈神经网络,用于计算机视觉的卷积网络,用于处理序列的循环网络和长短期记忆网络 (Long Short-Term Memory, LSTM)、用于自然语言处理(以及更多方面)的编码器 - 解码器和 Transformer, 以及用于生成学习的 自动编码器、生成对抗网络(Generative Adversarial Network, GAN)和扩散模型
-
训练深度神经网络的技术
-
如何使用强化学习构建可以通过反复实验学习好的策略的智能体(例如游戏中 的机器人)
-
有效地加载和预处理大量数据
-
大规模训练和部署 TensorFlow 模型
第一部分主要基于 Scikit-Learn,而第二部分使用 TensorFlow 和 Keras。
注意:
不要仓促地跳入深水区:虽然深度学习无疑是机器学习中非常令人兴奋 的领域,但你应该首先掌握基础知识。此外,大多数问题都可以使用 更简单的技术来很好地解决,例如随机森林和集成方法(在第一部分讨 论)。深度学习最适合解决图像识别、语音识别或自然语言处理等复杂问 题,它需要大量数据、计算能力和耐心(除非你可以利用预训练的神经 网络,正如你将会看到的那样)。
如果你读过第2版,那么以下是第2版和第3版之间的主要变化:
-
所有代码都已更新为最新的库版本。特别是,第3版为Scikit-Learn 引人了许多新功能(例如,特征名称的跟踪、基于直方图的梯度提升、 标签传播等),还介绍了用于超参数调整的Keras Tuner 库、用于自然语言处理的 Hugging Face的
Transforer库,以及Keras 的新的预处理和数据增强层。
-
添加了多个视觉模型(ResNeXt、DenseNet、MobileNet、CSPNet 和 EfficientNet)以及选择正确模型的指南。
-
第15章现在分析芝加哥公共汽车和铁路乘客数据而不是生成的时间序列,并介绍ARMA模型及其变体。
-
关于自然语言处理的第16章现在构建了一个英语一西班牙语的翻译模型,首先使用编码器-解码器RNN,然后使用Transformer模型。
本章还会介绍语言型,例如 Switeh Transformcr、DistBERT、T5和PaLM(带有思维链提示)。
此外,它还会介绍视觉 Transformer(ViT),概述一些基于Transformer 的视觉模型[例如数据高效图像Transformer(DeiT)、Perceiver和DINO],以及一些大型多模态模型,包括CLIP、DALL·E、Flamingo和GATO。
-
关于生成学习的第17章现在介绍扩散模型,并展示了如何从头开始实现去噪护散概率模型(Denoising Diffusion Probabilistic Model,DDPM)。
-
第 19 章从 Google Cloud Al Platlorm 迁移到 Google VerlexAl,使用分布式 KerasTuner进行大规模超参数搜索。
本章现在包括你可以在线实验的TensorFlow.js代码。
它还介绍了其他分布式训练技术,包括PipeDream和Pathways。
-
为了适应所有新内容,一些内容已移至网上,包括安装说明、内核主成分分析(Principa Component Analysis,PCA)、贝叶斯高斯混合的数学细节、TF Agents和以前的附录A(练习题答案)、附录C(支持向量机数学)和附录E(额外的神经网络架构)。
奥雷利安·杰龙
Aurélien
Géron是机器学习方面的顾问。他曾就职于Google,在2013年到2016年领导过YouTube视频分类团队。他是Wifirst公司(法国领先的无线互联网服务供应商)的创始人,并于2002年至2012年担任该公司的首席技术官。2001年,他创办Ployconseil公司(一家电信咨询公司),并任首席技术官。