多分类任务为什么用softmax而不用其他归一化方法

有两点原因。

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

原因之一在于softmax设计的初衷,是希望特征对概率的影响是乘性的。
原因之二在于,多类分类问题的目标函数常常选为cross-entropy,即L=-\Sigma_kt_klogP(y=k),其中目标类的t_k等于1,其它类的t_k等于0。

在神经网络模型(最简单的logistic regression也可看成没有隐含层的神经网络)中,输出层第i个神经元的输入为a_i=\Sigma_dw_{id}x_d

神经网络是用error back-propagation训练的,这个过程中有一个关键的量是\vartheta L/\vartheta a_i

可以算出,同时使用softmax和cross-entropy时,\vartheta L/\vartheta a_i = P(y=i)-t_i

这个形式非常简洁,而且与线性回归(采用最小均方误差目标函数)、两类分类(采用cross-entropy目标函数)时的形式一致。

具体公式推导:http://blog.csdn.net/jerr__y/article/details/71215590

你可能感兴趣的:(多分类任务为什么用softmax而不用其他归一化方法)