交叉熵cross entropy

交叉熵在深度学习中作为损失函数比均方差更优,尤其在分类问题上。它结合sigmoid或softmax激活函数,能更好地加速训练。文章解释了交叉熵的定义,并对比了均方差函数。讨论了TensorFlow提供的四种交叉熵函数,特别是sigmoid_cross_entropy_with_logits的实现。还提到了Keras中的binary_crossentropy与之的区别。
摘要由CSDN通过智能技术生成

   在统计学中,损失函数是一种衡量损失和错误程度的函数.建设某样本的实际输出为a,而预计的输出为y,则y和a之间可能会不一样,存在偏差,深度学习的目的就是通过不断地训练迭代,使得a越来越接近y,即|a-y|\rightarrow 0,而训练的本质就是寻找损失函数最小值的过程.

    常见的损失函数有两种,一种是均方差函数,另一种是交叉熵函数,对于深度学习而言,交叉熵函数要优于均方差函数,原因在于交叉熵函数配合输出层的激活函数如sigmoid或softmax函数能更快地加速深度学习的训练速度.这是为什么呢?

第一种损失函数, 均方差函数(Mean Squared Error),定义如下。

loss=\frac{(a-y)^2}{2}

平方差很好理解,预测值与真实值直接相减,为了避免得到负数取绝对值或者平方,再做平均就是均方平方差。注意这里预测值需要经过sigmoid激活函数,得到取值范围在(0,1)之间的预测值。sigmoid激活函数定义如下:

sigmoid=\frac{1}{1+e^{-x}}

平方差可以表达预测值与真实值的差异,但在分类问题种效果并不如交叉熵好,原因可以参考相关论文(https://jamesmccaffrey.wordpress.com/2013/11/05/why-you-should-use-cross-entropy-error-instead-of-classification-error-or-mean-squared-error-for-neural-network-classifier-training/) 。交叉熵的定义如下,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值