tf.keras.losses.cosine_similarity
Вычисляет косинусное сходство между метками и прогнозами.
tf.keras.losses.cosine_similarity(
y_true, y_pred, axis=-1
)
Обратите внимание, что это число от -1 до 1. Когда это отрицательное число от -1 до 0, 0 указывает на ортогональность, а значения, более близкие к -1, указывают на большее сходство. Значения, более близкие к 1, указывают на большее несходство. Это делает его применимым в качестве функции потерь в ситуациях, когда вы пытаетесь максимизировать близость между прогнозами и целевыми значениями. Если y_true или y_pred является нулевым вектором, косинусное сходство будет равно 0 независимо от близости между прогнозами и целевыми значениями.
loss = -sum(l2_norm(y_true) * l2_norm(y_pred))
Использование в отдельном модуле:
y_true = [[0., 1.], [1., 1.], [1., 1.]] y_pred = [[1., 0.], [1., 1.], [-1., -1.]] loss = tf.keras.losses.cosine_similarity(y_true, y_pred, axis=1) loss.numpy() array([-0., -0.999, 0.999], dtype=float32)
| Аргументы | |
|---|---|
y_true | Тензор истинных целевых значений. |
y_pred | Тензор прогнозируемых целевых значений. |
axis | Ось, по которой определяется сходство. |
| Возвращаемое значение | |
|---|---|
| Тензор косинусного сходства. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/losses/cosine_similarity