深度学习基础(一) —— softmax

softmax:重新定义了多层神经网络的输出层(output layer),注意仅和输出层有关系,和其他层无关。

我们知道在神经网络的前馈(feedforward)的过程中,输出层的输入(input)为:

zLj=kwLjkaL1k+bLj

在 softmax 的机制中,为获得输出层的输出(也即最终的输出),我们不是将 sigmoid 函数作用于其上,

aLj=σ(zLj)

而是采用所谓的 softmax function:

aLj=ezLjkezLk

因此:

  • (1)输出层输出之和为 1

    kaLk=kezLkkezLk=1

    因为输出层的输出之和为1,其中一项增加,其他所有项则会相应减少。

  • (2)输出层全部输出均为正:
    而且 softmax 的机制,也保证了所有的输出均为正值;

终上所述,softmax 层的输出其实为一种概率分布(probability distribution),因此对于一个多 label 的分类任务(比如手写字符识别,0-9)而言, aLj 对应于最终的分类结果为 j 的概率。

你可能感兴趣的:(深度学习基础(一) —— softmax)