Mesurer la similarité à partir des représentations vectorielles continues

Vous disposez désormais d'embeddings pour n'importe quelle paire d'exemples. Une mesure de similarité supervisée prend ces représentations vectorielles continues et renvoie un nombre qui mesure leur similarité. N'oubliez pas que les représentations vectorielles continues sont des vecteurs de nombres. Pour trouver la similarité entre deux vecteurs \(A = [a_1,a_2,...,a_n]\) et \(B = [b_1,b_2,...,b_n]\), choisissez l'une des trois mesures de similarité suivantes:

MesurerSignificationFormule À mesure que la similarité augmente, cette mesure...
Distance euclidienneDistance entre les extrémités des vecteurs \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) Diminue
CosinusCosinus de l'angle \(\theta\) entre les vecteurs \(\frac{a^T b}{|a| \cdot |b|}\) Augmente
Produit scalaireCosinus multiplié par la longueur des deux vecteurs \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) Augmente. Il augmente également avec la longueur des vecteurs.

Choisir une mesure de similarité

Contrairement au cosinus, le produit scalaire est proportionnel à la longueur du vecteur. Cela est important, car les exemples qui apparaissent très fréquemment dans l'ensemble d'entraînement (par exemple, les vidéos YouTube populaires) ont tendance à avoir des vecteurs d'encapsulation de grande longueur. Si vous souhaitez mesurer la popularité, choisissez le produit scalaire. Toutefois, le risque est que des exemples populaires puissent fausser la métrique de similarité. Pour équilibrer cette distorsion, vous pouvez élever la longueur à une puissance \(\alpha\ < 1\) pour calculer le produit scalaire comme \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\).

Pour mieux comprendre comment la longueur du vecteur modifie la mesure de similarité, normalisez les longueurs des vecteurs à 1 et remarquez que les trois mesures deviennent proportionnelles les unes aux autres.

Preuve: proportionnalité des mesures de similarité
Après avoir normalisé a et b de sorte que \(||a||=1\) et \(||b||=1\), ces trois mesures sont liées comme suit :
  • Distance euclidienne = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b} = \sqrt{2-2\cos(\theta_{ab})}\).
  • Produit scalaire = \( |a||b| \cos(\theta_{ab}) = 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\).
  • Cosinus = \(\cos(\theta_{ab})\).
Ainsi, les trois mesures de similarité sont équivalentes, car elles sont proportionnelles à \(cos(\theta_{ab})\).

Examen des mesures de similarité

Une mesure de similarité quantifie la similarité entre une paire d'exemples par rapport à d'autres paires d'exemples. Les deux types, manuel et supervisé, sont comparés ci-dessous:

TypeComment créerApplication idéaleConséquences
ManuelCombiner manuellement les données des éléments géographiques Petits ensembles de données avec des fonctionnalités faciles à combiner Fournit des insights sur les résultats des calculs de similarité. Si les données des éléments géographiques changent, vous devez mettre à jour manuellement la mesure de similarité.
SuperviséMesurez la distance entre les représentations vectorielles continues générées par un DNN supervisé. Ensembles de données volumineux avec des fonctionnalités difficiles à combiner Ne fournit aucune information sur les résultats. Toutefois, un RNN peut s'adapter automatiquement aux données de fonctionnalités en constante évolution.