Keras深度学习框架之损失函数
一.损失函数的使用
损失函数【也称目标函数或优化评分函数】是编译模型时所需的两个参数之一。
model.compile(loss='mean_squared_error', optimizer='sgd')
或
from keras import losses
model.compile(loss=losses.mean_squared_error, optimizer='sgd')
可以传递一个现有的损失函数名或者一个TensorFlow/Theano符号函数。该符号函数为每个数据点返回一个标量,有一下两个参数:
1.y_true
真实标签,TensorFlow/Theano张量。
2.y_pred
预测值,TensorFlow/Theano张量,其shape与y_true相同。
实际的优化目标是所有数据点的输出数组的平均值。
二.可用的损失函数
1.mean_squared_error(y_true, y_pred)【MSE,均方误差】
计算公式:

源码:

2.mean_absolute_error(y_true, y_pred)【MAE,平均绝对误差】
提到MAE就不能不说显著性目标检测,所谓显著性目标,举个例子来说,当我们观察一张图片时,我们会首先关注那些颜色鲜明,夺人眼球的内容。就像我们看变形金刚时会首先看擎天柱一样,这是绝对的C位。所以我们把变形金刚中的擎天柱定义为显著性目标。
在显著性目标检测中的评价指标计算中,常用的检测算法就有平均绝对误差,其计算公式如下:

源码:

3.mean_absolute_percentage_error【MAPE,平均绝对百分比误差】
与平均绝对误差类似,平均绝对百分比误差预测结果与真实值之间的偏差比例。计算公式如下:

源码:

备注:
1.clip
逐元素,将超出指定范围的数强制变为边界数。
2.epsilon
固定参数,默认值为1*e-7。
4.mean_squared_logarithmic_error【MSLE,均方对数误差】
在计算均方误差之前先对数据取对数,再计算。
计算公式:

源码:

5.squared_hinage【不常用】
计算公式:

源码:

6.hinage【不常用】
计算公式:

源码:

7.categorical_hinge【不常用】
源码:

8.logcosh【不常用】
预测误差的双曲余弦的对数。计算结果与均方误差大致相同,但不会受到偶尔疯狂的错误预测的强烈影响。
源码:

9.categorical_crossentropy【不常用】
当使用categorical_crossentropy损失时,目标值应该是分类格式【即假如是10类,那么每个样本的目标值应该是一个10维的向量,这个向量除了表示类别的那个索引为1,其它均为0】。为了将整数目标值转换为分类目标值,可以使用keras实用函数to_categorical。
from keras.utils.np_utils import to_categorical
categorical_labels = to_categorical(int_labels, num_classes=None)
源码:

10.sparse_categorical_crossentropy【不常用】
源码:

11.binary_crossentropy【不常用】
源码:

12.kullback_leibler_divergence【不常用】
源码:

13.poisson【不常用】
计算公式:

源码:

14.cosine_proximity【不常用】
计算公式:

源码:

Keras深度学习框架之损失函数的更多相关文章
- 解析基于keras深度学习框架下yolov3的算法
一.前言 由于前一段时间以及实现了基于keras深度学习框架下yolov3的算法,本来想趁着余热将自己的心得体会进行总结,但由于前几天有点事就没有完成计划,现在趁午休时间整理一下. 二.Keras框架 ...
- Keras深度学习框架安装及快速入门
1.下载安装Keras 如果你是安装的Anaconda组合套件,可以直接在Prompt上执行安装命令:pip install keras 注意:最下面为Successfully...表示安装成功! 2 ...
- win7上安装theano keras深度学习框架
近期在学习深度学习,需要在本机上安装keras框架,好上手.上网查了一些资料,弄了几天今天终于完全搞好了.本次是使用GPU进行加速,使用cpu处理的请查看之前的随笔keras在win7下环境搭建 本机 ...
- 一个可扩展的深度学习框架的Python实现(仿keras接口)
一个可扩展的深度学习框架的Python实现(仿keras接口) 动机 keras是一种非常优秀的深度学习框架,其具有较好的易用性,可扩展性.keras的接口设计非常优雅,使用起来非常方便.在这里,我将 ...
- 转:TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比
http://geek.csdn.net/news/detail/138968 Google近日发布了TensorFlow 1.0候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自Tens ...
- 深度学习框架Keras与Pytorch对比
对于许多科学家.工程师和开发人员来说,TensorFlow是他们的第一个深度学习框架.TensorFlow 1.0于2017年2月发布,可以说,它对用户不太友好. 在过去的几年里,两个主要的深度学习库 ...
- 深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras
TheanoTheano在深度学习框架中是祖师级的存在.Theano基于Python语言开发的,是一个擅长处理多维数组的库,这一点和numpy很像.当与其他深度学习库结合起来,它十分适合数据探索.它为 ...
- 基于Theano的深度学习框架keras及配合SVM训练模型
https://blog.csdn.net/a819825294/article/details/51334397 1.介绍 Keras是基于Theano的一个深度学习框架,它的设计参考了Torch, ...
- 如何评价深度学习框架Keras?
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...
随机推荐
- 20190918Java课堂记录
1. EnumTest.java public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; ...
- 从0开发3D引擎(七):学习Reason语言
目录 上一篇博文 介绍Reason Reason的优势 如何学习Reason? 介绍Reason的部分知识点 大家好,本文介绍Reason语言以及学习Reason的方法. 上一篇博文 从0开发3D引擎 ...
- 【Flink】Flink作业调度流程分析
1. 概述 当向Flink集群提交用户作业时,从用户角度看,只需要作业处理逻辑正确,输出正确的结果即可:而不用关心作业何时被调度的,作业申请的资源又是如何被分配的以及作业何时会结束:但是了解作业在运行 ...
- CTF-Keylead(ASIS CTF 2015)
将keylead下载到本地用7-ZIP打开,发现主要文件 keylead~ 在ubuntu里跑起来,发现是个游戏,按回车后要摇出3,1,3,3,7就能获得flag. 拖进IDA 直接开启远程调试,跑起 ...
- 美食家app开发日记
民以食为天. 作为一个20年几乎没做过饭的吃货,从这个假期开始,想利用些时间,自己动手尝试,做些好吃的出来,一方面给父母减轻点负担,获得点成就感,一方面体验生活,学学厨艺,感受生活的乐趣和美好,其三, ...
- Windows10系统配置telnet服务的方法
通常情况下,Windows10正式版系统的telnet服务都是处于关闭状态的,需要我们手动开启才可以.telnet服务可以调试端口,其重要性不容小视.今天,系统城小编就教大家如何配置telnet服务. ...
- fastjson中Map与JSONObject互换
1.//将map转换成jsonObject JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap)); 将 ...
- centos7下redis安全相关
Centos7下redis安全相关 在使用云服务器时,安装的redis3.0+版本都关闭了protected-mode,因而都遭遇了挖矿病毒的攻击,使得服务器99%的占用率!! 因此我们在使用redi ...
- 白话 spring AOP
------------------------------------ 剩下的时间不多了,抓经做自己想做的吧 AOP: 专业术语叫做面向切面的编程 为什么要使用aop: 为了简化代码, 将相同代码抽 ...
- win10下安装Anaconda3
1.官方下载:https://www.anaconda.com/distribution/#download-section (最新版直接下即可) 或者国内镜像下载:https://mirrors. ...