How does keras define "accuracy" and "loss"?
Have a look at metrics.py
, there you can find definition of all available metrics including different types of accuracy. Accuracy is not printed unless you add it to the list of desired metrics when you compile your model.
Regularizers are by definition added to the loss. For example, see add_loss
method of the Layer
class.
Update
The type of accuracy
is determined based on the objective function, see training.py
. The default choice is categorical_accuracy
. Other types like binary_accuracy
and sparse_categorical_accuracy
are selected when the objective function is either binary or sparse.
SRobertJames
Updated on February 22, 2020Comments
-
SRobertJames about 4 years
I can't find how Keras defines "accuracy" and "loss". I know I can specify different metrics (e.g. mse, cross entropy) - but keras prints out a standard "accuracy". How is that defined? Likewise for loss: I know I can specify different types of regularization -- are those in the loss?
Ideally, I'd like to print out the equation used to define it; if not, I'll settle for an answer here.
-
SRobertJames over 7 yearsIf I add to the metrics
'accuracy'
, which metric is that? There are several inmetrics.py
that have the word "accuracy" in them? -
SRobertJames over 7 yearsThanks. But what is selected if the objective function is neither, but is
mse
? What doesaccuracy
mean in that context? -
Sergii Gryshkevych over 7 yearsIn such case
categorical_accuracy
is selected and it means according to the documentation "Calculates the mean accuracy rate across all predictions for multiclass classification problems". If your problem is not classification, then it does not make much sense to include accuracy. @SRobertJames -
Xiaohong Deng over 4 years@SergiiGryshkevych I clicked the link for
categorical_accuracy
. Seemscategorical_accuracy
is no longer a scalar. It's an array now if I'm not mistaken.categorical_accuracy