动手学深度学习-Softmax与分类模型-Day1

Softmax与分类模型

今天完成的依然是day1打卡内容中的~

学习内容:

  1. softmax回归的基本概念
  2. 如何获取Fashion-MNIST数据集和读取数据
  3. Softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集中的图像数据进行分类的模型
  4. 使用pytorch重新实现Softmax回归模型

Softmax的基本概念

  1. 分类问题
    一个简单的图像分类问题,输入图像的高和宽均为2像素,色彩为灰度(channel=1)。图像中的4个像素分别标记为x1,x2,x3,x4。
    假设真实标签为狗、猫或者鸡,这些标签对应的离散值为y1=1,y2=2,y3=3。

  2. 权重矢量
    在这里插入图片描述

  3. 神经网络图
    下图用神经网络图描绘了上面的计算。softmax回归同线性回归一样,也是一个单层神经网络。由于每个输出o1、o2、o3的计算都要依赖于所有的输入x1、x2、x3、x4,softmax回归的输出层也是一个全连接层。
    动手学深度学习-Softmax与分类模型-Day1_第1张图片
    在这里插入图片描述
    输出问题
    直接使用输出层的输出有两个问题:(个人认为这两点也很好的回答了“为什么要在分类任务的输出层后加softmax?”这个问题)
    1.首先,由于输出层的输出值范围不确定,我们难以直观上判断这些值的意义。例如,刚才举的例子中输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类输出值的100倍。但如果o1=o3=1000,那么输出值10却又表示图像类别为猫的概率很低。
    2.另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。

    softmax运算符解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
    在这里插入图片描述
    动手学深度学习-Softmax与分类模型-Day1_第2张图片
    因此,softmax运算不改变预测类别输出。

  • 小批量矢量计算表达式
    动手学深度学习-Softmax与分类模型-Day1_第3张图片

交叉熵损失函数

动手学深度学习-Softmax与分类模型-Day1_第4张图片
动手学深度学习-Softmax与分类模型-Day1_第5张图片
模型训练和预测
在训练好softmax回归模型后,给定任一样本特征,就可以预测每个输出类别的概率。通常,我们把预测概率最大的类别作为输出类别。如果它与真实类别(标签)一致,说明这次预测是正确的。
我们将使用准确率(accuracy)来评价模型的表现。它等于正确预测数量与总预测数量之比。

放一个练习题~
动手学深度学习-Softmax与分类模型-Day1_第6张图片

你可能感兴趣的:(动手学深度学习,深度学习)