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

本文深入解析Softmax回归的基本概念,介绍如何利用Fashion-MNIST数据集进行图像分类,详细阐述从零开始实现Softmax回归模型的过程,并对比PyTorch实现方式。文中探讨了softmax运算符解决输出层问题的重要性,以及如何通过准确率评估模型表现。
摘要由CSDN通过智能技术生成

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?”这个问题)
    1.首先,由于输出层的输出值范围不确定,我们难以直观上判断这些值的意义。例如,刚才举的例子中输出值10表示“很置信”图像类别为猫,因为该输出值是其他两类输出值的100倍。但如果o1=o3=1000,那么输出值10却又表示图像类别为猫的概率很低。
    2.另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。

    softmax运算符解决了以上两个问题。它通过下式将输出值变换成值为正且和为1的概率分布:
    在这里插入图片描述
    在这里插入图片描述
    因此,softmax运算不改变预测类别输出。

  • 小批量矢量计算表达式
    在这里插入图片描述

交叉熵损失函数

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

放一个练习题~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值