《Gluon 动手学深度学习 六》Softmax实现

线性回归适用于输出为连续值的情景,对于输出离散值的分类问题,需要使用分类模型,例如softmax,与线性回归不同的是softmax输出单元从一个变为多个。和线性回归相同的是,softmax也是一个单层神经网络。和线性回归不同的是,softmax输出层的个数等于类别个数。

softmax 每个输出的计算都要依赖于上一层的每个元素,所以softmax输出层是一个全连接层


举例:图片分类问题

假设输入图片的尺寸为 2×22×2。设图片的四个特征值,即像素值分别为 x1,x2,x3,x4。假设训练数据集中图片的真实标签为狗、猫或鸡,这些标签分别对应离散值 y1,y2,y3。举个例子,如果 y1=0,y2=1,y3=2,任意一张狗的图片的标签记作 0。

设带下标的 w和 b 分别为 softmax 回归的权重和偏差参数。给定单个图片的输入特征 x1,x2,x3,x4,有关三个不同标签的输出分别为

在得到输出层的三个输出后,我们需要预测输出分别为狗、猫或鸡的概率,即各个类别的预测概率。


交叉熵损失函数

Softmax 回归使用了交叉熵损失函数(cross-entropy loss)。

给定分类问题的类别个数 m。当样本 i的标签类别为 yj 时(1≤j≤m),设q(i)j=1且当 k≠j,1≤k≤m时 q(i)k=0。设模型对样本 i 在类别 yj 上的预测概率为 pj(i)(1≤j≤m)。假设训练数据集的样本数为 n。

希望模型对这些样本真实的标签类别的预测概率尽可能大,也就是希望模型尽可能容易输出真实的标签类别。

模型预测及评价

在训练好 softmax 回归模型后,给定任一样本特征,我们可以预测每个输出类别的概率。通常,我们把预测概率最大的类别作为输出类别。如果它与真实类别(标签)一致,说明这次预测是正确的。

参考:http://zh.gluon.ai/chapter_deep-learning-basics/softmax-regression.html

猜你喜欢

转载自blog.csdn.net/qq_42189368/article/details/81126837
今日推荐