В случае вашего вопроса легче проверить исходный код Keras
, потому что любая среда глубокого обучения имеет плохую документацию.
Во-первых, вам нужно найти , как обрабатываются строковые представления:
if metric in ('accuracy', 'acc'):
metric_fn = metrics_module.categorical_accuracy
Это следует для модуля metric
, где функция categorical_accuracy
имеет значение , определено :
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())
Понятно, что функция возвращает тензор и просто число, представленное в журналах, поэтому существует функция-обертка для обработки тензора с результатами сравнения:
weighted_metric_fn = weighted_masked_objective(metric_fn)
Эта функция-обертка содержит логику для вычисления конечных значений. Поскольку веса и маски не определены, используется простое усреднение:
return K.mean(score_array)
Итак, в результате получается уравнение:

P.S. Я немного не согласен с @ VnC , потому что точность - это разные термины. Точность показывает частоту правильных предсказаний в задаче классификации, а точность показывает частоту положительных предсказанных значений ( больше ).