softmax回归学习笔记:
分类问题: 假设数据集图像高和宽均为2像素,色彩为灰度。
例:
数据集真实标签:
狗 y1
猫 y2
鸡 y3
softmax回归模型:
softmax回归和线性回归都需要将输入特征与权重做线性叠加。不同的是,softmax回归的输出值个数等于标签里的类别数。
softmax回归和线性回归一样,都是一个单层神经网络。由于o1,o2,o3的计算于所有输入x1…x4,即softmax的输出层是一个全连接层。
softmax运算:
分类问题需要得到离散的预测输出,将输出值oi当作类别是i的置信度,并将值最大的输出所对应的类作为预测输出,即输出 。例如,如果o1, o2,o3分别为0.1,10,0.1,预测类为2,代表猫。
直接输出层存在的两个问题:
①由于输出值范围的不确定,难以直观上判断这些值的意义。例如:上面输出值10表示“很置信”图像类别为猫,如果o1=o3=1000,输出值10表示猫的概率又很低。
②由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。
为解决以上问题,通过softmax进行归一化处理:
其中:
容易看出:
单样本分类的矢量计算表达式:
假设softmax回归的权重和偏移量参数分别为:
设图像样本i的特征为:
输出层的输出为:
预测为狗、猫和鸡的概率分布为:
softmax回归对样本i分类的矢量计算表达式为:
小批量样本矢量表达式(批量为n,特征数为d,类别数为q):
交叉熵损失函数:
总结:
1.softmax回归适用于分类问题,使用softmax运算输出类别的概率分布。
2.softmax回归是一个单层的神经网络,输出个数等于分类问题中的类别个数。
3.交叉熵适合衡量两个概率分布的差异。