当前位置:网站首页>如何理解Keras中的指标Metrics
如何理解Keras中的指标Metrics
2022-07-25 12:38:00 【51CTO】
Keras 库提供了一种在训练深度学习模型时计算和报告一套标准指标的方法。除了为分类和回归问题提供标准指标外,Keras 还允许您在深度学习时定义和报告自己的自定义指标。 如果您想在训练期间更好地捕捉模型的性能度量,这将特别有用。
在本教程中,您将了解如何使用内置指标,以及如何在 Keras 中训练深度学习模型时定义和使用自己的指标。完成本教程后,您将了解:
- Keras 指标的工作原理以及在训练模型时如何使用它们。
- 如何通过工作示例在 Keras 中使用回归和分类指标。
- 如何通过工作示例在 Keras 中定义和使用您自己的自定义指标。
1 Keras指标
Keras 允许您在模型训练期间列出要监控的指标。您可以通过指定“metrics”参数并为模型上的 compile() 函数提供函数名称(或函数名称别名)列表来做到这一点。 例如:
您列出的特定指标可以是 Keras 函数的名称(如 mean_squared_error)或这些函数的字符串别名(如“mse”)。
度量值记录在训练数据集上每个 epoch 的末尾。 如果还提供了验证数据集,则还会为验证数据集计算记录的度量。
所有指标都在详细输出和调用 fit() 函数返回的历史对象中报告。 在这两种情况下,度量函数的名称都用作度量值的键。 对于验证数据集的指标,“val_”前缀被添加到键中。
损失函数和明确定义的 Keras 指标都可以用作训练指标。
2 Keras回归指标
以下是您可以在 Keras 中用于回归问题的指标列表。
- 均方误差:mean_squared_error、MSE 或
- 平均绝对误差:mean_absolute_error, MAE, mae
- 平均绝对百分比误差:mean_absolute_percentage_error、MAPE、mape
- 余弦接近度:cosine_proximity,余弦
上述四个指标,值越小,模型的拟合程度越好,但并不代表模型的预测效果越好,只能假设拟合效果好的模型预测效果也好。换一句不太严谨但很好记的话:上述指标值越小,模型预测效果越好。
下面的示例演示了一个简单的人为回归问题的这 4 个内置回归指标。
注意:您的结果可能会因算法或评估过程的随机性或数值精度的差异而有所不同。 考虑运行该示例几次并比较平均结果。
运行该示例会在每个 epoch 结束时打印度量值。
然后在训练时期创建 4 个指标的线图。

请注意,指标是使用字符串别名值 [‘mse‘, ‘mae‘, ‘mape‘, ‘cosine‘] 指定的,并使用它们的扩展函数名称作为history对象上的键值引用。
我们还可以使用扩展名称指定指标,如下所示:
如果函数名被导入到脚本中,我们也可以直接指定它们。
您还可以将损失函数用作度量。例如,您可以将均方对数误差(mean_squared_logarithmic_error,MSLE 或 msle)损失函数用作度量,如下所示:
3 Keras分类指标
以下是您可以在 Keras 中用于分类问题的指标列表。
- 二进制精度:binary_accuracy,acc
- 分类准确度:categorical_accuracy, acc
- 稀疏分类准确度:sparse_categorical_accuracy
- Top k Categorical Accuracy:top_k_categorical_accuracy(需要你指定一个k参数)
- 稀疏 Top k 分类准确度:sparse_top_k_categorical_accuracy(需要您指定 k 参数)
准确性是特殊的。无论您的问题是二分类问题还是多类分类问题,您都可以指定“accuracy”指标来报告准确性。
下面是一个二进制分类问题的示例,其中演示了内置的准确度指标。
注意:您的结果可能会因算法或评估过程的随机性或数值精度的差异而有所不同。 考虑运行该示例几次并比较平均结果。
运行该示例会报告每个训练时期结束时的准确性。

4 在Keras中自定义指标
您还可以在调用 compile() 函数时定义自己的指标并在“metrics”参数的函数列表中指定函数名称。
自定义指标我还没用过,甚至没有见到别人用过。因此猜测自定义指标的适用情况很少。当你选用自定义指标时,至少要问自己三个问题:常用指标真的不能满足需求吗?用以衡量模型的常用指标选择正确吗,有没有用分类的指标衡量回归问题?我的数学好到可以正确理解“metrics”参数的函数列表中哪些函数是干什么用的了吗?至少我被第一个问题拦住了去路。以后用到自定义指标再补写着部分吧。^_^
边栏推荐
- 需求规格说明书模板
- 【3】 DEM mountain shadow effect
- go : gin 自定义日志输出格式
- 什么是CI/CD?
- 2022.07.24 (lc_6124_the first letter that appears twice)
- Selenium use -- installation and testing
- MySQL remote connection permission error 1045 problem
- 【AI4Code】《Contrastive Code Representation Learning》 (EMNLP 2021)
- Visualize the training process using tensorboard
- If you want to do a good job in software testing, you can first understand ast, SCA and penetration testing
猜你喜欢

If you want to do a good job in software testing, you can first understand ast, SCA and penetration testing

【AI4Code】《Contrastive Code Representation Learning》 (EMNLP 2021)

【Flutter -- 实例】案例一:基础组件 & 布局组件综合实例

Microsoft azure and Analysys jointly released the report "Enterprise Cloud native platform driven digital transformation"

2022.07.24(LC_6125_相等行列对)
![[shutter -- layout] stacked layout (stack and positioned)](/img/01/c588f75313580063cf32cc01677600.jpg)
[shutter -- layout] stacked layout (stack and positioned)

JS 将伪数组转换成数组

艰辛的旅程

More accurate and efficient segmentation of organs-at-risk in radiotherapy with Convolutional Neural

ECCV2022 | TransGrasp类级别抓取姿态迁移
随机推荐
Monit installation and use
ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域
Excuse me, using data integration to import data from PostgreSQL to MySQL database, emoj appears in some data fields
Requirements specification template
吕蒙正《破窑赋》
Experimental reproduction of image classification (reasoning only) based on caffe resnet-50 network
R language uses wilcox The test function performs Wilcox signed rank test to obtain the confidence interval of the population median (the default output result includes the confidence interval of 95%
Use of Spirng @conditional conditional conditional annotation
我想问DMS有没有定时备份某一个数据库的功能?
深度学习MEMC插帧论文列表paper list
go : gin 自定义日志输出格式
2022.07.24(LC_6125_相等行列对)
Pytorch project practice - fashionmnist fashion classification
Plus SBOM: assembly line BOM pbom
弹性盒子(Flex Box)详解
业务可视化-让你的流程图'Run'起来(3.分支选择&跨语言分布式运行节点)
Eccv2022 | transclassp class level grab posture migration
Mid 2022 review | latest progress of large model technology Lanzhou Technology
零基础学习CANoe Panel(12)—— 进度条(Progress Bar)
2022.07.24 (lc_6126_design food scoring system)