深度学习中常用的代价函数
1.二次代价函数(quadratic cost):
其中,C表示代价函数,x表示样本,y表示实际值,a表示输出值,n表示样本的总数。为简单起见,使用一个样
本为例进行说明,此时二次代价函数为:
假如我们使用梯度下降法(Gradient descent)来调整权值参数的大小,权值w和偏置b的梯度推导如下:
其中,z表示神经元的输入,σ表示激活函数。w和b的梯度跟激活函数的梯度成正比,激活函数的梯度越大,w
和b的大小调整得越快,训练收敛得就越快。假设我们的激活函数是sigmoid函数:
假设我们目标是收敛到1.0。1点为0.82离目标比较远,梯度比较大,权值调整比较大。2点为0.98离目标比较近,梯度比较小,权值调整比较小。调整方案合理。
假如我们目标是收敛到0。1点为0.82目标比较近,梯度比较大,权值调整比较大。2点为0.98离目标比较远,梯
度比较小,权值调整比较小。调整方案不合理。
2.交叉熵代价函数(cross-entropy):
换一个思路,我们不改变激活函数,而是改变代价函数,改用交叉熵代价函数:
其中,C表示代价函数,x表示样本,y表示实际值,a表示输出值,n表示样本的总数。
当误差越大时,梯度就越大,参数w和b的调整就越快,训练的速度也就越快。
如果输出神经元是线性的,那么二次代价函数就是一种合适的选择。如果输出神经元是S型函数,那么比较适合
用交叉熵代价函数。
3.对数释然代价函数(log-likelihood cost):
对数释然函数常用来作为softmax回归的代价函数,然后输出层神经元是sigmoid函数,可以采用交叉熵代价函
数。而深度学习中更普遍的做法是将softmax作为最后一层,此时常用的代价函数是对数释然代价函数。
对数似然代价函数与softmax的组合和交叉熵与sigmoid函数的组合非常相似。对数释然代价函数在二分类时可
以化简为交叉熵代价函数的形式。
4.总结:
在tensorflow中用:
tf.nn.sigmoid_cross_entropy_with_logits()来表示跟sigmoid搭配使用的交叉熵。
tf.nn.softmax_cross_entropy_with_logits()来表示跟softmax搭配使用的交叉熵。
深度学习中常用的代价函数相关推荐
- DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略
DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...
- 深度学习中常用的误差方法
深度学习中常用的误差方法有: 标准差(Standard Deviation): 标准差也叫均方差,是方差的算术平方根,反应数据的离散程度 ,标准差越小,数据偏离平均值越小,反之亦然 . 公式为: py ...
- 【AI初识境】深度学习中常用的损失函数有哪些?
这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...
- Keras深度学习实战(4)——深度学习中常用激活函数和损失函数详解
Keras深度学习实战(4)--深度学习中常用激活函数和损失函数详解 常用激活函数 Sigmoid 激活函数 Tanh 激活函数 ReLU 激活函数 线性激活函数 Softmax 激活函数 损失函数 ...
- 深度学习中常用的标注文件
深度学习中常用的标注文件 mat mat文件是matlab专用的文件,第一次见是再COCOstuff-10k数据集中. 遇到的问题:如果用sublime打开的话,会显示16进制格式,可以猜想matla ...
- 深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结
深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结 1. 引言 在深度学习中我们定义了损失函数以后,会采取各种各样的方法来降低损失函数的数值,从而使模 ...
- yolo-mask的损失函数l包含三部分_【AI初识境】深度学习中常用的损失函数有哪些?...
这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...
- 「AI初识境」深度学习中常用的损失函数有哪些?
https://www.toutiao.com/a6695152940425937411/ 这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...
- wgan 不理解 损失函数_AI初识:深度学习中常用的损失函数有哪些?
加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...
最新文章
- 模仿nginx修改进程名
- 剑指offer:对称的二叉树
- CentOS 上安装MYSQL+Apache+PHP
- 在c语言中怎么修改信息,车管所信息变更
- 如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
- cocos2d-x-3.x 动作(5)序列动作
- [Leedcode][JAVA][第9题][回文数][数学法]
- 安装openJDK 8
- 基于JAVA+SpringBoot+Mybatis+MYSQL的园区招商管理系统
- WIN10网络共享文件夹实战
- 六轴传感器icm20602的自检和校准学习
- c语言命令行贪吃蛇,C语言实现贪吃蛇游戏(命令行)
- 设计和实现一款轻量级的爬虫框架
- 系统分析和设计方法之输出设计和原型化
- 黑科技新添成员, 小米mix5再次创新, 但这些真的只是黑科技的全部吗?
- Python编程基础(1)
- 使用crow创建一个c++的web服务
- 小白如何学习运营公众号?
- Halcon 3D 三维重建
- 二进制和十进制相互转换的简便方法
热门文章
- grafana在项目中添加datasource(数据源)
- 大连交通大学计算机网络,计算机网络题库(大连交通大学)chapter5
- 销售和程序员哪个好_进销存销售软件哪个好
- 零基础微信小程序Day1
- 机会网络(DTN)——MaxProp
- [转载]2016最流行的Android组件、工具、框架大全
- ARKit开发从入门到精通(2)--- 将AR内容录制保存为视频、Gif
- C# DataGridView的单元格输入限制 数字 小数点 等
- 一个很好的解释mp4的文章--mp4info 解析mp4的好工具
- Lottie安卓开源动画库使用