李沐 softmax回归的从零开始实现【动手学深度学习v2】

本节我们将使用刚刚引入的Fashion-MNIST数据集, 并设置数据迭代器的批量大小为256。

※ 初始化模型参数

这里的每个样本都将用固定长度的向量表示。 原始数据集中的每个样本都是28×28的图像。

本节[将展平每个图像,把它们看作长度为784的向量。] 在后面的章节中,我们将讨论能够利用图像空间结构的特征, 但现在我们暂时只把每个像素位置看作一个特征。

在softmax回归中,输出与类别一样多。因为我们的数据集有10个类别,所以网络输出维度为10。 因此,权重将构成一个784×10的矩阵, 偏置将构成一个1×10的行向量。 与线性回归一样,我们将使用正态分布初始化我们的权重w偏置初始化为0

※ 定义softmax操作

在实现softmax回归模型之前,先简要回顾一下sum运算符如何沿着张量中的特定维度工作。

[给定一个矩阵X,我们可以对所有元素求和], 也可以只求同一个轴上的元素,即同一列(轴0)或同一行(轴1)。

如果X是一个形状为(2,3)的张量,我们对列进行求和, 则结果将是一个具有形状(3,)的向量。 当调用sum运算符时,我们可以指定保持在原始张量的轴数,而不折叠求和的维度。 这将产生一个具有形状(1, 3)的二维张量。

0是对列求和,得到一个行向量;1是对行求和,得到一个列向量。

实现softmax的三个步骤:

  1. 每个项求幂(使用exp);
  2. 每一行求和(小批量中每个样本是一行),得到每个样本的规范化常数;
  3. 每一行除以其规范化常数,确保结果的和为1

表达式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值