第 4 章. 训练模型
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
到目前为止,我们一直把机器学习模型及其训练算法当作黑盒子。如果你浏览了前面几章中的一些练习,你可能会惊讶地发现,你可以在完全不了解引擎盖下内容的情况下完成很多事情:你优化了一个回归系统,改进了一个数字图像分类器,甚至从头开始构建了一个垃圾邮件分类器,而这一切都不需要知道它们究竟是如何工作的。事实上,在很多情况下,你并不需要知道实现的细节。
但是,充分了解其工作原理可以帮助您快速找到合适的模型、正确的训练算法以及适合您任务的超参数集。了解引擎盖下的工作原理还能帮助您更高效地调试问题和进行错误分析。最后,本章讨论的大部分主题都将是理解、构建和训练神经网络(本书第二部分将讨论)的基本内容。
在本章中,我们将从线性回归模型 开始,它是最简单的模型之一。我们将讨论两种截然不同的训练方法:
-
利用 "闭式 "方程1直接计算出最适合训练集的模型参数(即在训练集上使成本函数最小化的模型参数)。
-
使用一种称为梯度下降(GD)的迭代优化方法 ,逐步调整模型参数,使训练集上的代价函数最小化,最终收敛到与第一种方法相同的参数集。我们将在第二部分研究神经网络时反复使用梯度下降法的几个变体:批量 GD、迷你批量 GD 和随机 GD。
接下来,我们将了解多项式回归 ,这是一种更复杂的模型,可以适应非线性数据集。由于该模型比线性回归有更多参数,因此更容易过度拟合训练数据。我们将探讨如何利用学习曲线检测是否存在这种情况,然后我们将研究几种可以降低训练集过拟合风险的正则化技术。
最后,我们还将研究两种常用于分类任务的模型:逻辑回归和软最大回归。
警告
本章将使用线性代数和微积分的基本概念给出大量数学公式。要理解这些方程,你需要熟悉向量和矩阵--如何对它们进行转置、相乘和反转--以及偏导数。如果不熟悉这些概念,请查看在线补充材料中提供的线性代数和微积分入门 Jupyter 笔记本。如果你真的对数学过敏,你可以直接跳过方程;课文仍然可以帮助你掌握大部分概念。尽管如此,学习数学形式主义还是非常有用的,因为它可以让你阅读 ML 论文。本章包含的代码可以帮助你理解方程。
线性回归
在 第 1 章中,我们研究了一个简单的生活满意度线性模型(方程 4-1)。
方程 4-1. 生活满意度的简单线性模型
该模型只是输入特征GDP_per_capita 的线性函数。θ0和θ1是模型的参数。
一般来说,线性模型只需计算输入特征的加权和,再加上一个称为偏置项的常数 (也称为截距项) ,即可进行预测,如等式 4-2 所示。
方程 4-2. 线性回归模型预测
在这个等式中:
-
ŷ是预测值。
-
n是特征个数。
-
xi是第 i个特征值。
-
θj是第j 个模型参数,包括偏置项θ0和特征权重θ1,θ2, ⋯, θn。
如等式 4-3 所示,使用向量化形式可以更简洁地写出。
方程 4-3. 线性回归模型预测(向量形式)
在这个等式中:
-
hθ是使用模型参数θ 的假设函数 。
-
θ是模型的参数向量, ,包含偏置项θ0和特征权重θ1至 θn。
-
x是实例的特征向量, ,包含x0至xn,其中x0始终等于 1。
-
θ-
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access