神经网络常用和不常用损失函数
神经网络中常用损失函数汇总
假设训练集有N个数据对,输入数据XXX:x1,x2,⋯,xNx_1, x_2, \cdots, x_Nx1,x2,⋯,xN,输入数据预测值为YpredictY_{predict}Ypredict:ypredict1,ypredict2,⋯,ypredictNy_{predict}^1, y_{predict}^2, \cdots, y_{predict}^Nypredict1,ypredict2,⋯,ypredictN,输入数据真实值为YtrueY_{true}Ytrue:ytrue1,ytrue2,⋯,ytrueNy_{true}^1, y_{true}^2, \cdots, y_{true}^Nytrue1,ytrue2,⋯,ytrueN
mean_squared_error 均方误差
MSE(Ytrue,Ypredict)=1N∑i=1N(ytruei−ypredicti)2MSE(Y_{true}, Y_{predict})=\frac{1}{N} \sum_{i=1}^{N}(y_{true}^i-y_{predict}^i)^2 MSE(Ytrue,Ypredict)=N1i=1∑N(ytruei−ypredicti)2
def mean_squared_error(y_true, y_pred):return K.mean(K.square(y_pred - y_true), axis=-1)
mean_absolute_error:平均绝对误差
MAE(Ytrue,Ypredict)=1N∑i=1N∣ytruei−ypredicti∣MAE(Y_{true}, Y_{predict})=\frac{1}{N} \sum_{i=1}^{N}|y_{true}^i-y_{predict}^i| MAE(Ytrue,Ypredict)=N1i=1∑N∣ytruei−ypredicti∣
def mean_absolute_error(y_true, y_pred):return K.mean(K.abs(y_pred - y_true), axis=-1)
mean_absolute_percentage_error:平均绝对百分比误差
MAPE(Ytrue,Ypredict)=1N∑i=1N∣ytruei−ypredictiytruei∣MAPE(Y_{true}, Y_{predict})=\frac{1}{N} \sum_{i=1}^{N}|\frac{y_{true}^i-y_{predict}^i}{y_{true}^i}| MAPE(Ytrue,Ypredict)=N1i=1∑N∣ytrueiytruei−ypredicti∣
这里要注意分母不能除0
def mean_absolute_percentage_error(y_true, y_pred):diff = K.abs((y_true - y_pred) / K.clip(K.abs(y_true),K.epsilon(),None))return 100. * K.mean(diff, axis=-1)
hinge:合页误差:
hinge(Ytrue,Ypredict)=1N∑i=1N(max(1−ytrueiypredicti,0)hinge(Y_{true}, Y_{predict})=\frac{1}{N} \sum_{i=1}^{N}(max(1-y_{true}^iy_{predict}^i, 0) hinge(Ytrue,Ypredict)=N1i=1∑N(max(1−ytrueiypredicti,0)
def hinge(y_true, y_pred):return K.mean(K.maximum(1. - y_true * y_pred, 0.), axis=-1)
squared_hinge
hinge(Ytrue,Ypredict)=1N∑i=1N(max(1−ytrueiypredicti,0)2hinge(Y_{true}, Y_{predict})=\frac{1}{N} \sum_{i=1}^{N}(max(1-y_{true}^iy_{predict}^i, 0)^2 hinge(Ytrue,Ypredict)=N1i=1∑N(max(1−ytrueiypredicti,0)2
def squared_hinge(y_true, y_pred):return K.mean(K.square(K.maximum(1. - y_true * y_pred, 0.)), axis=-1)
categorical_hinge
def categorical_hinge(y_true, y_pred):pos = K.sum(y_true * y_pred, axis=-1)neg = K.max((1. - y_true) * y_pred, axis=-1)return K.maximum(0., neg - pos + 1.)
categorical_crossentropy:多分类交叉熵
多类交叉熵损失针对的是多分类问题。真实值采用one-hot编码。例如总共有3个类,第0个类表示为 (1,0,0)。假设有n个类,则第iii个样本真实值为yi=(y1i,y2i,⋯,yni)y^i=(y_1^i, y_2^i, \cdots, y_n^i)yi=(y1i,y2i,⋯,yni),预测值为y^i=(y^1i,y^2i,⋯,y^ni)\hat{y}^i=(\hat{y}_1^i, \hat{y}_2^i, \cdots, \hat{y}_n^i)y^i=(y^1i,y^2i,⋯,y^ni),
categorical_crossentropy(Ytrue,Ypredict)=1N∑i=1N∑j=1nyjilogy^jicategorical\_ crossentropy(Y_{true}, Y_{predict})=\frac{1}{N}\sum_{i=1}^{N}\sum_{j=1}^{n}y^i_j \log \hat{y}^{i}_{j} categorical_crossentropy(Ytrue,Ypredict)=N1i=1∑Nj=1∑nyjilogy^ji
sparse_categorical_crossentropy:稀疏的分类交叉熵
原理与categorical_crossentropy一样,不过真实值采用的整数编码。例如第0个类用数字0表示,第3个类用数字3表示。
binary_crossentropy:二分类交叉熵。
binary_crossentropy(Ytrue,Ypredict)=−1N∑i=1N[ytrueilog(ypredi)+(1−ytruei)log(1−ypredi)]binary \_crossentropy(Y_{true}, Y_{predict})=-\frac{1}{N}\sum_{i=1}^{N}[y^i_{true} \log (y^i_{pred}) + (1-y_{true}^i)\log (1-y^i_{pred})] binary_crossentropy(Ytrue,Ypredict)=−N1i=1∑N[ytrueilog(ypredi)+(1−ytruei)log(1−ypredi)]
当yprediy_{pred}^iypredi和ytrueiy_{true}^iytruei一致时(都为0或1),交叉熵为0,否则为无穷。
先汇总这么多,以后在更。
神经网络常用和不常用损失函数相关推荐
- 边框回归的损失函数_一文搞懂常用的七种损失函数
主要内容: 0-1, Hinge, Logistic, Cross Entropy, Square, Absolute, Huber 简述: 损失函数刻画了模型与训练样本的匹配程度. 分类损失 分类L ...
- 神经网络基础知识、常用激活函数及其Python图形绘制
在人工智能与机器学习研究与应用领域,神经网络占有重要地位.神经网络(Neural Networks, NNs),又称人工神经网络(Artificial Neural Networks, ANNs),是 ...
- 神经网络中的激活函数与损失函数深入理解推导softmax交叉熵
神经网络中的激活函数与损失函数&深入理解softmax交叉熵 前面在深度学习入门笔记1和深度学习入门笔记2中已经介绍了激活函数和损失函数,这里做一些补充,主要是介绍softmax交叉熵损失函数 ...
- R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析
R语言广义线性模型函数GLM.广义线性模型(Generalized linear models).GLM函数的语法形式.glm模型常用函数.常用连接函数.逻辑回归.泊松回归.系数解读.过散度分析 目录
- 常用和不常用端口一览表收藏
大家在学习计算机的时候,对于最常用的几个端口比如80端口肯定有很深的印象,但是对于其他一些不是那么常用的端口可能就没那么了解.所以,在一些使用频率相对较高的端口上,很容易会引发一些由于陌生而出现的错误 ...
- cmake 常用变量和常用环境变量查表手册
cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定 ...
- Algorithm:数学建模大赛(国赛和美赛)的简介/内容、数学建模做题流程、历年题目类型及思想、常用算法、常用工具之详细攻略
Algorithm:数学建模大赛(国赛和美赛)的简介/内容.数学建模做题流程.历年题目类型及思想.常用算法.常用工具之详细攻略 目录 国内数学建模大赛简介 1.本科生数学建模大赛 2.研究生数学建模大 ...
- Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例之详细攻略
Python语言学习之pandas:DataFrame二维表的简介.常用函数.常用案例之详细攻略 目录 DataFrame的简介 DataFrame的常用案例 1.写入和读取excel表格文件
- 73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令
73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令 73.1.堆内存基本结构 73.2.参数分类 73.3.推荐的配置项 73.4.参数混用问题 73.5.常用命令 7 ...
- python 常用包_Python常用指引
Python常用指引 Python常用指引的形式来源于Linux文档项目的常用指引章节,是一系列独立.指定主题并尝试完全覆盖该主题的文章集合.致力于提供比Python库参考帮助更详尽的文档. Pyth ...
最新文章
- 雅虎前端优化的35条军规
- vue3数据绑定显示列表数据局
- 吴恩达机器学习训练2:Logistic回归
- UWA TIPS:让你的项目更懂你!
- 微信小程序背景图片如何设置--如何用background-image Base64设置背景
- 中医预约管理系统都需要哪些功能?
- STM32/KEIL/MDK 查看 FLASH 和 RAM 使用情况
- linux 安装SopCast实现在线直播(2)
- 纯前端word导出echarts图表
- Android Jni 调用
- jmeter逻辑控制器之如果(if)控制器实战(二)
- 飞机机翼机身对接结构数值计算分析(ANSYS)
- 部署卡巴斯基网络版6.0:安装控制中心和服务器端推送
- 统一安全管理平台解决方案
- 膨胀卷积神经网络_用膨胀的卷积神经网络生成钢琴音乐
- PTA程序设计类实验辅助教学平台-基础编程题--JAVA--7.10 计算工资
- 什么是大数据架构?需要学什么内容?
- 武汉大学中山大学计算机就业,中山大学与武汉大学:实力接近,规模相当,2021录取差距拉大...
- 4 UML 图中,一张交互图显示一个交互,由一组对象及其之间的关系组成,包含它 们之间可能传递的消息,以下不是交互图的是( )
- 国家正在进行数据安全布局,你get到了吗?