- Catégories :
VECTOR_L2_DISTANCE¶
Calcule la distance L2 entre deux vecteurs.
La distance L2, également connue sous le nom de distance euclidienne, est une mesure de la distance entre deux vecteurs dans un espace vectoriel. La distance est calculée en prenant la racine carrée de la somme des différences des carrés des éléments vectoriels. La distance peut avoir une valeur supérieure ou égale à zéro. Si la distance est zéro, les vecteurs sont identiques. Plus la distance est importante, plus les vecteurs sont éloignés l’un de l’autre.
- Voir aussi :
VECTOR_INNER_PRODUCT , VECTOR_COSINE_SIMILARITY , Intégrations vectorielles
Syntaxe¶
VECTOR_L2_DISTANCE( <vector>, <vector> )
Arguments¶
vector
Valeur VECTOR à partir de laquelle calculer la distance.
vector
Valeur VECTOR vers laquelle calculer la distance.
Renvoie¶
Renvoie la distance entre les deux vecteurs d’entrée sous forme de valeur FLOAT.
Notes sur l’utilisation¶
En raison d’optimisations de calcul des fonctions de comparaison de vecteurs, les erreurs en virgule flottante peuvent être légèrement plus importantes que d’habitude (par exemple, environ 1e-4).
Exemples¶
Cet exemple utilise la fonction VECTOR_L2_DISTANCE pour déterminer quels vecteurs de la table sont les plus proches l’un de l’autre entre les colonnes a
et b
:
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);
-- Compute the pairwise inner product between columns a and b
SELECT VECTOR_L2_DISTANCE(a, b) FROM vectors;
+------+
| 2.3 |
|------|
| 6.95 |
+------+