softmax的计算方式
单样本计算表达式
假设softmax回归的权重和偏差参数分别为
为输出层的值。一、为使得输出层的值范围确定,以便于直观判断;二、使得真实标签(离散值)与输出值之间的误差可衡量。因此,引入了softmax运算符。即运算结果,也是分布概率。这些概率和为1,且都为正。
小批量矢量计算表达式
给定一个小批量样本,其批量大小为,输入个数(特征数)为,输出个数(类别数)为。则是维的,权重为是维的,偏差为是维的。计算表达式与单样本计算表达式类似。其中,偏差的相加使用了广播机制。
交叉熵损失函数
相比平方损失估计的损失严格估计,交叉熵cross entropy)是更适合衡量两个概率分布差异的测量函数。它只关心对正确类别的预测概率,因为只要其值足够大,就可以确保分类结果正确。然,遇到一个样本有多个标签时,例如图像里含有不止一个物体时,我们并不能做这一步简化。以下是交叉熵的讲解,非常清晰。来自小罗同学,感谢,链接伯禹学习平台
一些小的tips:
1、反向传递求梯度前一定要梯度清理,以免累增
2、X.view(-1,1)。-1表示自适应。该句意思是将X变换为1列的数据。如有6个元素的矩阵X,X.view(-1,3)即将X变为23的矩阵,其中3为固定值,2为自适应的结果。