Logistic Loss的简单讨论
首先应该知道Logistic Loss和Crossing Entropy Loss本质上是一回事。
所以所谓的SoftMaxLoss就是一般二分类LogisitcLoss的推广。之所以在网络中采取这种损失,而不是均方误差的原因是LogisticLoss更易于求导:采用交叉熵做损失要比均方误差更合理。详细解释见:https://zhuanlan.zhihu.com/p/61944055。
也可以统一写成
Loss=ln(1+exp(-(2*y_i-1)*v_i)))
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
上面的推导都是基于Logistic Loss和Crossing Entropy Lossing本质一样的前提讨论的。
其实Logistic Loss和最大似然也是一样的出发点。
我们假设x为数据输入。SoftMax层的输入为(/theta_1^{T}x,/theta_2^{T}x,...,/theta_K^{T}x)^T,即假设x的分类可能有K种。
那么SoftMax层的输出就是(p_1,p_2,...,p_K),其中 p_i=exp(/theta_i^{T}x)/(/sigma_{j=1}^K{expexp(/theta_j^{T}x)}), i=1,...,K
这里p_i=p(x;/theta_i)就是数据x属于第i类的概率,也就是x的似然,亦即p_i=p(x;/theta_i)=L(/theta_i;x)
我们假设x的groundtruth为第c类,所以我们训练的目标就使似然函数L_c=L(/theta_c;x)最大。
当时实际上我们都是求对数似然函数,亦即使得Loss=-log(L(/theta_c;x))最小。
即Loss=-log(p_c)。这个就和SoftMax的损失完全一致了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++2018.5.15++++++++++++++++++++