sigmod 函数与softmax 函数对比

sigmod 函数与softmax 函数之间既有类似,又有差异,是两种典型的深度神经网络的activation functions。通俗而言,sigmod 函数常用于二分类,softmax 函数常用于多分类。两者都起到了压缩的作用。

sigmoid函数(也叫逻辑斯谛函数)

引用wiki百科的定义:

A logistic function or logistic curve is a common “S” shape (sigmoid curve).
sigmod 函数与softmax 函数对比
  其实逻辑斯谛函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。

logistic曲线如下:
sigmod 函数与softmax 函数对比

softmax 函数

同样,我们贴一下wiki百科对softmax函数的定义:

softmax is a generalization of logistic function that “squashes”(maps) a K-dimensional vector z of arbitrary real values to a K-dimensional vector σ(z) of real values in the range (0, 1) that add up to 1.

这句话既表明了softmax函数与logistic函数的关系,也同时阐述了softmax函数的本质就是将一个K
维的任意实数向量压缩(映射)成另一个K

维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。

softmax函数形式如下:
  sigmod 函数与softmax 函数对比
总结:sigmoid将一个real value映射到(0,1)的区间(当然也可以是(-1,1)),这样可以用来做二分类。
而softmax把一个k维的real value向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….)其中bi是一个0-1的常数,然后可以根据bi的大小来进行多分类的任务,如取权重最大的一维。
参考:
https://www.cnblogs.com/charlesblc/p/6750290.html
http://blog.****.net/u014422406/article/details/52805924