损失函数

又称为 目标函数,优化评分函数。
模型传参的两个重要指标之一:
一个是优化器
另一个就是 损失函数

损失函数需要对比的两个参数

y_true: 真实标签。
y_pred: 预测值。

损失函数包括

mean_squared_error

MSE 均方误差

Mean Square Error (MSE)
最基本的损失函数
神经网络计算值(预测值)与标签值的平方误差和
该值越小,模型越准确。

代码:

mean_squared_error(y_true, y_pred)

数学公式:


定义:mean_squared_error:均方误差函数,又称mse,最基本的损失函数
用途:神经网络计算值(预测值)与标签值的平方误差和。

mean_absolute_error

MAE 平均绝对误差

Mean Absolute Error (MAE)
目的:主要用于显著性目标检测。
显著性目标: 当你看到一副图像的时候,重点潜意识关注的对象,而通过该方法可以检测到。
值越小,模型越准确。

代码:

mean_absolute_error(y_true, y_pred)

数学公式:

mean_absolute_percentage_error

MAPE 平均绝对误差百分比

又称mape
样本中不能有0值。
当mape=0时,表示模型完美,而当mape=100时,则表示模型很差,不能使用。

代码:

mean_absolute_percentage_error(y_true, y_pred)

数学公式:


适用 : 对于补货计划来说,我们计算预测时间段
n代表n天。

Symmetric Mean Absolute Percentage Error

SMAPE 对称平均绝对百分比误差

Symmetric Mean Absolute Percentage Error
当真实值有数据等于0,而预测值也等于0时,存在分母0除问题,该公式不可用。

数学公式:

mean_squared_logarithmic_error

代码:

mean_squared_logarithmic_error(y_true, y_pred)

数学公式:

交叉熵损失函数

适合 分类问题

当使用 categorical_crossentropy 损失时,你的目标值应该是分类格式 (即,如果你有 10 个类,每个样本的目标值应该是一个 10 维的向量,这个向量除了表示类别的那个索引为 1,其他均为 0)。

categorical_crossentropy

CE

CE用于多分类

代码

categorical_crossentropy(y_true, y_pred)

数学公式:


CE是一个数值

sparse_categorical_crossentropy

sparse_categorical_crossentropy(y_true, y_pred)

binary_crossentropy

BCE

BCE适用于二分类

代码:

binary_crossentropy(y_true, y_pred)

数学公式:


BCE是一个向量

举例子:

下面是手动配置binart_crossentropy

model.compile(optimizer=optimizers.Adam(lr=args.lr),loss=['binary_crossentropy'],metrics=["categorical_accuracy"])

hinge

hinge loss

折页损失函数或者铰链损失函数,最著名的应用是作为SVM的目标函数。

代码
hinge(y_true, y_pred)

数学公式


ypred的值在 -1到1之间即可
不鼓励 |y|>1,即让某个样本能够正确分类就可
当样本与分割线的距离超过1时并不会有任何奖励,目的在于使分类器更专注于整体的分类误差。

squared_hinge

squared_hinge:平方铰链损失函数

代码

squared_hinge(y_true, y_pred)

数学公式

categorical_hinge

squared_hinge:平方铰链损失函数

categorical_hinge(y_true, y_pred)

数学公式

logcosh

logcosh(y_true, y_pred)

预测误差的双曲余弦的对数。

kullback_leibler_divergence

kullback_leibler_divergence(y_true, y_pred)

poisson

poisson(y_true, y_pred)

cosine_proximity

cosine_proximity(y_true, y_pred)

准确率

常用准确率

accuracy

weighted accuracy

SMAPE 权重 据对平方误差百分比

Yt是 t 时间步的真实值,Y 尖是[公式]时间步的预测值,N序列总长度。

不常见指标

MASE

Mean Absolute Scaled Error

m就是季节性的天数
如果是季节性,就可以看作 预测的季节 和 真实季节的差距。

通俗讲,就是之前是1天的实际数据 和 预测数据做差,
现在是 一个 季度 的 实际 和 预测数据,对比上一个季度的百分比。

import numpy as np
def naive_forecast(y:np.array, season:int=1):"naive forecast: season-ahead step forecast, shift by season step ahead"return y[:-season]
def mae(y:np.array, ypred:np.array):"mean absolute error"return np.mean(np.abs(y - ypred))
def mase(y:np.array, ypred:np.array, season:int=1):# Mean Absolute Value return mae(y, ypred) / mae(y[season:], naive_forecast(y, season))

RMSSE

Root Mean Square Scaled Error

h 是预测外推期,
N 是历史时间序列总长度。

通俗讲,就是 100个历史数据做预测,要预测出10个。
这10个真实值 和 预测值 做差 的平方
比上
100个历史数据 和 预测值 做差 的平方。

def mse(y:np.array, ypred:np.array):return np.mean(np.square(y - ypred))
def rmsse(y:np.array, ypred:np.array, season: int=1):return np.sqrt(mse(y, ypred) / mse(y[season:], naive_forecast(y, season)))

参考链接:

https://zhuanlan.zhihu.com/p/355530331
https://keras.io/zh/losses/#mean_squared_logarithmic_error
https://zhuanlan.zhihu.com/p/48078990

损失函数总结 : 评价模型好坏指标准确率 和 稳定性相关推荐

  1. ML之ME/LF:机器学习之风控业务中常用模型监控指标CSI(特征稳定性指标)的简介、使用方法、案例应用之详细攻略

    ML之ME/LF:机器学习之风控业务中常用模型监控指标CSI(特征稳定性指标)的简介.使用方法.案例应用之详细攻略 目录 CSI(特征稳定性指标)的简介 1.如何计算CSI? 2.CSI值的意义 3. ...

  2. 为什么搜索与推荐场景用AUC评价模型好坏?

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | 吴海波 在互联网的排序业务中,比如搜索.推荐.广告等,AUC(Area under the Curve of ROC)是一个非常常 ...

  3. 模型评估指标(Confusion Matrix、ROC、AUC)

    文章目录 1.选择合适的模型评估指标的依据 2.混淆矩阵(Confusion Matrix) 2.1 模型整体效果:准确率 2.2 捕捉少数类:精确率(Precision).召回率(Recall)和F ...

  4. kmeans及模型评估指标_模型评估常用指标

    一. ROC曲线和AUC值 在逻辑回归.随机森林.GBDT.XGBoost这些模型中,模型训练完成之后,每个样本都会获得对应的两个概率值,一个是样本为正样本的概率,一个是样本为负样本的概率.把每个样本 ...

  5. 机器学习中如何评价模型的好坏

    机器学习中如何评价模型的好坏 Week 2 主要学习机器学习中的基础知识 Targets for this week: 数据拆分:训练数据集&测试数据集 评价分类结果:精准度.混淆矩阵.精准率 ...

  6. 算法模型好坏、评价标准、算法系统设计

    算法模型好坏的评价通用标准: 1.解的精确性与最优性.基于正确性基础上. 2.计算复杂度,时间成本. 3.适应性.适应变化的输入和各种数据类型. 4.可移植性. 5.鲁棒性.健壮性. 鲁棒性(robu ...

  7. ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码)

    ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码) 目录 单个评价指标各种框架下实现 1 ...

  8. ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失、L1损失、L2损失、Logistic损失)求梯度/求导、案例应用之详细攻略

    ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失.L1损失.L2损失.Logistic损失)求梯度/求导.案例应用之详细攻略 目录 常见损失函数求梯度案例 1.线性回归求梯度 2.L ...

  9. CV之NS之ME/LF:图像风格迁移中常用的模型评估指标/损失函数(内容损失、风格损失)简介、使用方法之详细攻略

    CV之NS之ME/LF:图像风格迁移中常用的模型评估指标/损失函数(内容损失.风格损失)简介.使用方法之详细攻略 目录 图像风格迁移中常用的几种损失函数 1.内容损失 2.风格损失 3.定义总损失 图 ...

最新文章

  1. python3 判断字符串是否包含指定字符
  2. 计算机操作日志文件,查看电脑操作记录(LastActivityView)
  3. 【瑞星系统】促销更新【4】
  4. [-] Handler failed to bind to x.x.x.x:port排错
  5. python_文件操作代码实例
  6. java九种数据类型以及封装类
  7. caffeine 4hash lfu频度记录
  8. 张雪峰考研计算机怎么选学校,考研该如何选择学校?张雪峰老师妙语连珠
  9. Linux 常用系统工具与初始化配置
  10. Windows XP Embedded下载
  11. mathtype 转换 matlab,MathType和Mathematica之间如何相互转换
  12. 我们算了笔账,月薪过万可能还不配结婚!
  13. 北京地铁,把什么丢了?
  14. 国内第一本许可式订阅E-mail营销书籍
  15. 如何下载全球范围的谷歌卫星地图数据
  16. group_concat函数用法
  17. 关于DrawerLayout must be measured with MeasureSpec.EXACTLY问题解决办法
  18. 系统穿越频率用matlab,基于Matlab的自动控制系统设计
  19. 让你的电脑也识得二维码图片(二)
  20. mysql查表里面的字段

热门文章

  1. all any 或 此运算符后面必须跟_嵌套查询 带有in谓词,比较运算符,any或all谓词的子查询...
  2. GIT常见问题及命令指南
  3. 2012年终总结之pcode概述
  4. webflux 之 Stream流
  5. java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题
  6. HTC M8t unlock Bootloader/Root/S-OFF/解网络锁笔记
  7. python性能差_Python 性能分析大全
  8. Unity 草的制作
  9. 简单实现一个虚拟形象系统
  10. oracle捕获工具,SQL Monitor(oracle语句追踪工具)