深度学习知识总结|分类模型——Softmax回归

分类模型——Softmax回归 第一章 机器学习是什么
第二章 深度学习是什么
第三章 前馈神经网络
第四章 卷积神经网络
第五章 交叉熵函数

文章目录

  • 分类模型——Softmax回归
  • 前言
  • Softmax回归模型
  • 单样本分类的矢量计算表达式
  • 总结

前言 之前我们一直在说“线性回归”,而Softmax回归虽然也叫回归,但是它与线性回归的应用有本质区别。线性回归主要适用于输出为连续值的情景,而Softmax回归主要适用于输出为离散值的分类场景。此外,softmax回归的输出单元从一个变成了多个,且引入了softmax运算使输出更适合离散值的预测和训练。
Softmax回归模型 softmax回归跟线性回归一样将输入特征与权重做线性叠加。但是,softmax回归的输出值并非一个,而是和要预测的类别数相等,
例如,如果要根据4种特征预测三种动物类别,那么权重包含12个标量(带下标的w)、偏差包含3个标量(带下标的b),且对每个输入计算o1,o2,o3这三个输出:
深度学习知识总结|分类模型——Softmax回归
文章图片

softmax回归同线性回归一样,也是一个单层神经网络,且输入层和输出层进行全连接。
深度学习知识总结|分类模型——Softmax回归
文章图片

既然分类问题需要得到离散的预测输出,那么就把每个离散值Oi作为输入样本属于该类别的置信度,并将所有离散值中值最大的输出所对应的类作为预测输出,即
深度学习知识总结|分类模型——Softmax回归
文章图片

例如,O1,O2,O3分别为0.1,10,0.1,对应的类别分别为鸡,猫和狗,由于O2值最大,那么预测类别为2,其代表猫。
然而,直接使用输出层的输出有两个问题。
第一:由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。输出值的范围跨度可能会很大,有的输出可能为0.1,有的甚至为上百上千,这就很难通过比较不同的输出值进行分析,例如刚才举的例子中的输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类的输出值的100倍。但如果o1=o3=10的3次方,那么输出值10却又表示图像类别为猫的概率很低。。
第二:由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。
softmax运算符(softmax operator)解决了以上两个问题。它相当于对所有输出做了归一化处理,通过下式将输出值变换成值为正且和为1的概率分布:
深度学习知识总结|分类模型——Softmax回归
文章图片

其中:
深度学习知识总结|分类模型——Softmax回归
文章图片

我们注意到
深度学习知识总结|分类模型——Softmax回归
文章图片

因此softmax运算不改变预测类别输出。
单样本分类的矢量计算表达式 为了提高计算效率,我们可以将单样本分类通过矢量计算来表达。在上面的图像分类问题中,假设softmax回归的权重和偏差参数分别为
深度学习知识总结|分类模型——Softmax回归
文章图片

设高和宽分别为2个像素的图像样本 i 的特征为
深度学习知识总结|分类模型——Softmax回归
文章图片

输出层的输出为
深度学习知识总结|分类模型——Softmax回归
文章图片

预测为狗、猫或鸡的概率分布为
深度学习知识总结|分类模型——Softmax回归
文章图片

softmax回归对样本ii分类的矢量计算表达式为
深度学习知识总结|分类模型——Softmax回归
文章图片

总结
  • softmax回归适用于分类问题。它使用softmax运算输出类别的概率分布。
  • softmax回归是一个单层神经网络,输出个数等于分类问题中的类别个数。
  • 交叉熵适合衡量两个概率分布的差异。
【深度学习知识总结|分类模型——Softmax回归】参考文献:《动手学深度学习》(pytorch版) 李沐 著;

    推荐阅读