对比线性回归模型其输出为连续值,softmax回归模型的输出则为离散值
对于像图像类别这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。

一.具体问题

考虑一个简单的图像分类问题,其输入图像的高和宽均为2像素,且色彩为灰度。这样每个像素值都可以用一个标量表示。我们将图像中的4像素分别记为哪些图像应用是回归模型 图像回归问题_标量哪些图像应用是回归模型 图像回归问题_标量_02哪些图像应用是回归模型 图像回归问题_pytorch_03哪些图像应用是回归模型 图像回归问题_标量_04。假设训练数据集中图像的真实标签为狗、猫或鸡(假设可以用4像素表示出这3种动物),这些标签分别对应离散值哪些图像应用是回归模型 图像回归问题_pytorch_05哪些图像应用是回归模型 图像回归问题_pytorch_06哪些图像应用是回归模型 图像回归问题_哪些图像应用是回归模型_07 。我们通常使用离散的数值来表示类别,例如哪些图像应用是回归模型 图像回归问题_标量_08哪些图像应用是回归模型 图像回归问题_哪些图像应用是回归模型_09哪些图像应用是回归模型 图像回归问题_哪些图像应用是回归模型_10。如此,一张图像的标签为1、2和3这3个数值中的一个。虽然我们仍然可以使用回归模型来进行建模,并将预测值就近定点化到1、2和3这3个离散值之一,但这种连续值到离散值的转化通常会影响到分类质量。因此我们一般使用更加适合离散值输出的模型来解决分类问题。

二.softmax回归模型

softmax回归跟线性回归一样将输入特征与权重做线性叠加。与线性回归的一个主要不同在于,softmax回归的输出值个数等于标签里的类别数。因为一共有4种特征和3种输出动物类别,所以权重包含12个标量(带下标的哪些图像应用是回归模型 图像回归问题_pytorch_11)、偏差包含3个标量(带下标的哪些图像应用是回归模型 图像回归问题_pytorch_12),且对每个输入计算哪些图像应用是回归模型 图像回归问题_pytorch_13哪些图像应用是回归模型 图像回归问题_pytorch_14哪些图像应用是回归模型 图像回归问题_标量_15这3个输出:
哪些图像应用是回归模型 图像回归问题_线性回归_16
哪些图像应用是回归模型 图像回归问题_pytorch_17
哪些图像应用是回归模型 图像回归问题_线性回归_18
既然分类问题需要得到离散的预测输出,一个简单的办法是将输出值哪些图像应用是回归模型 图像回归问题_线性回归_19当作预测类别是哪些图像应用是回归模型 图像回归问题_线性回归_20的置信度,并将值最大的输出所对应的类作为预测输出,即输出哪些图像应用是回归模型 图像回归问题_深度学习_21,例如,如果哪些图像应用是回归模型 图像回归问题_pytorch_13哪些图像应用是回归模型 图像回归问题_pytorch_14哪些图像应用是回归模型 图像回归问题_标量_15分别为0.1,10,0.1,由于哪些图像应用是回归模型 图像回归问题_pytorch_14最大,那么预测类别为2,其代表猫。
此时出现两个问题:

  1. 输出值的范围不确定。
  2. 由于输出值不确定,以及真实标签是离散值,因此不好衡量预测误差。

**softmax运算符(softmax operator)**解决了以上两个问题。

通过数学运算,将输出值变换成正值且和为1的概率分布:

哪些图像应用是回归模型 图像回归问题_哪些图像应用是回归模型_26


其中

哪些图像应用是回归模型 图像回归问题_深度学习_27


很明显,经过对数处理后,输出值全为正值且哪些图像应用是回归模型 图像回归问题_深度学习_28。这时候,如果哪些图像应用是回归模型 图像回归问题_深度学习_29,不管哪些图像应用是回归模型 图像回归问题_线性回归_30哪些图像应用是回归模型 图像回归问题_标量_31的值是多少,我们都知道图像类别为猫的概率是80%。

三.矢量计算表达式

根据回归模型的定义,我们可以将上文提到的哪些图像应用是回归模型 图像回归问题_pytorch_13哪些图像应用是回归模型 图像回归问题_pytorch_14哪些图像应用是回归模型 图像回归问题_标量_15的表达式一并写成矢量的形式进行计算。

哪些图像应用是回归模型 图像回归问题_线性回归_35


设高和宽分别为2个像素样本的特征为

哪些图像应用是回归模型 图像回归问题_线性回归_36


输出层的输出为

哪些图像应用是回归模型 图像回归问题_pytorch_37


预测为狗、猫或鸡的概率为

哪些图像应用是回归模型 图像回归问题_深度学习_38


总的softmax回归计算表达式

哪些图像应用是回归模型 图像回归问题_深度学习_39


补充概念:

神经网络图:

在深度学习中,我们可以使用神经网络图直观地表现模型结构。下图使用神经网络图表示softmax回归模型。神经网络图隐去了模型参数权重和偏差。

哪些图像应用是回归模型 图像回归问题_pytorch_40


在所示的神经网络中,输入分别为哪些图像应用是回归模型 图像回归问题_标量,哪些图像应用是回归模型 图像回归问题_标量_02,哪些图像应用是回归模型 图像回归问题_pytorch_03,哪些图像应用是回归模型 图像回归问题_标量_04,因此输入层的输入个数为4。输入个数也叫特征数或特征向量维度。同理,该输出层的输出个数为3。

由于输出层的计算依赖全部的输入,也就是说,输出层中的神经元和输入层中各个输入完全连接。因此,这里的输出层又叫全连接层(fully-connected layer)或稠密层(dense layer)。

四.交叉熵损失函数

在上述图像分类的例子里,如果其中一个预测值比其他两个预测值大,那么就可以说明问题了。在衡量误差的时候,平方损失对于分类问题就显得过于严格,例如,哪些图像应用是回归模型 图像回归问题_线性回归_45哪些图像应用是回归模型 图像回归问题_标量_46,哪些图像应用是回归模型 图像回归问题_哪些图像应用是回归模型_47的损失要小很多,虽然两者都有同样正确的分类预测结果哪些图像应用是回归模型 图像回归问题_标量_31.

引入概念:交叉熵(cross entropy)

哪些图像应用是回归模型 图像回归问题_pytorch_49


原文解释:

哪些图像应用是回归模型 图像回归问题_深度学习_50


交叉熵损失函数:

哪些图像应用是回归模型 图像回归问题_标量_51