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搭配使用的交叉熵。

深度学习中常用的代价函数相关推荐

  1. DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

    DL之AF:机器学习/深度学习中常用的激活函数(sigmoid.softmax等)简介.应用.计算图实现.代码实现详细攻略 目录 激活函数(Activation functions)相关配图 各个激活 ...

  2. 深度学习中常用的误差方法

    深度学习中常用的误差方法有: 标准差(Standard Deviation): 标准差也叫均方差,是方差的算术平方根,反应数据的离散程度 ,标准差越小,数据偏离平均值越小,反之亦然 . 公式为: py ...

  3. 【AI初识境】深度学习中常用的损失函数有哪些?

    这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...

  4. Keras深度学习实战(4)——深度学习中常用激活函数和损失函数详解

    Keras深度学习实战(4)--深度学习中常用激活函数和损失函数详解 常用激活函数 Sigmoid 激活函数 Tanh 激活函数 ReLU 激活函数 线性激活函数 Softmax 激活函数 损失函数 ...

  5. 深度学习中常用的标注文件

    深度学习中常用的标注文件 mat mat文件是matlab专用的文件,第一次见是再COCOstuff-10k数据集中. 遇到的问题:如果用sublime打开的话,会显示16进制格式,可以猜想matla ...

  6. 深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结

    深度学习中常用的优化算法(SGD, Nesterov,Adagrad,RMSProp,Adam)总结 1. 引言 在深度学习中我们定义了损失函数以后,会采取各种各样的方法来降低损失函数的数值,从而使模 ...

  7. yolo-mask的损失函数l包含三部分_【AI初识境】深度学习中常用的损失函数有哪些?...

    这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...

  8. 「AI初识境」深度学习中常用的损失函数有哪些?

    https://www.toutiao.com/a6695152940425937411/ 这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

  9. wgan 不理解 损失函数_AI初识:深度学习中常用的损失函数有哪些?

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

最新文章

  1. 模仿nginx修改进程名
  2. 剑指offer:对称的二叉树
  3. CentOS 上安装MYSQL+Apache+PHP
  4. 在c语言中怎么修改信息,车管所信息变更
  5. 如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
  6. cocos2d-x-3.x 动作(5)序列动作
  7. [Leedcode][JAVA][第9题][回文数][数学法]
  8. 安装openJDK 8
  9. 基于JAVA+SpringBoot+Mybatis+MYSQL的园区招商管理系统
  10. WIN10网络共享文件夹实战
  11. 六轴传感器icm20602的自检和校准学习
  12. c语言命令行贪吃蛇,C语言实现贪吃蛇游戏(命令行)
  13. 设计和实现一款轻量级的爬虫框架
  14. 系统分析和设计方法之输出设计和原型化
  15. 黑科技新添成员, 小米mix5再次创新, 但这些真的只是黑科技的全部吗?
  16. Python编程基础(1)
  17. 使用crow创建一个c++的web服务
  18. 小白如何学习运营公众号?
  19. Halcon 3D 三维重建
  20. 二进制和十进制相互转换的简便方法

热门文章

  1. grafana在项目中添加datasource(数据源)
  2. 大连交通大学计算机网络,计算机网络题库(大连交通大学)chapter5
  3. 销售和程序员哪个好_进销存销售软件哪个好
  4. 零基础微信小程序Day1
  5. 机会网络(DTN)——MaxProp
  6. [转载]2016最流行的Android组件、工具、框架大全
  7. ARKit开发从入门到精通(2)--- 将AR内容录制保存为视频、Gif
  8. C# DataGridView的单元格输入限制 数字 小数点 等
  9. 一个很好的解释mp4的文章--mp4info 解析mp4的好工具
  10. Lottie安卓开源动画库使用