keras如何定义“准确度”和“损失”?
Posted
技术标签:
【中文标题】keras如何定义“准确度”和“损失”?【英文标题】:How does keras define "accuracy" and "loss"? 【发布时间】:2017-05-22 18:00:52 【问题描述】:我找不到 Keras 如何定义“准确性”和“损失”。我知道我可以指定不同的指标(例如 mse、交叉熵)——但 keras 会打印出标准的“准确性”。那是怎么定义的?损失也是如此:我知道我可以指定不同类型的正则化——那些在损失中吗?
理想情况下,我想打印出用于定义它的方程式;如果没有,我会在这里回答。
【问题讨论】:
【参考方案1】:查看metrics.py
,您可以在其中找到所有可用指标的定义,包括不同类型的准确度。除非您在编译模型时将其添加到所需指标列表中,否则不会打印准确度。
根据定义,正则化器被添加到损失中。例如,参见Layer
class 的add_loss
方法。
更新
accuracy
的类型是根据目标函数确定的,参见training.py
。默认选择是categorical_accuracy
。当目标函数是二进制或稀疏时,会选择其他类型,如 binary_accuracy
和 sparse_categorical_accuracy
。
【讨论】:
如果我添加到指标'accuracy'
,那是哪个指标? metrics.py
里面有几个有“准确”二字?
谢谢。但是如果目标函数两者都不是,而是mse
,那么选择什么? accuracy
在这种情况下是什么意思?
在这种情况下,categorical_accuracy
被选中,这意味着根据文档“计算多类分类问题的所有预测的平均准确率”。如果您的问题不是分类,那么包括准确性就没有多大意义。 @SRobertJames
@SergiiGryshkevych 我点击了categorical_accuracy
的链接。似乎 categorical_accuracy
不再是标量。如果我没记错的话,它现在是一个数组。 categorical_accuracy
以上是关于keras如何定义“准确度”和“损失”?的主要内容,如果未能解决你的问题,请参考以下文章