O que é similaridade de vetores?

Similaridade de vetores mede o quão parecidos dois vetores são em um espaço multidimensional. Vetores são listas ordenadas de números que representam pontos de dados — eles aparecem em embeddings de aprendizado de máquina, sistemas de recomendação, processamento de linguagem natural, reconhecimento de imagens e computação científica. Comparar dois vetores informa o quão próximos ou relacionados os pontos de dados subjacentes são.

Dois conceitos principais são utilizados:

  • Similaridade: Uma pontuação indicando o quão parecidos dois vetores são. Valores mais altos geralmente significam mais similares (por exemplo, similaridade de cosseno de 1 significa direção idêntica).
  • Distância: Uma medida de quão distantes dois vetores estão. Valores mais baixos geralmente significam mais similares (por exemplo, distância euclidiana de 0 significa vetores idênticos).

Descrição da ferramenta

Esta ferramenta calcula a similaridade ou distância entre dois vetores numéricos usando mais de 50 métodos bem conhecidos da teoria da informação, estatística e geometria. Insira dois vetores, escolha um método na aba de similaridade ou distância, e o resultado é calculado instantaneamente no seu navegador.

Exemplos

Entrada

Vetor A: 1, 2, 3
Vetor B: 4, 5, 6
Método Resultado
Similaridade de cosseno 0.9746318461970762
Distância euclidiana 5.196152422706632
Distância de Manhattan 16.5

Formatos de entrada aceitos

Todos os seguintes são equivalentes:

1, 2, 3
[1, 2, 3]
(1 2 3)
1;2;3

Recursos

  • 50+ métodos — escolha entre distâncias (Euclidiana, Manhattan, Chebyshev, Cosseno, Kullback-Leibler, Jensen-Shannon, e mais) ou similaridades (Cosseno, Jaccard, Dice, Tanimoto, e mais)
  • Entrada flexível — aceita valores separados por vírgula, espaço ou ponto-e-vírgula com ou sem colchetes
  • Resultados instantâneos — toda computação é executada no lado do cliente sem envio de dados para um servidor

Métodos suportados

Métodos de similaridade

Método Descrição
Cosseno Mede o ângulo entre dois vetores; amplamente utilizado em PNL e sistemas de recomendação
Kumar-Hassebrook Similaridade generalizada combinando Jaccard e cosseno
Dice Duas vezes a interseção dividida pela soma das contagens de elementos
Tanimoto Coeficiente de Jaccard estendido para vetores contínuos
Interseção Soma dos mínimos elemento a elemento
Czekanowski Razão de duas vezes a soma dos mínimos pela soma total
Motyka Interseção dividida pela soma de todos os elementos
Kulczynski Média harmônica de razões semelhantes a precisão e recall
Corda ao Quadrado Baseado nas raízes quadradas dos produtos dos elementos
Pearson Coeficiente de correlação linear entre os dois vetores

Métodos de distância

Método Descrição
Euclidiana Distância em linha reta no espaço n-dimensional
Euclidiana ao Quadrado Distância euclidiana sem a raiz quadrada
Manhattan (Quarteirão) Soma das diferenças absolutas elemento a elemento
Chebyshev Diferença absoluta máxima em todas as dimensões
Canberra Distância de Manhattan ponderada sensível a valores próximos a zero
Sørensen Soma das diferenças absolutas dividida pela soma de todos os valores
Gower Média normalizada das diferenças absolutas
Soergel Razão das diferenças absolutas pelos máximos elemento a elemento
Lorentziana Soma dos logaritmos naturais das diferenças absolutas mais um
Clark Distância ponderada usando diferenças absolutas sobre somas
Wave Hedges Soma das diferenças absolutas dividida pelos máximos elemento a elemento
Czekanowski Forma de distância do coeficiente Czekanowski
Motyka Forma de distância do coeficiente Motyka
Kulczynski Forma de distância do coeficiente Kulczynski
Tanimoto Forma de distância do coeficiente Tanimoto
Ruzicka Complemento da similaridade Ruzicka
Produto Interno Produto escalar negativo como medida de distância
Média Harmônica Distância baseada em médias harmônicas de pares de elementos
Jaccard Proporção de componentes não correspondentes
Dice Forma de distância do coeficiente Dice
Fidelidade Baseada na raiz quadrada dos produtos dos elementos (relacionada a Bhattacharyya)
Bhattacharyya Mede sobreposição entre duas distribuições de probabilidade
Hellinger Raiz quadrada da distância Bhattacharyya
Matusita Raiz quadrada da metade da soma das diferenças ao quadrado das raízes quadradas
Corda ao Quadrado Forma de distância do coeficiente Corda ao Quadrado
Pearson Forma de distância do coeficiente de correlação Pearson
Neyman Divergência tipo chi-quadrado
Ao Quadrado Distância chi-quadrado ao quadrado
Simétrica Probabilística Versão simétrica da divergência chi-quadrado
Divergência Distância ao quadrado duplamente ponderada
Simétrica Aditiva Média das divergências chi-quadrado de Neyman e Pearson
Kullback-Leibler Divergência teórica da informação entre distribuições
Jeffreys Divergência Kullback-Leibler simétrica
Divergência K Divergência assimétrica baseada na distribuição média
Topsøe Duas vezes a divergência Jensen-Shannon
Jensen-Shannon Versão suavizada e simétrica de Kullback-Leibler
Diferença de Jensen Baseada na desigualdade de Jensen para funções convexas
Taneja Divergência da média aritmética-geométrica
Kumar-Johnson Baseada em diferenças ao quadrado de potências pares
Interseção Complemento da similaridade de interseção
Média (Quarteirão + Chebyshev) Média das distâncias de Manhattan e Chebyshev

Como funciona

A ferramenta analisa cada entrada de vetor em uma sequência de números, remove colchetes opcionais e divide por vírgulas, espaços ou ponto-e-vírgula. Em seguida, passa ambas as matrizes para a função selecionada da biblioteca ml-distance, que realiza o cálculo em JavaScript puro. Ambos os vetores devem ter o mesmo número de dimensões; caso contrário, a ferramenta exibe um erro de validação.

Limitações

  • Alguns métodos (por exemplo, Kullback-Leibler, Bhattacharyya) exigem que todos os valores sejam estritamente positivos e somem 1 (distribuições de probabilidade). Usar vetores arbitrários pode produzir Infinity ou NaN, que a ferramenta trata como um erro de computação.
  • Vetores muito grandes (milhares de dimensões) são suportados, mas podem causar um breve atraso dependendo do método escolhido.