【转】多类分类下为什么用softmax而不是用其他归一化方法?

转自:https://www.zhihu.com/question/40403377?sort=created

有两点原因。

softmax的形式为:P(y=i) = \frac{\exp(\sum_d w_{id}x_d)}{\sum_j \exp(\sum_d w_{jd}x_d)}

原因之一在于softmax设计的初衷,是希望特征对概率的影响是乘性的。

原因之二在于,多类分类问题的目标函数常常选为cross-entropy,即 L = -\sum_k t_k \log P(y = k),其中目标类的 t_k等于1,其它类的 t_k等于0。
在神经网络模型(最简单的logistic regression也可看成没有隐含层的神经网络)中,输出层第 i个神经元的输入为 a_i = \sum_d w_{id}x_d
神经网络是用error back-propagation训练的,这个过程中有一个关键的量是 \partial L / \partial a_i
可以算出,同时使用softmax和cross-entropy时, \partial L / \partial a_i = P(y=i) - t_i
这个形式非常简洁,而且与线性回归(采用最小均方误差目标函数)、两类分类(采用cross-entropy目标函数)时的形式一致。


作者:王赟 Maigo
链接:https://www.zhihu.com/question/40403377/answer/86647017
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/lanyuxuan100/article/details/80532647