损失函数总结 : 评价模型好坏指标准确率 和 稳定性
损失函数
又称为 目标函数,优化评分函数。
模型传参的两个重要指标之一:
一个是优化器
另一个就是 损失函数
损失函数需要对比的两个参数
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
损失函数总结 : 评价模型好坏指标准确率 和 稳定性相关推荐
- ML之ME/LF:机器学习之风控业务中常用模型监控指标CSI(特征稳定性指标)的简介、使用方法、案例应用之详细攻略
ML之ME/LF:机器学习之风控业务中常用模型监控指标CSI(特征稳定性指标)的简介.使用方法.案例应用之详细攻略 目录 CSI(特征稳定性指标)的简介 1.如何计算CSI? 2.CSI值的意义 3. ...
- 为什么搜索与推荐场景用AUC评价模型好坏?
星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | 吴海波 在互联网的排序业务中,比如搜索.推荐.广告等,AUC(Area under the Curve of ROC)是一个非常常 ...
- 模型评估指标(Confusion Matrix、ROC、AUC)
文章目录 1.选择合适的模型评估指标的依据 2.混淆矩阵(Confusion Matrix) 2.1 模型整体效果:准确率 2.2 捕捉少数类:精确率(Precision).召回率(Recall)和F ...
- kmeans及模型评估指标_模型评估常用指标
一. ROC曲线和AUC值 在逻辑回归.随机森林.GBDT.XGBoost这些模型中,模型训练完成之后,每个样本都会获得对应的两个概率值,一个是样本为正样本的概率,一个是样本为负样本的概率.把每个样本 ...
- 机器学习中如何评价模型的好坏
机器学习中如何评价模型的好坏 Week 2 主要学习机器学习中的基础知识 Targets for this week: 数据拆分:训练数据集&测试数据集 评价分类结果:精准度.混淆矩阵.精准率 ...
- 算法模型好坏、评价标准、算法系统设计
算法模型好坏的评价通用标准: 1.解的精确性与最优性.基于正确性基础上. 2.计算复杂度,时间成本. 3.适应性.适应变化的输入和各种数据类型. 4.可移植性. 5.鲁棒性.健壮性. 鲁棒性(robu ...
- ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码)
ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码) 目录 单个评价指标各种框架下实现 1 ...
- ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失、L1损失、L2损失、Logistic损失)求梯度/求导、案例应用之详细攻略
ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失.L1损失.L2损失.Logistic损失)求梯度/求导.案例应用之详细攻略 目录 常见损失函数求梯度案例 1.线性回归求梯度 2.L ...
- CV之NS之ME/LF:图像风格迁移中常用的模型评估指标/损失函数(内容损失、风格损失)简介、使用方法之详细攻略
CV之NS之ME/LF:图像风格迁移中常用的模型评估指标/损失函数(内容损失.风格损失)简介.使用方法之详细攻略 目录 图像风格迁移中常用的几种损失函数 1.内容损失 2.风格损失 3.定义总损失 图 ...
最新文章
- python3 判断字符串是否包含指定字符
- 计算机操作日志文件,查看电脑操作记录(LastActivityView)
- 【瑞星系统】促销更新【4】
- [-] Handler failed to bind to x.x.x.x:port排错
- python_文件操作代码实例
- java九种数据类型以及封装类
- caffeine 4hash lfu频度记录
- 张雪峰考研计算机怎么选学校,考研该如何选择学校?张雪峰老师妙语连珠
- Linux 常用系统工具与初始化配置
- Windows XP Embedded下载
- mathtype 转换 matlab,MathType和Mathematica之间如何相互转换
- 我们算了笔账,月薪过万可能还不配结婚!
- 北京地铁,把什么丢了?
- 国内第一本许可式订阅E-mail营销书籍
- 如何下载全球范围的谷歌卫星地图数据
- group_concat函数用法
- 关于DrawerLayout must be measured with MeasureSpec.EXACTLY问题解决办法
- 系统穿越频率用matlab,基于Matlab的自动控制系统设计
- 让你的电脑也识得二维码图片(二)
- mysql查表里面的字段
热门文章
- all any 或 此运算符后面必须跟_嵌套查询 带有in谓词,比较运算符,any或all谓词的子查询...
- GIT常见问题及命令指南
- 2012年终总结之pcode概述
- webflux 之 Stream流
- java pdfbox2 中文乱码_使用PdfBox实现pdf转图片,解决中文方块乱码等问题
- HTC M8t unlock Bootloader/Root/S-OFF/解网络锁笔记
- python性能差_Python 性能分析大全
- Unity 草的制作
- 简单实现一个虚拟形象系统
- oracle捕获工具,SQL Monitor(oracle语句追踪工具)