由于之前在跟北京交通大学的暑期课程,所以对这个内容有所了解。但是由于那个课程讲得太简略,而且不给实验课,这里参考了《动手学深度学习》(pytorch版)边学深度边学pytorch。
首先是它的特点:1.softmax回归适用于分类问题。它使用softmax运算输出类别的概率分布。
2.softmax回归是一个单层神经网络,输出个数等于分类问题中的类别个数。
书中的例子里图片有四个特征3种类别所以对每个输入计算o1,o2,o3这3个输出:
接下来是softmax的神经网络图描述,他是一个单层神经网络。由于每个输出o1,o2,o3o1,o2,o3的计算都要依赖于所有的输入x1,x2,x3,x4x1,x2,x3,x4,softmax回归的输出层也是一个全连接层。
softmax运算符(softmax operator)通过下式将输出值变换成值为正且和为1的概率分布用于预测类别输出:
其中
接着是损失函数。交叉熵适用于衡量两个概率分布的差异。
假设训练数据集的样本数为n,交叉熵损失函数定义为
在训练好softmax回归模型后,给定任一样本特征,就可以预测每个输出类别的概率。通常,我们把预测概率最大的类别作为输出类别。如果它与真实类别(标签)一致,说明这次预测是正确的。