Question
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.
Answer
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.