第5章 损失函数
前三章描述了线性回归、浅层神经网络和深度神经网络。每一种都代表一族将输入映射到输出的函数,而模型参数
这一定义需要一个输入/输出对的训练数据集
本章提供一个框架,既可以证明最小二乘准则对于实值输出的合理性,又可以为其他预测类型构建损失函数。我们考虑二元分类(binary classification),其中预测
5.1 最大似然
本节我们推导一种构建损失函数的方法。考虑一个模型

图 5.1 预测输出上的分布。a) 回归任务,目标是根据训练数据
(橙色点)从输入 预测实值输出 。对于每个输入值 ,机器学习模型预测输出 上的一个分布 (青色曲线展示了 和 处的分布)。最小化损失函数对应于最大化训练输出 在由对应输入 预测的分布下的概率。b) 对于离散类别 的分类任务,我们使用离散概率分布,因此模型为每个 值预测四个可能 值上的不同直方图。c) 对于计数预测 和 d) 方向预测 ,我们分别使用定义在正整数和圆形域上的分布。
5.1.1 计算输出上的分布
这种视角转换引出了一个问题:模型
例如,假设预测域是实数集,即
5.1.2 最大似然准则
现在模型为每个训练输入
联合概率项就是参数的似然(likelihood),因此方程 5.1 被称为最大似然(maximum likelihood)准则。
这里我们隐含地做了两个假设。第一,我们假设输出
5.1.3 最大化对数似然
最大似然准则(方程 5.1)在实践中并不太实用。每一项
这个对数似然(log-likelihood)准则是等价的,因为对数是单调递增函数:若

图 5.2 对数变换。a) 对数函数是单调递增的。若
,则 。由此可知,任何函数 的最大值与 的最大值将出现在同一位置。b) 一个函数 。c) 该函数的对数 。 上所有具有正斜率的位置在对数变换后保持正斜率,具有负斜率的位置保持负斜率。最大值的位置不变。
5.1.4 最小化负对数似然
最后,我们注意到,按照惯例,模型拟合问题通常被表述为最小化损失。为了将最大对数似然准则转化为最小化问题,我们乘以负一,得到负对数似然(negative log-likelihood)准则:
这就构成了最终的损失函数
5.1.5 推断
网络不再直接预测输出
通常可以用模型预测的分布参数
5.2 构建损失函数的方法
使用最大似然方法为训练数据
- 选择一个合适的概率分布
,定义在预测 的域上,具有分布参数 。 - 设定机器学习模型
来预测这些参数中的一个或多个,使得 ,且 。 - 为训练模型,找到使训练数据集
上负对数似然损失函数最小化的网络参数 :
- 对于新的测试样本
,进行推断时返回完整分布 或该分布取最大值处的值。
本章剩余部分主要使用这一方法为常见的预测类型构建损失函数。
5.3 示例 1:单变量回归
我们首先考虑单变量回归模型。这里的目标是使用模型
然后,我们设定机器学习模型
我们的目标是找到使训练数据
训练模型时,我们寻找使该损失最小化的参数

图 5.3 单变量正态分布(也称高斯分布)定义在实数线
上,有参数 和 。均值 决定峰值的位置。方差 的正平方根(标准差)决定分布的宽度。由于概率密度总和为一,随着方差减小,峰值变高,分布变窄。
5.3.1 最小二乘损失函数
现在我们对损失函数进行一些代数化简。我们要求:
其中第二行到第三行之间去掉了第一项,因为它不依赖于
这些化简的结果就是我们在第 2 章讨论线性回归时最初引入的最小二乘损失函数:
我们看到,最小二乘损失函数自然地从以下假设中推导出来:(i) 预测是独立的,且 (ii) 从均值为

图 5.4 正态分布下最小二乘与最大似然损失的等价性。a) 考虑图 2.2 中的线性模型。最小二乘准则最小化模型预测
(绿色线)与真实输出值 (橙色点)之间偏差(虚线)的平方和。此处拟合效果好,因此偏差很小。b) 对于这组参数,拟合效果差,偏差的平方和很大。c) 最小二乘准则源于假设模型预测的是输出上正态分布的均值,且我们最大化概率。对于第一种情况,模型拟合良好,所以数据的概率 (水平橙色虚线)很大(负对数概率很小)。d) 对于第二种情况,模型拟合差,概率很小,负对数概率很大。
5.3.2 推断
网络不再直接预测
对于单变量正态分布,最大值由均值参数
5.3.3 方差估计
为了推导最小二乘损失函数,我们假设网络预测正态分布的均值。方程 5.11 中的最终表达式(或许令人惊讶地)不依赖于方差
在推断时,模型从输入预测均值
5.3.4 异方差回归
上述模型假设数据的方差处处恒定。然而,这可能不现实。当模型的不确定性随输入数据的变化而变化时,我们称之为异方差(heteroscedastic)(与不确定性恒定的同方差(homoscedastic)相对)。
建模这种情况的一种简单方式是训练一个同时计算均值和方差的神经网络
这里有一个复杂之处:方差必须为正,但我们无法保证网络总是产生正的输出。为确保计算出的方差为正,我们将第二个网络输出通过一个将任意值映射为正值的函数。一个合适的选择是平方函数,这给出:
由此得到的损失函数为:
同方差和异方差模型在图 5.5 中进行了比较。

图 5.5 同方差与异方差回归。a) 同方差回归的浅层神经网络仅预测输出分布的均值
。b) 结果是,虽然均值(蓝色线)是输入 的分段线性函数,但方差处处恒定(箭头和灰色区域表示 个标准差)。c) 异方差回归的浅层神经网络还预测方差 (或更精确地说,计算其平方根后再平方)。d) 标准差现在也成为输入 的分段线性函数。
5.4 示例 2:二元分类
在二元分类(binary classification)中,目标是将数据
我们再次按照第 5.2 节的方法来构建损失函数。首先,我们选择输出空间
也可以等价地写为:
然后,我们设定机器学习模型
因此,我们将分布参数预测为
图 5.8 展示了浅层神经网络模型的这一情形。损失函数是训练集的负对数似然:
正如将在第 5.7 节中解释的,这被称为二元交叉熵损失(binary cross-entropy loss)。
经过变换的模型输出

图 5.6 伯努利分布。伯努利分布定义在域
上,有一个参数 ,表示观测到 的概率。由此可得观测到 的概率为 。

图 5.7 逻辑 sigmoid 函数。该函数将实数线
映射到零和一之间的数,即 。输入 0 被映射到 0.5。负输入被映射到小于 0.5 的数,正输入被映射到大于 0.5 的数。

图 5.8 二元分类模型。a) 网络输出是一个可以取任意实数值的分段线性函数。b) 经逻辑 sigmoid 函数变换后,将这些值压缩到
范围。c) 变换后的输出预测 的概率 (实线)。 的概率因此为 (虚线)。对于任何固定的 (垂直切面),我们可以得到类似于图 5.6 中伯努利分布的两个值。损失函数偏好使与正例 关联的 位置处的 值较大、与负例 关联的 位置处的 值较小的模型参数。
5.5 示例 3:多类分类
多类分类(multiclass classification)的目标是将输入数据样本
我们再次按照第 5.2 节的方法。首先在预测空间
这些参数被约束在零和一之间取值,且必须总和为一,以确保构成有效的概率分布。
然后我们使用一个具有
其中指数函数确保正性,分母中的求和确保这
输入
损失函数是训练数据的负对数似然:
其中
经变换的模型输出表示可能类别

图 5.9 类别分布。类别分布将概率分配给
个类别,其关联概率为 。此处有五个类别,即 。为确保这是一个有效的概率分布,每个参数 必须在 范围内,且所有 个参数之和必须为一。

图 5.10
类的多类分类。a) 网络有三个分段线性输出,可取任意值。b) 经 softmax 函数处理后,这些输出被约束为非负且和为一。因此,对于给定输入 ,我们计算出类别分布的有效参数:该图的任何垂直切面产生三个和为一的值,它们构成类似于图 5.9 中类别分布的条形高度。
5.5.1 预测其他数据类型
本章我们聚焦于回归和分类,因为这些问题最为普遍。然而,对于不同类型的预测,我们只需在该域上选择合适的分布,并按照第 5.2 节的方法即可。图 5.11 列举了一系列概率分布及其预测域。其中一些在本章末尾的习题中进行了探讨。
图 5.11 不同预测类型对应的分布。
数据类型 域 分布 用途 单变量、连续、无界 单变量正态 回归 单变量、连续、无界 拉普拉斯或 t 分布 鲁棒回归 单变量、连续、无界 混合高斯 多模态回归 单变量、连续、下有界 指数或伽马 预测幅度 单变量、连续、有界 beta 预测比例 多变量、连续、无界 多变量正态 多变量回归 单变量、连续、圆形 von Mises 预测方向 单变量、离散、二元 伯努利 二元分类 单变量、离散、有界 类别 多类分类 单变量、离散、下有界 泊松 预测事件计数 多变量、离散、排列 Plackett-Luce 排序
5.6 多输出
通常我们希望用同一个模型做出不止一个预测,因此目标输出
独立性意味着我们将概率
其中
当我们最小化负对数概率时,这个乘积变成项的和:
其中
要同时进行两种或更多预测类型,我们类似地假设各自的误差是独立的。例如,要预测风向和风力,我们可以选择 von Mises 分布(定义在圆形域上)来预测方向,选择指数分布(定义在正实数上)来预测强度。独立性假设意味着两个预测的联合似然是各自似然的乘积。在计算负对数似然时,这些项变成加和关系。
5.7 交叉熵损失
本章我们推导了最小化负对数似然的损失函数。然而,交叉熵(cross-entropy)损失这一术语也很常见。本节描述交叉熵损失,并证明它等价于使用负对数似然。
交叉熵损失基于这样一种思想:找到参数
现在考虑我们在点
其中
其中第一项消失了,因为它不依赖于
第一行到第二行的乘积对应于将图 5.12a 中的点质量与图 5.12b 中分布的对数逐点相乘。我们得到以数据点为中心的加权概率质量的有限集。在最后一行,我们消去了常数缩放因子
在机器学习中,分布参数
这恰恰就是第 5.2 节方法中的负对数似然准则。
由此可知,负对数似然准则(来自最大化数据似然)和交叉熵准则(来自最小化模型分布与经验数据分布之间的距离)是等价的。

图 5.12 交叉熵方法。a) 训练样本的经验分布(箭头表示 Dirac delta 函数)。b) 具有参数
的模型分布(正态分布)。在交叉熵方法中,我们最小化这两个分布之间的距离(KL 散度),将其作为模型参数 的函数。
5.8 总结
我们之前将神经网络视为直接从数据
最小二乘回归准则是这一方法的自然结果;它源于假设
在前面的章节中,我们建立了神经网络模型。在本章中,我们建立了损失函数来判断模型在给定参数下对训练数据的描述效果。下一章考虑模型训练,目标是找到使该损失最小化的模型参数。