softmax连接输入输出的模型中,输出需要每个类别的概率
线性回归中,我们只需要输出靠近目标值——就是函数结果
输出是yhat
softmax的简单实现
import d2lzh as d2l
from mxnet import autograd, nd
获取和读取数据
选取数据集:⽤Fashion-MNIST
设置迭代的批量
batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)
初始化模型参数
输入:单个图像的像素值 28 ∗ 28 = 784 28 *28 = 784 28∗28=784
输出:10个类别
所以softmax回归的权重weight为 784 ∗ 10 784*10 784∗10的矩阵;偏差参数bias为 1 ∗ 10 1*10 1∗10的矩阵
还是用NdArray的随机正太函数填满初始化矩阵
最后为模型参数附上梯度
num_inputs = 784
num_outputs = 10
W = nd.random.normal(scale=0.01, shape=(num_inputs, num_outputs))
b = nd.zeros(num_outputs)
W.attach_grad()
b.attach_grad()
定义模型
模型就是