Keras如何计算验证准确度和培训准确度?

时间:2018-02-09 22:17:55

标签: python machine-learning deep-learning keras

我想知道Keras如何计算多类分类问题(即使用的函数)的验证和训练精度。我将我的模型编译如下:

model.compile(optimizer=Adam(lr=0.001), loss='categorical_crossentropy', metrics=['accuracy'])

但我试图了解如何计算验证准确度和训练准确度(即显式公式)。

我知道验证和培训损失由&{39; categorical_crossentropy确定,但我不确定准确性。

注意:这不是此post的副本。我的问题是寻找对Keras用于计算准确性的python函数的解释,而不是上述帖子中给出的理论细节。

1 个答案:

答案 0 :(得分:3)

您可以在Keras github repo中找到指标file及其实现。在这种情况下,遵循度量标准:

def categorical_accuracy(y_true, y_pred):
    return K.cast(K.equal(K.argmax(y_true, axis=-1),
                          K.argmax(y_pred, axis=-1)),
                          K.floatx()) 

通过检查预测的类是否与真实类相同来计算单个(y_true,y_pred)对的准确性。这样做是为了比较y_pred向量中得分最高的类的索引和y_true向量中实际类的索引。它返回0或1。

使用此函数计算数据集的整体精度,使用传统的精度公式,定义为

(amount of correct guesses)/(total amount of guesses)