一.概述
softmax其实是Logistic的推广到多类别分类应用中。softmax分类器的思想很简单,对于一个新的样本,softmax回归模型对于每一类都先计算出一个分数,然后通过softmax函数得出一个概率值,根据最终的概率值来确定属于哪一类。
首先,我们看一下sigmod激活函数,如下图,它经常用于逻辑回归,将一个real value映射到(0,1)的区间(当然也可以是(-1,1),这样可以用来做二分类。
softmax函数:
二.实现
softmax把一个k维的real value向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….)
其中bi是一个0-1的常数,然后可以根据bi的大小来进行多分类的任务,如取概率最大的一维。
具体实现如下图:
无非是把神经网络最后一层的激活函数替换为softmax函数,算出概率值最大的那一类即正确类
其代价函数为
实例如下图所示,当代价函数最小时,那一个正确分类的概率输出值最大。
对于多分类问题,最后一层为softmax层。对于softmax层,在实现反向传播时,,由此就可以计算神经网络中的所有导数。