《动手学机器学习(第二版)》核心摘要 作者:Aurélien Géron

💡 核心概念
✅ 事实与实践
🎯 指导原则
🔧 关键工具

第一部分:机器学习基础

第1章: 机器学习概览

  • 机器学习的核心是让计算机从数据中学习,而无需进行显式编程。
  • 机器学习系统主要分为四类:监督学习、无监督学习、半监督学习和强化学习。
  • 根据学习方式,可分为批量学习(离线)和在线学习(增量)。
  • 监督学习最常见的任务是分类(预测类别)和回归(预测数值)。
  • 无监督学习的常见任务包括聚类、降维、异常检测和关联规则学习。
  • 主要挑战包括:数据量不足、数据质量差、数据不具代表性、模型过拟合(对训练数据表现好,对新数据差)和欠拟合(模型过于简单)。

第2章: 一个端到端的机器学习项目

  • 一个完整的机器学习项目流程包括8个关键步骤:明确问题、获取数据、探索数据、准备数据、选择和训练模型、微调模型、展示解决方案、部署与维护。
  • 数据探索(EDA)至关重要,通过可视化发现数据规律、异常值和特征间的相关性。
  • 数据准备是项目中最耗时的部分,包括处理缺失值、编码分类特征、特征缩放和创建转换流水线。
  • 使用Scikit-Learn的Pipeline可以串联多个数据处理步骤,使流程清晰且易于复用。
  • 必须在查看数据前就划分训练集和测试集,以避免“数据窥探”偏误。
  • 使用交叉验证(Cross-Validation)来更可靠地评估模型性能,而不是单一的验证集。

第3章 & 第4章: 分类与模型训练

  • 分类任务的性能度量不能只看准确率,尤其是在数据不平衡时。应关注混淆矩阵、精确率(Precision)、召回率(Recall)和F1分数。
  • ROC曲线是衡量二元分类器性能的强大工具,曲线下面积(AUC)越大,模型性能越好。
  • 线性回归通过正规方程或梯度下降来找到最小化成本函数(如MSE)的模型参数。
  • 梯度下降是一种迭代优化算法,有三种主要变体:批量(Batch GD)、小批量(Mini-batch GD)和随机(Stochastic GD)。
  • 多项式回归可以拟合非线性数据,但容易过拟合。
  • 正则化是防止过拟合的关键技术,主要有岭回归(L2范数)、Lasso回归(L1范数)和弹性网络(L1和L2的混合)。

第5章 - 第9章: 核心算法

  • 支持向量机 (SVM):核心思想是找到最大化类间间隔(Margin)的决策边界。通过“核技巧”(Kernel Trick)可以高效处理非线性问题。
  • 决策树:一种直观的模型,通过一系列“是/否”问题来做决策。易于解释(白盒模型),但对数据变化敏感且容易过拟合。
  • 集成学习:组合多个学习器(“弱学习器”)以获得比单个学习器更好的性能(“强学习器”),即“群众的智慧”。
  • 主要集成方法:Bagging(如随机森林)、Boosting(如AdaBoost, Gradient Boosting)和Stacking
  • 降维:解决“维度灾难”问题。主要方法有投影(如PCA)和流形学习(如t-SNE)。
  • 聚类:无监督任务,将相似实例分组。常用算法有K-Means(基于质心)和DBSCAN(基于密度)。

第二部分:神经网络与深度学习

第10章 & 第11章: 神经网络入门与训练技巧

  • 人工神经网络(ANN)受生物神经元启发,多层感知机(MLP)是其基本形式,通过反向传播算法进行训练。
  • Keras是构建神经网络的高级API,有三种主要方式:Sequential API(最简单)、Functional API(更灵活,支持复杂模型)和Subclassing API(最灵活,用于研究)。
  • 训练深度网络的主要挑战是梯度消失/爆炸问题。
  • 解决方案包括:优秀的权重初始化(He, Glorot)、使用非饱和激活函数(如ReLU及其变体ELU, SELU)、批量归一化(Batch Normalization)。
  • 更快的优化器(如Adam, Nadam)和学习率调度策略(如1cycle)可以显著加速训练。
  • Dropout是一种强大的正则化技术,在训练时随机“关闭”一部分神经元,以防止过拟合。

第12章 & 第13章: 自定义与数据处理

  • 当你需要自定义损失函数、层、模型或训练循环时,需要使用TensorFlow的低级API。
  • 核心数据结构是张量(Tensor)tf.Variable用于表示模型的可训练参数。
  • 使用tf.GradientTape可以自动计算梯度,这是自定义训练循环的核心。
  • tf.data API是处理大规模数据集的利器,可以构建高效、可并行的输入流水线,支持预取(prefetching)、缓存(caching)和并行处理。
  • TFRecord是TensorFlow推荐的二进制数据存储格式,读取效率高。
  • 分类特征可以通过独热编码(One-Hot Encoding)或嵌入(Embeddings)进行数值化。嵌入是可训练的密集向量表示,对于类别多的特征尤其有效。

第14章 - 第16章: 计算机视觉与NLP

  • 卷积神经网络 (CNN) 是处理网格状数据(如图像)的王者。核心是卷积层(提取局部特征)和池化层(降维和汇总信息)。
  • 经典CNN架构演进:LeNet-5 → AlexNet → GoogLeNet (Inception) → VGG → ResNet (残差连接)。
  • 迁移学习:利用在大型数据集(如ImageNet)上预训练好的模型,在自己的小数据集上进行微调,是计算机视觉任务的常用且高效的策略。
  • 循环神经网络 (RNN) 专为处理序列数据设计(如时间序列、文本)。核心问题是短期记忆,通过LSTM和GRU单元得到极大缓解。
  • 注意力机制 (Attention):允许模型在处理序列时,将“注意力”集中在输入序列的特定部分,解决了长序列依赖问题。
  • Transformer:一个完全基于注意力机制的模型,摒弃了RNN的循环结构,实现了并行化,成为当前NLP领域的SOTA(State-of-the-art)架构。

第17章 - 第19章: 生成模型、强化学习与部署

  • 自编码器 (Autoencoder):一种无监督神经网络,学习将输入数据压缩成低维编码(潜在表示),然后再重建输出。可用于降维、特征提取和去噪。
  • 生成对抗网络 (GAN):由一个生成器(试图创造以假乱真的数据)和一个判别器(试图区分真假数据)组成。两者相互竞争,共同进步,能生成非常逼真的样本。
  • 强化学习 (RL):智能体(Agent)在环境(Environment)中通过采取行动(Action)并获得奖励(Reward)来学习最优策略(Policy)。
  • RL的核心算法包括策略梯度(Policy Gradients)和Q学习(如Deep Q-Network, DQN)。
  • OpenAI Gym是进行RL研究和实验的标准工具包。TF-Agents是TensorFlow的RL库。
  • 模型训练完成后,需要部署到生产环境。常见方式是封装成Web服务。
  • TF Serving是用于部署模型的高性能服务系统。TFLite用于将模型部署到移动和嵌入式设备。
  • 使用GPU或TPU可以极大加速训练。分布式策略 API (Distribution Strategies API) 可以让你在多GPU或多台机器上进行模型训练。

原文

源链接

附件

中文PDF (文件不存在)

下载

中文epub (文件不存在)

下载