tf.keras.losses.categorical_hinge

TensorFlow 1 version View source on GitHub

Computes the categorical hinge loss between y_true and y_pred.

tf.keras.losses.categorical_hinge(
    y_true, y_pred
)

loss = maximum(neg - pos + 1, 0) where neg = sum(y_true * y_pred) and pos = maximum(1 - y_true)

Usage:

y_true = np.random.randint(0, 3, size=(2,)) 
y_true = tf.keras.utils.to_categorical(y_true, num_classes=3) 
y_pred = np.random.random(size=(2, 3)) 
loss = tf.keras.losses.categorical_hinge(y_true, y_pred) 
assert loss.shape == (2,) 
pos = np.sum(y_true * y_pred, axis=-1) 
neg = np.amax((1. - y_true) * y_pred, axis=-1) 
assert np.array_equal(loss.numpy(), np.maximum(0., neg - pos + 1.)) 

Args:

  • y_true: The ground truth values. y_true values are expected to be -1 or 1. If binary (0 or 1) labels are provided they will be converted to -1 or 1.
  • y_pred: The predicted values.

Returns:

Categorical hinge loss values.