我不太清楚Keras中类模型编译方法的参数metrics的含义:
model.compile(..., metrics = ['accuracy'], ...)这些文件指出:
模型在培训和测试期间要评估的指标列表
我不明白的是:
这些指标是否用于在每个训练时代结束时评估网络的性能,即在每个时代结束时,代码使网络对训练集进行预测并计算所传递的指标。
或
这些是用来训练网络的指标吗?也就是说,网络的目标是为这些指标获得尽可能好的价值吗?(我不知道它是如何做到的,比如:如果召回率很低,那么当使用正样本时,它会更多地纠正权重)?
(或者它有另一个意思?)
发布于 2019-10-01 15:18:26
参数metrics是为了定义您的培训评估标准。让我举一个例子:如果你正在训练一个分类器,你想要评估你的模型有多精确(以百分比计)。因此,您的度量是accuracy (作为0,1范围内的浮动经验)。精度越高,损耗越小,模型越好。
metrics不能与loss混淆。损失函数是你需要的东西,当你的模型出错时,它会“惩罚”你的模型。损失函数位于反向传播和权值更新的基础上,它是神经网络用来学习的loss对象。相反,度量是人类关注的东西,用来理解模型的好坏并进行沟通。
某些指标的定义是可选的,只有在需要时,才能根据损失值对模型进行评估。有时您不需要指定它。例如,在回归任务中,当您必须预测连续的输出时,您会增加损失(通常是MSE或RMSE),并基于此对您的模型进行评估。
https://datascience.stackexchange.com/questions/61100
复制相似问题