- Categorias:
VECTOR_L2_DISTANCE¶
Calcula a distância L2 entre dois vetores.
Distância L2, também conhecida como distância euclidiana, é uma medida da distância entre dois vetores em um espaço vetorial. A distância é calculada tirando a raiz quadrada da soma das diferenças quadradas dos elementos do vetor. A distância pode ser um valor zero ou maior. Se a distância for zero, os vetores serão idênticos. Quanto maior a distância, mais distantes os vetores estão.
- Consulte também:
VECTOR_INNER_PRODUCT , VECTOR_COSINE_SIMILARITY , Incorporações de vetor
Sintaxe¶
VECTOR_L2_DISTANCE( <vector>, <vector> )
Argumentos¶
vector
O valor VECTOR para calcular a distância.
vector
O valor VECTOR para calcular a distância.
Retornos¶
Retorna a distância entre os dois vetores de entrada como um valor FLOAT.
Notas de uso¶
Devido a otimizações computacionais nas funções de comparação de vetores, os erros de ponto flutuante podem ser um pouco maiores do que o normal (por exemplo, cerca de 1e-4).
Exemplos¶
Este exemplo usa a função VECTOR_L2_DISTANCE para determinar quais vetores na tabela estão mais próximos entre si entre as colunas a
e 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 |
+------+