Keras方法model.compile中的参数“metrics”是什么意思?

数据挖掘 喀拉斯 公制
2022-02-13 08:28:14

Keras中类模型metricscompile方法的参数的含义我不是很清楚

model.compile(..., metrics = ['accuracy'], ...)

该文件指出:

模型在训练和测试期间要评估的指标列表

我不明白的是:

这些是用于在每个训练时期结束时评估网络性能的指标吗,即在每个时期结束时,代码使网络在训练集上进行预测并计算传递的指标

或者

这些是用于训练网络的指标吗,即网络是否以获取这些指标的最佳值为目标进行训练(我不知道它是如何做到这一点的,例如:如果召回率低,那么它会纠正使用正样本时权重更多)?

(或者它有其他含义?)

1个回答

该论点metrics旨在定义您的培训评估标准。让我举个例子:如果你正在训练一个分类器,你想根据它的准确度(百分比)来评估你的模型。因此,您的指标是accuracy(表示为 [0, 1] 范围内的浮点数)。准确率越高,损失越低,模型越好。

metrics不得与loss. 损失函数是您在模型出错时“惩罚”模型所需要的。损失函数是反向传播和权重更新的基础,loss是神经网络用来学习的对象。相反,指标是人类观察以了解模型有多好并进行交流的东西。

某些指标的定义是可选的,您可以根据需要仅根据损失值评估模型。有时您不需要指定它。例如,在回归任务中,即当您必须预测连续输出时,您需要指定损失(通常是 MSE 或 RMSE)并基于此评估您的模型。