Loading...

正文

Softmax函数的形式:
公式为 P(y=i)=exp(awiTx)jexp(awjTx)P(y=i) = \frac{\exp(a_{w_i^Tx})}{\sum_j \exp(a_{w_j^Tx})}。原因之一在于softmax设计的初衷,是希望特征对概率的影响是乘性的。

多类分类问题的目标函数:
通常选择为cross-entropy,即 L=txlogP(y=k)L = -\sum t_{x} \log P(y = k),其中目标类的tt等于1,其它类的tt等于0。

在神经网络模型中(最简单的logistic regression也可看成没有隐含层的神经网络),输出层第ii个神经元的输入为 ai=awixda_{i} = \sum a_{w_{i}xd}。神经网络是用error back-propagation训练的,在这个过程中有一个关键的量是 Lai\frac{\partial L}{\partial a_{i}}。可以算出,同时使用softmax和cross-entropy时,Lai=P(y=i)t\frac{\partial L}{\partial a_{i}} = P(y=i) - t。这个形式非常简洁,而且与线性回归(采用最小均方误差目标函数)、两类分类(采用cross-entropy目标函数)时的形式一致。

softmax的优点

  • 直观看来,是因为它能够将神经网络输出的定义在实数域的logits(神经网络输出值) 变为非负值,且归一化到[0,1]区间,所以很适合作为概率值。
  • Softmax 函数还能拉开大小值之间的差距,通常更突出最大值,在某些情况下,这也是深度学习所期望的。