前向传播之-softmax
softmax:这个分类器可以说是咱们深度学习领域最常见的一个分类器了,如果大家对逻辑回归有基础的话那么这个softmax分类器可以当成一个多分类的逻辑回归。
sigmoid:上图就是咱们这个sigmoid函数了,这个函数很重要无论在softmax还是在咱们之后会讲到的激活函数上,所以咱们先来看看这个函数是干什么用的,首先咱们先来看它的自变量X得到取值范围,可以看到咱们的X可以取正无穷到负无穷的一切实数,那么对应的Y也就是值域的范围是从0到1的。那么对于一个任意的输入X1我们都可以得到一个对应的值Y1,这个Y1是在0到1之间的一个数,也就是我们可以把所有的值都压缩到0到1这个区间内,结合咱们之前的得分函数,一个输入对于每一个类别的得分X,我们都可以把这个得分映射到[0,1]区间内,也就是把我们的得分数值转成了相应的概率值。
softmax-loss计算:这一系列的公式其实就告诉了咱们一件事咱们这个分类器最终的LOSS值是如何计算出来的,首先咱们对应于一个输入计算出了它属于每一个类别的得分数值,然后再用上面讲的sigmoid函数把所有的得分数值映射成一个概率值,有了概率值之后loss的计算就是对最终正确分类所占的概率求一个LOG值再取负号就OK了。
动手算:咱们现在就来动手算一下这个LOSS值是什么计算的,首先对每个得分数值计算其指数次幂,然后对于得到的所有值再做一个归一化的操作,***把正确分类的那个概率值带到LOSS计算公式中就性啦。
SVM和SOFTMA对比:从图中可以到最明显的区别就是LOSS值的计算方式,SVM是计算的分值的一个差值情况,SOFTMAX看的则是分类的准确率。这里就不详细推导他们优缺点了,可以告诉大家的是SOFTMAX对错误的分类敏感程度更高,其实SOFTMAX是一个永不满足的分类器,它的LOSS始终存在的,感兴趣的同学可以自己算一算LOSS的流程就知道了,所以在深度学习领域我们使用的更多的是SOFTMAX分类器。
【本文是51CTO专栏作者唐宇迪的原创稿件,转载请注明出处】