keras如何定义"accuracy"和"loss"?

How does keras define "accuracy" and "loss"?

我找不到 Keras 是如何定义 "accuracy" 和 "loss" 的。我知道我可以指定不同的指标(例如 mse、交叉熵)——但是 keras 打印出一个标准 "accuracy"。那是怎么定义的?同样对于损失:我知道我可以指定不同类型的正则化——那些在损失中吗?

理想情况下,我想打印出用于定义它的方程式;如果没有,我会在这里回答。

查看 metrics.py,您可以在其中找到所有可用指标的定义,包括不同类型的准确性。除非您在编译模型时将其添加到所需指标列表中,否则不会打印准确性。

根据定义,正则化器被添加到损失中。例如,参见 Layerclass 的 add_loss 方法。

更新

accuracy的类型是根据objective函数确定的,参见training.py. The default choice is categorical_accuracy。当 objective 函数为二进制或稀疏函数时,会选择 binary_accuracysparse_categorical_accuracy 等其他类型。