41

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.

denfromufa
  • 5,605
  • 12
  • 71
  • 138
SRobertJames
  • 7,706
  • 14
  • 53
  • 95

1 Answers1

35

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 Layerclass.

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.

Sergii Gryshkevych
  • 3,859
  • 23
  • 40
  • 4
    If I add to the metrics `'accuracy'`, which metric is that? There are several in `metrics.py` that have the word "accuracy" in them? – SRobertJames Jan 08 '17 at 15:51
  • 1
    Thanks. But what is selected if the objective function is neither, but is `mse`? What does `accuracy` mean in that context? – SRobertJames Jan 08 '17 at 16:18
  • 1
    In 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 – Sergii Gryshkevych Jan 08 '17 at 16:24
  • @SergiiGryshkevych I clicked the link for `categorical_accuracy`. Seems `categorical_accuracy` is no longer a scalar. It's an array now if I'm not mistaken. [`categorical_accuracy`](https://github.com/keras-team/keras/blob/master/keras/metrics.py#L1905) – Xiaohong Deng Sep 25 '19 at 03:49