线性回归
随机梯度下降
即使在我们无法得到解析解的情况下,我们仍然可以有效地训练模型。在许多任务上,那些难以优化的模型效果要更好。因此,弄清楚如何训练这些难以优化的模型是非常重要的。
本书中我们用到一种名为梯度下降(gradient descent)的方法,这种方法几乎可以优化所有深度学习模型。它通过不断地在损失函数递减的方向上更新参数来降低误差。
梯度下降最简单的用法是计算损失函数(数据集中所有样本的损失均值)关于模型参数的导数(在这里也可以称为梯度)。但实际中的执行可能会非常慢:因为在每一次更新参数之前,我们必须遍历整个数据集。因此,我们通常会在每次需要计算更新的时候随机抽取一小批样本,这种变体叫做小批量随机梯度下降(minibatch stochastic gradient descent)。
在每次迭代中,我们首先随机抽样一个小批量
我们用下面的数学公式来表示这一更新过程(
总结一下,算法的步骤如下:
(1)初始化模型参数的值,如随机初始化;
(2)从数据集中随机抽取小批量样本且在负梯度的方向上更新参数,并不断迭代这一步骤。对于平方损失和仿射变换,我们可以明确地写成如下形式:
公式中的
在这里,更优雅的向量表示法比系数表示法(如
在训练了预先确定的若干迭代次数后(或者直到满足某些其他停止条件后),我们记录下模型参数的估计值,表示为
线性回归恰好是一个在整个域中只有一个最小值的学习问题。但是对像深度神经网络这样复杂的模型来说,损失平面上通常包含多个最小值。深度学习实践者很少会去花费大力气寻找这样一组参数,使得在训练集上的损失达到最小。事实上,更难做到的是找到一组参数,这组参数能够在我们从未见过的数据上实现较低的损失,这一挑战被称为泛化(generalization)。
softmax 回归
虽然叫做回归,但其实是分类问题
统计学家很早以前就发明了一种表示分类数据的简单方法:独热编码(one-hot encoding)。独热编码是一个向量,它的分量和类别一样多。类别对应的分量设置为1,其他所有分量设置为0。在我们的例子中,标签
为了估计所有可能类别的条件概率,我们需要一个有多个输出的模型,每个类别对应一个输出。
为了解决线性模型的分类问题,我们需要和输出一样多的仿射函数(affine function)。
每个输出对应于它自己的仿射函数。
在我们的例子中,由于我们有4个特征和3个可能的输出类别,
我们将需要12个标量来表示权重(带下标的
3个标量来表示偏置(带下标的
下面我们为每个输入计算三个未规范化的预测(logit):
与线性回归一样,softmax 回归也是一个单层神经网络。由于计算每个输出
为了更简洁地表达模型,我们仍然使用线性代数符号。通过向量形式表达为
softmax 函数能够将未规范化的预测变换为非负数并且总和为1,同时让模型保持
可导的性质。
为了完成这一目标,我们首先对每个未规范化的预测求幂,这样可以确保输出非负。
为了确保最终输出的概率值总和为1,我们再让每个求幂后的结果除以它们的总和。如下式:
损失函数
接下来,我们需要一个损失函数来度量预测的效果。我们将使用最大似然估计,这与在线性回归中的方法相同。
对数似然
softmax 函数给出了一个向量
(这是给定输入 X 的条件下,观测到标签 Y 的概率)
根据最大似然估计,我们最大化
其中,对于任何标签
在本节稍后的内容会讲到, 上面的损失函数通常被称为交叉熵损失(cross-entropy loss)。由于
Softmax 及其导数
由于 softmax 和相关的损失函数很常见,
因此我们需要更好地理解它的计算方式。
考虑相对于任何未规范化的预测
换句话说,导数是我们 softmax 模型分配的概率与实际发生的情况(由独热标签向量表示)之间的差异。从这个意义上讲,这与我们在回归中看到的非常相似,其中梯度是观测值
交叉熵损失
现在让我们考虑整个结果分布的情况,即观察到的不仅仅是一个结果。对于标签
信息论基础
信息论(information theory)涉及编码、解码、发送以及尽可能简洁地处理信息或数据。
熵
信息论的核心思想是量化数据中的信息内容。在信息论中,该数值被称为分布
信息论的基本定理之一指出,为了对从分布
信息量
压缩与预测有什么关系呢?想象一下,我们有一个要压缩的数据流。如果我们很容易预测下一个数据,那么这个数据就很容易压缩。为什么呢?举一个极端的例子,假如数据流中的每个数据完全相同,这会是一个非常无聊的数据流。由于它们总是相同的,我们总是知道下一个数据是什么。所以,为了传递数据流的内容,我们不必传输任何信息。也就是说,“下一个数据是xx”这个事件毫无信息量。
但是,如果我们不能完全预测每一个事件,那么我们有时可能会感到"惊异"。克劳德·香农决定用信息量
重新审视交叉熵
如果把熵
简而言之,我们可以从两方面来考虑交叉熵分类目标:
(i)最大化观测数据的似然;(ii)最小化传达标签所需的惊异。