Calcule la similarité cosinusoïdale entre les étiquettes et les prédictions.
Notez qu'il s'agit d'un nombre compris entre -1
et 1
. Lorsqu'il s'agit d'un nombre négatif compris entre -1
et 0
, 0
indique une orthogonalité et des valeurs plus proches de -1
indiquent une plus grande similarité. Les valeurs plus proches de 1
indiquent une plus grande dissemblance. Cela le rend utilisable comme fonction de perte dans un contexte où vous essayez de maximiser la proximité entre les prédictions et les cibles. Si labels
ou predictions
sont un vecteur nul, la similarité cosinus sera de 0
quelle que soit la proximité entre les prédictions et les cibles.
loss = -sum(l2Norm(labels) * l2Norm(predictions))
Utilisation autonome :
Operand<TFloat32> labels = tf.constant(new float[][] { {0.f, 1.f}, {1.f, 1.f} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {1.f, 0.f}, {1.f, 1.f} }); CosineSimilarity cosineLoss = new CosineSimilarity(tf); Operand<TFloat32> result = cosineLoss.call(labels, predictions); // produces -0.5
Appel avec le poids de l'échantillon :
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.8f, 0.2f}); Operand<TFloat32> result = cosineLoss.call(labels, predictions, sampleWeight); // produces -0.0999f
Utilisation du type de réduction SUM
:
CosineSimilarity cosineLoss = new CosineSimilarity(tf, Reduction.SUM); Operand<TFloat32> result = cosineLoss.call(labels, predictions); // produces -0.999f
Utilisation du type de réduction NONE
:
CosineSimilarity cosineLoss = new CosineSimilarity(tf, Reduction.NONE); Operand<TFloat32> result = cosineLoss.call(labels, predictions); // produces [-0.f, -0.999f]
Constantes
int | DEFAULT_AXIS |
Champs
public statique final Réduction | DEFAULT_REDUCTION |
Champs hérités
Constructeurs Publics
CosinusSimilarité (Ops tf) Crée une perte de similarité cosinus en utilisant getSimpleName() comme nom de perte, un axe de DEFAULT_AXIS et une réduction de perte de DEFAULT_REDUCTION | |
CosineSimilarity (Ops tf, nom de chaîne) Crée une perte de similarité cosinus en utilisant un axe de DEFAULT_AXIS et une réduction de perte de DEFAULT_REDUCTION | |
CosinusSimilarité (Ops tf, axe int) Crée une perte de similarité cosinus en utilisant getSimpleName() comme nom de perte et une réduction de perte de DEFAULT_REDUCTION | |
CosineSimilarité (Ops tf, axe int[]) Crée une perte de similarité cosinus en utilisant getSimpleName() comme nom de perte et une réduction de perte de DEFAULT_REDUCTION | |
CosineSimilarity (Ops tf, nom de chaîne, axe int) Crée une perte de similarité cosinus en utilisant une réduction de perte de DEFAULT_REDUCTION | |
CosineSimilarity (Ops tf, nom de chaîne, axe int[]) Crée une perte de similarité cosinus en utilisant une réduction de perte de DEFAULT_REDUCTION | |
CosinusSimilarité (Ops tf, Réduction réduction) Crée une perte de similarité cosinus en utilisant getSimpleName() comme nom de perte et un axe de DEFAULT_AXIS | |
CosineSimilarity (Ops tf, nom de chaîne, réduction de réduction ) Crée une perte de similarité cosinus en utilisant un axe de DEFAULT_AXIS | |
CosinusSimilarité (Ops tf, axe int, réduction ) Crée une perte de similarité cosinus en utilisant getSimpleName() comme nom de perte | |
CosineSimilarité (Ops tf, axe int[], réduction ) Crée une perte de similarité cosinus en utilisant getSimpleName() comme nom de perte | |
CosineSimilarity (Ops tf, nom de chaîne, axe int, réduction de réduction ) Crée une perte de similarité cosinus | |
CosineSimilarity (Ops tf, nom de chaîne, axe int[], réduction ) Crée une perte de similarité cosinus |
Méthodes publiques
<T étend TNumber > Opérande <T> |
Méthodes héritées
Constantes
public statique final int DEFAULT_AXIS
Champs
Réduction finale statique publique DEFAULT_REDUCTION
Constructeurs Publics
similarité Cosinus publique (Ops tf)
Crée une perte de similarité cosinus en utilisant getSimpleName()
comme nom de perte, un axe de DEFAULT_AXIS
et une réduction de perte de DEFAULT_REDUCTION
Paramètres
tf | les opérations TensorFlow |
---|
public CosineSimilarity (Ops tf, nom de chaîne)
Crée une perte de similarité cosinus en utilisant un axe de DEFAULT_AXIS
et une réduction de perte de DEFAULT_REDUCTION
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
public CosineSimilarity (Ops tf, axe int)
Crée une perte de similarité cosinus en utilisant getSimpleName()
comme nom de perte et une réduction de perte de DEFAULT_REDUCTION
Paramètres
tf | les opérations TensorFlow |
---|---|
axe | Dimension selon laquelle la similarité cosinus est calculée. |
public CosineSimilarity (Ops tf, axe int[])
Crée une perte de similarité cosinus en utilisant getSimpleName()
comme nom de perte et une réduction de perte de DEFAULT_REDUCTION
Paramètres
tf | les opérations TensorFlow |
---|---|
axe | Dimension selon laquelle la similarité cosinus est calculée. |
public CosineSimilarity (Ops tf, nom de chaîne, axe int)
Crée une perte de similarité cosinus en utilisant une réduction de perte de DEFAULT_REDUCTION
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
axe | Dimension selon laquelle la similarité cosinus est calculée. |
public CosineSimilarity (Ops tf, nom de chaîne, axe int[])
Crée une perte de similarité cosinus en utilisant une réduction de perte de DEFAULT_REDUCTION
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
axe | Dimension selon laquelle la similarité cosinus est calculée. |
public CosineSimilarity (Ops tf, Réduction réduction)
Crée une perte de similarité cosinus en utilisant getSimpleName()
comme nom de perte et un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
réduction | Type de réduction à appliquer sur le sinistre. |
public CosineSimilarity (Ops tf, nom de chaîne, réduction de réduction )
Crée une perte de similarité cosinus en utilisant un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
réduction | Type de réduction à appliquer sur le sinistre. |
public CosineSimilarity (Ops tf, axe int, réduction )
Crée une perte de similarité cosinus en utilisant getSimpleName()
comme nom de perte
Paramètres
tf | les opérations TensorFlow |
---|---|
axe | Dimension selon laquelle la similarité cosinus est calculée. |
réduction | Type de réduction à appliquer sur le sinistre. |
public CosineSimilarity (Ops tf, axe int[], réduction )
Crée une perte de similarité cosinus en utilisant getSimpleName()
comme nom de perte
Paramètres
tf | les opérations TensorFlow |
---|---|
axe | Dimension selon laquelle la similarité cosinus est calculée. |
réduction | Type de réduction à appliquer sur le sinistre. |
public CosineSimilarity (Ops tf, nom de chaîne, axe int, réduction de réduction )
Crée une perte de similarité cosinus
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
axe | Dimension selon laquelle la similarité cosinus est calculée. |
réduction | Type de réduction à appliquer sur le sinistre. |
public CosineSimilarity (Ops tf, nom de chaîne, axe int[], réduction de réduction )
Crée une perte de similarité cosinus
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
axe | Dimension selon laquelle la similarité cosinus est calculée. |
réduction | Type de réduction à appliquer sur le sinistre. |
Méthodes publiques
Appel de l'opérande public <T> ( opérande <? extends TNumber > labels, prédictions de l'opérande <T>, Operand <T> sampleWeights)
Génère un opérande qui calcule la perte.
Paramètres
étiquettes | les valeurs ou étiquettes de vérité |
---|---|
prédictions | les prédictions |
exemples de poids | sampleWeights facultatif agit comme un coefficient pour la perte. Si un scalaire est fourni, alors la perte est simplement adaptée à la valeur donnée. Si SampleWeights est un tenseur de taille [batch_size], alors la perte totale pour chaque échantillon du lot est redimensionnée par l'élément correspondant dans le vecteur SampleWeights. Si la forme de SampleWeights est [batch_size, d0, .. dN-1] (ou peut être diffusée vers cette forme), alors chaque élément de perte de prédictions est mis à l'échelle par la valeur correspondante de SampleWeights. (Remarque sur dN-1 : toutes les fonctions de perte sont réduites d'une dimension, généralement axis=-1.) |
Retours
- la perte