内容简介
通过具体的例子、很少的理论以及两款成熟的Python框架:Scikit-Learn和TensorFlow,作者Aurélien Géron会帮助你掌握构建智能系统所需要的概念和工具。你将会学习到各种技术,从简单的线性回归及发展到深度神经网络。每章的练习有助于你运用所学到的知识,你只需要有一些编程经验就行了。
探索机器学习,尤其是神经网络
使用Scikit-Learn全程跟踪一个机器学习项目的例子
探索各种训练模型,包括:支持向量机、决策树、随机森林以及集成方法
使用TensorFlow库构建和训练神经网络
深入神经网络架构,包括卷积神经网络、循环神经网络和深度强化学习
学习可用于训练和缩放深度神经网络的技术
运用实际的代码示例,无需了解过多的机器学习理论或算法细节
作者简介
Aurélien Géron,是一名机器学习顾问。作为一名前Google职员,在2013至2016年间,他领导了YouTube视频分类团队。在2002至2012年间,他身为法国主要的无线ISP Wifirst的创始人和CTO,在2001年他还是Polyconseil的创始人和CTO,这家公司现在管理着电动汽车共享服务Autolib'。
精彩书评
“本书很好地介绍了利用神经网络解决问题的相关理论与实践。它涵盖了构建高效应用涉及的关键点以及理解新技术所需的背景知识。我向有兴趣学习实用机器学习的读者推荐这本书。”
—— Pete Warden
TensorFlow移动部门主管
目录
Preface
Part Ⅰ.The Fundamentals of Machine Learning
1. The Machine Learning Landscape
What Is Machine Learning?
Why Use Machine Learning?
Types of Machine Learning Systems
Supervised/Unsupervised Learning
Batch and Online Learning
Instance-Based Versus Model-Based Learning
Main Challenges of Machine Learning
Insufficient Quantity of Training Data
Nonrepresentative Training Data
Poor-Quality Data
Irrelevant Features
Overfitting the Training Data
Underfitting the Training Data tepping Back
Testing and Validating
Exercises
2. End-to-End Machine Learning Project
Working with Real Data
Look at the Big Picture
Frame the Problem
Select a Performance Measure
Check the Assumptions
Get the Data
Create the Workspace
Download the Data
Take a Quick Look at the Data Structure
Create a Test Set
Discover and Visualize the Data to Gain Insights
Visualizing Geographical Data
Looking for Correlations
Experimenting with Attribute Combinations
Prepare the Data for Machine Learning Algorithms
Data Cleaning
Handling Text and Categorical Attributes
Custom Transformers
Feature Scaling
Transformation Pipelines
Select and Train a Model
Training and Evaluating on the Training Set
Better Evaluation Using Cross-Validation
Fine-Tune Your Model
Grid Search
Randomized Search
Ensemble Methods
Analyze the Best Models and Their Errors
Evaluate Your System on the Test Set
Launch, Monitor, and Maintain Your System
Try It Out!
Exercises
3. Classification
MNIST
Training a Binary Classifier
Performance Measures
Measuring Accuracy Using Cross-Validation
Confusion Matrix
Precision and Recall
Precision/Recall Tradeoff
The ROC Curve
Multiclass Classification
Error Analysis
Multilabel Classification
Multioutput Classification
……
Part Ⅱ.Neural Networks and Deep Learning
A. Exercise Solutions
B. Machine Learning Project Checklist
C. SVM Dual Problem
D. Autodiff
E. Other Popular ANN Architectures
Index
精彩书摘
《Scikit-Learn与TensorFlow机器学习实用指南(影印版)》:
3.It is quite possible to speed up training of a bagging ensemble by distributing it across multiple servers, since each predictor in the ensemble is independent of the others.The same goes for pasting ensembles and Random Forests, for the same reason.However, each predictor in a boosting ensemble is built based on the previous predictor, so training is necessarily sequential, and you will not gain anything by distributing training across multiple servers.Regarding stacking ensembles, all the predictors in a given layer are independent of each other, so they can be trained in parallel on multiple servers.However, the predictors in one layer can only be trained after the predictors in the previous layer have all been trained.
4.With out-of-bag evaluation, each predictor in a bagging ensemble is evaluated using instances that it was not trained on (they were held out).This makes it pos-sible to have a fairly unbiased evaluation of the ensemble without the need for an additional validation set.Thus, you have more instances available for training, and your ensemble can perform slightly better.
5.When you are growing a tree in a Random Forest, only a random subset of the features is considered for splitting at each node.This is true as well for Extra-Trees, but they go one step further: rather than searching for the best possible thresholds, like regular Decision Trees do, they use random thresholds for each feature.This extra randomness acts like a form of regularization: if a Random Forest overfits the training data, Extra-Trees might perform better.Moreover, since Extra-Trees don't search for the best possible thresholds, they are much faster to train than Random Forests.However, they are neither faster nor slower than Random Forests when making predictions.
6.Ifyour AdaBoost ensemble underfits the training data, you can try increasing the number of estimators or reducing the regularization hyperparameters of the base estimator.You may also try slightly increasing the learning rate.
……
数字时代的智慧之钥:深度解析人工智能的奥秘与实践 我们正身处一个由数据驱动的时代,人工智能(AI)不再是科幻电影中的遥远设想,而是渗透到我们生活方方面面的强大力量。从智能手机的语音助手到自动驾驶汽车,从个性化推荐算法到精准医疗诊断,AI正以前所未有的速度改变着世界。然而,理解和驾驭这股浪潮,需要对AI的底层原理和实际应用有深入的认知。本书旨在揭示人工智能的神秘面纱,带领读者踏上探索AI核心技术与实际应用的精彩旅程。 本书不是一本简单的技术手册,而是一次关于智能本质的深度探究,一次关于算法如何赋能未来的宏大叙事。我们将从最基础的概念出发,循序渐进地剖析人工智能的演进历程、核心驱动力以及其广阔的应用前景。本书的宗旨是为那些渴望理解AI、学习AI、甚至投身AI领域的研究者、开发者、学生以及对科技充满好奇心的读者提供一份全面而深入的指南。 第一篇:人工智能的基石——理解智能的本质与发展 在这一篇中,我们将首先构建一个坚实的概念框架。人工智能的定义是什么?它与机器学习、深度学习之间又有什么样的层级关系?我们将回顾AI发展史上的里程碑事件,理解那些塑造了今日AI格局的关键思想和技术突破,例如早期基于规则的专家系统,以及后来基于统计学习的复兴。我们将探讨AI的目标,即赋予机器类人智能,并讨论实现这一目标所面临的挑战,包括认知能力、学习能力、推理能力和创造力。 智能的定义与 AI 的范畴: 我们将深入探讨“智能”这一概念的哲学和科学维度,并以此为基础,明确人工智能在计算机科学领域的定位和研究范畴。这将帮助读者建立起对AI的整体认知,理解其研究的广度和深度。 AI 的发展简史与关键转折点: 从图灵测试的提出,到“AI寒冬”的经历,再到深度学习的崛起,我们将梳理AI发展历程中的重要节点,理解每一个阶段的技术特点、优势与局限,以及推动AI复兴的关键理论与技术创新。 AI 的驱动力:数据、算法与算力: 深入分析支撑当前AI蓬勃发展的三大基石:海量数据的可用性、高效的算法模型,以及强大的计算能力。我们将解释它们如何相互促进,共同推动AI技术的指数级进步。 AI 的伦理与社会影响: 在享受AI带来的便利的同时,我们也必须正视其可能带来的伦理困境和社会挑战。我们将讨论AI的偏见问题、隐私保护、就业影响以及AI在决策中的透明度和可解释性等重要议题,引导读者思考AI的未来走向及其对人类社会的长远影响。 第二篇:机器学习的算法之海——从入门到精通 机器学习是实现人工智能的关键途径,它赋予机器从数据中学习的能力,而无需进行明确的编程。本篇将系统地介绍机器学习的核心概念、经典算法及其应用。我们将从监督学习、无监督学习和强化学习这三大主流范畴出发,逐一解析其中的代表性算法。 监督学习:预测与分类的艺术: 线性回归与逻辑回归: 作为最基础的回归和分类模型,我们将深入理解它们的原理、假设以及在实际问题中的应用场景,例如房价预测或用户购买意愿判断。 决策树与随机森林: 探讨如何构建决策树进行数据划分,以及随机森林如何通过集成学习提升模型的鲁棒性和准确性,适用于疾病诊断或信用评估等任务。 支持向量机 (SVM): 学习如何找到最优的超平面来划分数据,理解核函数的强大作用,并将其应用于图像识别或文本分类。 K近邻算法 (KNN): 了解基于距离的分类思想,以及其在推荐系统或异常检测中的简单应用。 朴素贝叶斯: 探索基于概率的分类方法,理解其“朴素”假设的含义以及在垃圾邮件过滤或情感分析中的效率。 无监督学习:发现隐藏的模式: K-Means聚类: 学习如何将数据点分组到不同的簇,理解聚类中心的更新过程,并将其应用于客户细分或图像分割。 主成分分析 (PCA): 掌握降维技术,理解如何提取数据中最主要的变异方向,以减少计算复杂度并消除噪声,应用于图像压缩或特征提取。 关联规则挖掘(如 Apriori): 探索如何发现数据项之间的有趣关联,例如“购买了尿布的顾客通常也会购买啤酒”,这在市场篮子分析中非常有用。 强化学习:智能体的学习路径: 基本概念与模型: 介绍强化学习中的关键元素,如状态、动作、奖励、策略和价值函数,理解智能体如何通过与环境交互来学习最优策略。 Q-Learning 与 Deep Q-Networks (DQN): 学习经典的强化学习算法,以及如何结合深度神经网络来处理高维状态空间,使其在游戏AI或机器人控制中大放异彩。 第三篇:深度学习的革命——神经网络的构建与应用 深度学习作为机器学习领域的一场革命,以其强大的特征学习能力在图像识别、自然语言处理、语音识别等领域取得了突破性进展。本篇将带领读者深入探索神经网络的奥秘,从基础的多层感知机到复杂的卷积神经网络和循环神经网络。 神经网络的基础: 神经元模型与激活函数: 介绍人工神经元的基本结构,以及Sigmoid、ReLU等激活函数的作用,理解它们如何引入非线性,使网络能够学习复杂模式。 前向传播与反向传播算法: 深入解析神经网络的学习过程,理解数据如何在网络中传播,以及误差如何通过反向传播来更新网络权重,实现模型的训练。 损失函数与优化器: 介绍用于衡量模型预测与真实值之间差距的损失函数,以及用于指导模型参数更新的各种优化器(如 SGD, Adam),理解它们如何帮助模型收敛。 深度学习的经典模型: 卷积神经网络 (CNN): 详细讲解CNN在图像处理领域的强大能力,包括卷积层、池化层、全连接层的作用,以及它们如何提取图像的局部特征。我们将探讨CNN在图像分类、目标检测等任务中的广泛应用。 循环神经网络 (RNN): 深入理解RNN处理序列数据的能力,重点介绍其在自然语言处理(NLP)中的作用,如文本生成、机器翻译、情感分析。我们将探讨LSTM和GRU等变体如何解决RNN的梯度消失问题。 Transformer 模型: 作为近年来NLP领域的颠覆性技术,我们将详细介绍Transformer的自注意力机制,理解它如何并行处理序列数据,以及其在大型语言模型(LLM)中的核心地位。 深度学习的应用实战: 计算机视觉: 演示如何利用深度学习模型进行图像识别、对象检测、图像分割等任务。 自然语言处理: 探讨如何利用深度学习模型进行文本情感分析、机器翻译、文本摘要、问答系统等。 生成模型(如 GANs): 介绍生成对抗网络如何生成逼真的图像、文本或其他数据,理解其在艺术创作、数据增强等领域的潜力。 第四篇:人工智能的落地实践——构建与部署你的AI应用 理论知识最终需要通过实践来检验和应用。本篇将聚焦于如何将前文所述的AI理论转化为实际可用的解决方案。我们将引导读者了解AI项目的全生命周期,从数据准备到模型部署,再到持续优化。 数据是 AI 的血液: 数据收集与预处理: 强调高质量数据的重要性,介绍数据清洗、缺失值处理、异常值检测、特征工程等关键步骤。 数据增强与标注: 探讨如何通过数据增强技术扩充数据集,以及在监督学习中进行有效的数据标注。 模型构建与评估: 选择合适的模型: 根据具体问题和数据特性,学习如何选择最适合的AI模型。 模型训练与调优: 掌握训练过程中的超参数调整、交叉验证等技术,以提升模型性能。 模型评估指标: 理解各种评估指标(如准确率、精确率、召回率、F1分数、AUC)的含义,并学会如何公正地评估模型表现。 AI 模型的部署与维护: 模型部署策略: 介绍将训练好的模型部署到生产环境的多种方式,如云端部署、边缘设备部署等。 API 开发与集成: 学习如何将AI模型封装成API,方便与其他应用进行集成。 模型监控与再训练: 理解模型在实际运行中可能出现的性能衰减,以及如何进行监控和周期性地再训练以保持其有效性。 AI 项目的案例分析: 我们将通过一系列具体的行业应用案例,例如金融风控、智能客服、推荐系统、智能医疗等,来展示AI技术如何解决实际业务问题,并为读者提供可借鉴的思路。 总结与展望: 人工智能的浪潮仍在奔涌向前,新的技术和应用层出不穷。本书不仅旨在传授知识,更希望点燃读者对AI的热情,激发其探索未知的动力。我们相信,通过对本书内容的深入学习和实践,读者将能够掌握驾驭AI这把“数字时代的智慧之钥”的能力,为个人职业发展和社会进步贡献力量。人工智能的未来充满无限可能,让我们携手共进,共同塑造一个更智能、更美好的世界。