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

标签: 机器学习 神经网络 交叉熵 损失函数 sigmoid
2246人阅读 评论(0) 收藏 举报
分类:

常见损失函数

  • 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的导数相关了,而是由误差来影响,当误差较大时则下降较快,让梯度下降法更有效率,避免了训练慢的问题。

以下是广告相关阅读

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

公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以购买。感谢各位朋友。

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

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

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

欢迎关注:

这里写图片描述

查看评论

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

前言 交叉熵损失函数 交叉熵损失函数的求导 前言 说明:本文只讨论Logistic回归的交叉熵,对Softmax回归的交叉熵类似。 首先,我们二话不说,先放出交叉熵的公式: J(θ)=...
  • jasonzzj
  • jasonzzj
  • 2016-07-25 00:04:44
  • 43984

交叉熵损失函数

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

交叉熵代价函数

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

简单易懂的softmax交叉熵损失函数求导

来写一个softmax求导的推导过程,不仅可以给自己理清思路,还可以造福大众,岂不美哉~ softmax经常被添加在分类任务的神经网络中的输出层,神经网络的反向传播中关键的步骤就是求导,从这个过程也...
  • qian99
  • qian99
  • 2017-09-20 22:23:33
  • 6268

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

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

交叉熵和损失函数

熵,交叉熵和损失函数,在机器学习中,这些概念容易让人迷糊,基于现有的理解,简要做一下总结供参考,以后理解深刻了,在进行拓展。 对公式直接截图粘贴试了几次不能显示。难道需要一张张图上传? 后面有时间再...
  • Ychan_cc
  • Ychan_cc
  • 2017-09-15 16:08:51
  • 851

交叉熵(Cross-Entropy)

交叉熵(Cross-Entropy) 交叉熵是一个在ML领域经常会被提到的名词。在这篇文章里将对这个概念进行详细的分析。 1.什么是信息量? 假设XX是一个离散型随机变量,其取值集合为X\mat...
  • rtygbwwwerr
  • rtygbwwwerr
  • 2016-03-03 18:31:10
  • 64039

两种交叉熵损失函数的异同

两种形式的交叉熵损失函数在学习机器学习的时候,我们会看到两个长的不一样的交叉熵损失函数。 假设我们现在有一个样本 {x,t}\{ x,t\}。 * −tjlog(yj)-t_j\text{log}...
  • u012436149
  • u012436149
  • 2017-04-07 21:26:56
  • 2109

交叉熵为何能作损失函数

在很多二分类问题中,特别是正负样本不均衡的分类问题中,常使用交叉熵作为loss对模型的参数求梯度进行更新,那为何交叉熵能作为损失函数呢,我也是带着这个问题去找解析的。 以下仅为个人理解,如有不当地方...
  • wenzishou
  • wenzishou
  • 2017-08-27 18:26:30
  • 4763

交叉熵损失函数好文推荐

点击打开链接 点击打开链接
  • qq_36273293
  • qq_36273293
  • 2017-10-25 15:47:57
  • 238
    作者
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 115万+
    积分: 1万+
    排名: 964
    博客专栏
    最新评论