神经网络的交叉熵损失函数

原创 2017年07月04日 18:07:16

常见损失函数

  • 0-1损失函数
    L(Y,f(X))={1,0Y != f(X)Y = f(X)
  • 平方损失函数
    L(Y,f(X))=(Yf(X))2
  • 绝对损失函数L(Y,f(X))=|(Yf(X))|
  • 对数损失函数L(Y,P(Y|X))=logP(Y|X)

常见的损失函数包含以上几个。

平方损失函数

在神经网络中样本的平方损失函数一般会定义为:
Ed=12i(ziyi)2,方便求导后约掉系数。

使用误差逆传播训练神经网络时会使用梯度下降法来更新每个神经网络中的权重,
根据链式求导法可以得到权重更新公式,

Edwji=Ednodejnodejwji=Ednodejiwjixjiwji=Ednodejxji

此时对于输出层,权重更新公式为
Edwji=Edyjyjnodejxji

sigmoid激活函数

如果神经元使用sigmoid激活函数,即y=11+ez
,函数图如下,
这里写图片描述

则梯度下降法更新权重时,会涉及到sigmoid函数的导数,这个导数的形状大致如下:
这里写图片描述
可以看到导数两边的值基本都接近0,也就是说两边的斜率很平缓,两边的点在使用梯度下降时下降很缓慢,可能会影响训练最终效果。

交叉熵损失函数

针对以上不足,有两个方向来避免,一是从激活函数下手,一个是从损失函数下手。这里我们不换激活函数,还是用sigmoid函数,于是引入了交叉熵损失函数。

L=i[zilnyi+(1zi)ln(1yi)]

这时再看权重更新公式,
Lwji=Lnodejnodejwji=Lnodejiwjixjiwji=Lnodejxji

此时对于输出层,权重更新公式为
Lwji=Lyjyjnodejxji=xji(zjyj)

可以看到梯度下降已经不与sigmoid的导数相关了,而是由误差来影响,当误差较大时则下降较快,让梯度下降法更有效率,避免了训练慢的问题。

以下是广告相关阅读

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

相关阅读:
机器学习之神经网络

欢迎关注:

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

交叉熵代价函数

本文是《Neural networks and deep learning》概览 中第三章的一部分,讲machine learning算法中用得很多的交叉熵代价函数。1.从方差代价函数说起代价函数经常...

交叉熵代价函数(损失函数)及其求导推导

Logistic回归的交叉熵(cross entropy)代价函数(cost function)及其求导(derivation)推导。 文章详细介绍了交叉熵损失函数的推导,交叉熵损失函数对参数求导公式...
  • jasonzzj
  • jasonzzj
  • 2016年07月25日 00:04
  • 20598

交叉熵损失函数

香农熵    1948 年,香农提出了“信息熵”(shāng) 的概念,才解决了对信息的量化度量问题。 一条信息的信息量大小和它的不确定性有直接的关系。比如说,我们要搞清楚一件非常非...

交叉熵代价函数(损失函数)及其求导推导

本文章已收录于: 分类: 机器学习(9) 作者同类文章X •检测率,召回率,mAP,ROC •softmax 带 tempret...

交叉熵损失函数

一、香农熵 香农熵   1948 年,香农提出了“信息熵”(shāng) 的概念,才解决了对信息的量化度量问题。 一条信息的信息量大小和它的不确定性有直接的关系。比如说,我们...

理解交叉熵作为损失函数在神经网络中的作用

交叉熵的作用通过神经网络解决多分类问题时,最常用的一种方式就是在最后一层设置n个输出节点,无论在浅层神经网络还是在CNN中都是如此,比如,在AlexNet中最后的输出层有1000个节点: 而即便...

交叉熵损失函数好文推荐

点击打开链接 点击打开链接

交叉熵损失函数

前言交叉熵损失函数交叉熵损失函数的求导 前言 说明:本文只讨论Logistic回归的交叉熵,对Softmax回归的交叉熵类似。 首先,我们二话不说,先放出交叉熵的公式: J(θ)=−1...
  • hk121
  • hk121
  • 2017年05月09日 14:37
  • 296

为什么交叉熵损失可以提高具有sigmoid和softmax输出的模型的性能,而使用均方误差损失则会存在很多问题

一、均方误差的权值更新过程(举例说明) 代价函数经常用方差代价函数(即采用均方误差MSE),比如对于一个神经元(单输入单输出,sigmoid函数),定义其代价函数为: 其中y是我们期望...

交叉熵代价函数(cross-entropy cost function)

1.从方差代价函数说起 代价函数经常用方差代价函数(即采用均方误差MSE),比如对于一个神经元(单输入单输出,sigmoid函数),定义其代价函数为: 其中y是我们期望的输出,a为神经元的实...
  • wtq1993
  • wtq1993
  • 2016年06月23日 10:37
  • 2379
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:神经网络的交叉熵损失函数
举报原因:
原因补充:

(最多只允许输入30个字)