神经网络的交叉熵损失函数
来源:互联网 发布:cad珠宝设计软件 编辑:程序博客网 时间:2024/05/17 09:12
常见损失函数
- 0-1损失函数
L(Y,f(X))={1,0Y != f(X)Y = f(X) - 平方损失函数
L(Y,f(X))=(Y−f(X))2 - 绝对损失函数
L(Y,f(X))=|(Y−f(X))| - 对数损失函数
L(Y,P(Y|X))=−logP(Y|X)
常见的损失函数包含以上几个。
平方损失函数
在神经网络中样本的平方损失函数一般会定义为:
使用误差逆传播训练神经网络时会使用梯度下降法来更新每个神经网络中的权重,
根据链式求导法可以得到权重更新公式,
此时对于输出层,权重更新公式为
sigmoid激活函数
如果神经元使用sigmoid激活函数,即
,函数图如下,
则梯度下降法更新权重时,会涉及到sigmoid函数的导数,这个导数的形状大致如下:
可以看到导数两边的值基本都接近0,也就是说两边的斜率很平缓,两边的点在使用梯度下降时下降很缓慢,可能会影响训练最终效果。
交叉熵损失函数
针对以上不足,有两个方向来避免,一是从激活函数下手,一个是从损失函数下手。这里我们不换激活函数,还是用sigmoid函数,于是引入了交叉熵损失函数。
这时再看权重更新公式,
此时对于输出层,权重更新公式为
可以看到梯度下降已经不与sigmoid的导数相关了,而是由误差来影响,当误差较大时则下降较快,让梯度下降法更有效率,避免了训练慢的问题。
以下是广告和相关阅读
========广告时间========
公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。
鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以购买。感谢各位朋友。
为什么写《Tomcat内核设计剖析》
=========================
相关阅读:
机器学习之神经网络
欢迎关注:
阅读全文
0 0
- 神经网络的交叉熵损失函数
- 理解交叉熵作为损失函数在神经网络中的作用
- 从神经网络视角看均方误差与交叉熵作为损失函数时的共同点
- 从神经网络视角看均方误差与交叉熵作为损失函数时的共同点
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵和损失函数
- 神经网络之损失函数:方差损失和互熵损失
- BP神经网络(输出层采用Softmax激活函数、交叉熵损失函数)公式推导
- 为什么在神经网络中要使用交叉熵而不是均方差作为损失函数
- 两种交叉熵损失函数的异同
- EditText右下角实时显示输入字数
- 线程基础学习
- PHP接入阿里云市场 阿里短信服务DEMO
- Scala学习笔记(三)scala的函数式编程
- TensorFlow 中的交叉熵(Cross Entropy)
- 神经网络的交叉熵损失函数
- android 获取系统默认路径
- P2P在IPTV中解决数据服务器传输瓶颈
- Python概念-上下文管理协议中的__enter__和__exit__
- UVA-340 Master-Mind Hints
- 【李宏毅老师机器学习课程笔记】第一课:What is Machine Learning, Deep Learning and Structured Learning?
- 排序数组分成若干子数组
- BZOJ1104 [POI2007]洪水pow——并查集+乱搞
- CSS基础-CSS选择器 10