交叉熵和均方差损失函数的比较

交叉熵和均方差损失函数的比较

交叉熵

        熵是香农信息量()(底数是2)的期望,即为衡量一个样本所需要的平均编码长度,表示为:


        其中的pi表示样本的分布,现在如果用一个估计的分布qi来表示求真实分布pi的平均编码长度,得到:


        即为交叉熵。举例说明,现有(A,B,C,D)四个字母,其中A出现的概率为1/2,B出现的概率为1/2,而C和D出现的概率均为0,即P:(1/2,1/2,0,0),则H(P)=-(1/2 * log1/2  + 1/2 * log1/2) = 1。现在预测得到(A,B,C,D)的概率分布为Q:(1/4,1/4,1/4,1/4),则H(P,Q) = -(1/2 * log 1/4 + 1/2 * log1/4) = 2。如果有Q:(1/2,1/4,1/4,0),则有:H(P,Q) =1.5。从这个例子中我们可以发现:

        1. H(P,Q)>=H(P);

        2. 预测分布Q越接近P,交叉熵的值越小。

        根据Gibbs' inequality可知,1.是恒成立的;其中2,也是交叉熵作为loss function的依据。

相对熵

        与交叉熵相似的概念,还有相对熵,同样可以用来判断两个分布的相似性,定义式:


        即为交叉熵减去真实分布的熵得到的,一般真实分布的熵是不变的,所以相对熵和交叉熵的数学意义是相同的,所以它同样可以用来作为loss function。相对熵又被成为KL散度Kullback–Leibler divergence,KLD) Kullback–Leibler divergence

交叉熵与均方差比较(Cross-Entropy vs. Squared Error)

        将从线性回归,逻辑回归,多分类的逻辑回归(softmax)三个例子分析。我们定义,将b放到w中,,其中f为激活函数。

线性回归:

        线性回归没有激活函数,所以有 :

        SE: 

          ,gradient: 

        CE:

        

        单从公式来看,SE对线性回归更适合一些,可以有效的梯度反向传播,而CE的公式预测值在分母位置,容易忽大忽小,并且还有趋向无穷的危险,故不适合作为线性回归的loss function。

逻辑回归(二分类)

        采用sigmoid的为激活函数,所以有

        SE:

        

        CE:

        

        使用SE作为loss function时,梯度收到压缩,造成梯度的损失,因为f是sigmoid函数所以0<f(u)<1,所以0<f(u)(1-f(u))<1,梯度乘以一个大于0小于1的数,造成了梯度的损失。而用cross-entropy作为loss时,梯度保持原样,且是线性函数,保证了梯度较稳定的回传。

多分类的逻辑回归(softmax)

        此时,激活函数是softmax,所以有:

        SE:

        

        如果这个的激活函数是sigmoid,那么导数只有前项,所以用softmax相比sigmoid,一定程度上可以减小梯度的损失。

        CE:

        

        可以看到相比CE,SE的梯度损失较大,CE则保持线性传递梯度,所以SE更容易出现梯度消失的情况。

总结

        1. 对SE而言,要得到一个线性的梯度,必须输出不经过激活函数才行。这样的情况只有线性回归,所以SE较适合做回归问题,而CE更适合做分类问题,在分类问题中,CE都能得到线性的梯度,能有效的防止梯度的消失;

        2. SE作为分类问题的loss时,由于激活函数求导的影响,造成连续乘以小于1大于0的数(f(u)(1-f(u)))造成梯度的消失,同时也使得error曲面变的崎岖,更慢的到的局部最优值。

参考:

https://www.zhihu.com/question/41252833

http://blog.csdn.net/zhufenghao/article/details/52735750

https://www-i6.informatik.rwth-aachen.de/publications/download/861/GolikPavelDoetschPatrickNeyHermann--Cross-Entropyvs.SquaredErrorTrainingaTheoreticalExperimentalComparison--2013.pdf











  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值