《动手深度学习》3.4 softmax回归

本节要点

  • softmax回归适用于分类问题。它使用softmax运算输出类别的概率分布。
  • softmax回归是一个单层神经网络,输出个数等于分类问题中的类别个数。
  • 交叉熵适合衡量两个概率分布的差异。

分类问题——softmax线性模型

问题预设:一个图像分类问题——输入是一个2x2的灰度图像,每个图像对应四个特征x1,x2,x3,x4。 图像类别只有“猫”,“狗”和“鸡”三个。

one-hot encoding
  • 用于表示分类数据
  • 是一个向量,它的分量数=类别数
  • 类别对应的分量设置为1,其他所有分量设置为0。

例:三个预测类别——{猫、狗、鸡},那么分类标签将是一个三维向量:其中(1,0,0)对应于“猫”、(0,1,0)对应于“鸡”、(0,0,1)对应于“狗”。

构建网络模型(softmax回归)
  • 4个特征(即4个输入),3个类别(即输出为3),所以需要12个w,3个b来建立模型:
    在这里插入图片描述
  • 与线性回归一样,softmax回归也是一个单层神经网络
    在这里插入图片描述
  • 向量形式:W为3x4矩阵
    在这里插入图片描述
softmax运算——将输出o1,o2,o3规范化,仍为线性模型
  • 上式直接得到的输出总和不一定为1,甚至可能为负值,不符合"概率"的要求,所以对其进行规范化!
  • 引入softmax函数:softmax函数能够将未规范化的预测变换为非负数并且总和为1,同时让模型保持可导的性质。
    • 首先,对每个未规范化的预测求幂, 确保非负。
    • 求幂后的结果除以它们的总和,确保最终输出概率值总和为1。
      在这里插入图片描述
  • 最后,选择概率最大的一个作为分类预测结果(即最有可能的类别):
    在这里插入图片描述
小批量样本的矢量化
  • 单样本矢量化推导:针对样本xi获得yi
    在这里插入图片描述

  • 批量样本矢量化

    • 给定一个小批量样本,其批量大小为 n,输入个数(特征数)为 d ,输出个数(类别数)为 q 。
    • 则 批量特征为 X∈Rn×d
    • 权重和偏差参数与批量大小n无关(因为每个样本训练时使用的都是一个模型),所以权重和偏差分别为 W∈Rd×q 和 b∈R1×q

    综上,softmax回归的矢量计算表达式为在这里插入图片描述

分类问题——损失函数设计

交叉熵损失函数
  • 对于分类问题,想要预测分类结果正确,我们其实并不需要预测概率完全等于标签概率。只需要概率最大的那个类别是该样本的真实类别就足够了。
  • 例如,在图像分类的例子里,如果 =3 ,那么我们只需要 y3(i) 比其他两个预测值 y1(i) 和y2(i) 大就行了。一旦 y3(i) 值为0.6或更大,无论其他两个预测值为多少,类别预测均正确。
  • 所以,再像线性回归那样使用平方损失函数 ∥ y ^ 1 i − y 1 i ∥ 2 / 2 \parallel \hat{y}_1^i-y_1^i \parallel^2/2 y^1iy1i2/2, 就会过于严格。例如 y1(i) =y2(i) =0.2 比y1(i) =0,y2(i) =0.4 的平方损失要小很多,但其实两者都有同样正确的分类预测结果。

交叉熵(cross entropy)是更适合衡量两个概率分布差异的测量函数

  • 对于第i个样本,它的交叉熵表示为:
    在这里插入图片描述
  • 假设训练集的样本数为n,那么损失函数定义为:
    在这里插入图片描述
模型预测及评价

预测:将任意样本特征输入训练好的回归模型,即可得到每个输出类别的概率,概率最大的类别即作为输出类别。
评价:采用准确率Accuracy来评估模型表现,准确率=正确预测数量/总数量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值