捋顺 用于分类任务的softmax 和softmaxwithloss

来源:互联网 发布:淘宝自助小火锅图片 编辑:程序博客网 时间:2024/05/21 05:21

1、softmax 函数:

定义:

以上公式:假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的Softmax值就可以用以上公式表示。也就是说,是该元素的指数,与所有元素指数和的比值。(是不是很简单)

知乎上有人用下图的方式解释了softmax函数:


总的来讲:就是把一堆实数的值映射到0-1区间,并且使他们的和为1。一般用来估计posterior probability,在多分类任务中有用到。sigmoid函数只能分两类,而softmax能分多类,softmax是sigmoid的扩展。


2、softmaxwithloss (计算与标注样本的差距

计算与标注样本的差距

在神经网络的计算当中,我们经常需要计算按照神经网络的正向传播计算的分数S1,和按照正确标注计算的分数S2,之间的差距,计算Loss,才能应用反向传播。Loss定义为交叉熵:


取log里面的值就是这组数据正确分类的Softmax值,它占的比重越大,这个样本的Loss也就越小,这种定义符合我们的要求。