Agora você tem embeddings para qualquer par de exemplos. Uma medida de semelhança usa esses embeddings e retorna um número que mede a semelhança deles. Lembre-se de que os embeddings são simplesmente vetores de números. Para encontrar a semelhança entre dois vetores \(A = [a_1,a_2,...,a_n]\) e \(B = [b_1,b_2,...,b_n]\), há três medidas de escolha para escolher, conforme listado na tabela abaixo.
Medir | Significado | Fórmula | Relação com o aumento da semelhança |
---|---|---|---|
Distância euclidiana | Distância entre as extremidades dos vetores | \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) | Diminui |
Cosseno | Cosseno de ângulo \(\theta\) entre vetores | \(\frac{a^T b}{|a| \cdot |b|}\) | Aumenta |
Produto ponto | Coseno multiplicado pelo comprimento dos dois vetores | \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) | Aumenta. Também aumenta com a duração dos vetores. |
Como escolher uma medida de semelhança
Ao contrário do cosseno, o produto de ponto é proporcional ao comprimento do vetor. Isso é importante porque exemplos que aparecem com muita frequência no conjunto de treinamento (por exemplo, vídeos famosos do YouTube) tendem a ter vetores de embedding com longos tamanhos. Se você quiser capturar a popularidade, escolha o produto dot. No entanto, há um risco de que os exemplos populares distorçam a métrica de semelhança. Para equilibrar esse desvio, é possível aumentar o comprimento para um expoente \(\alpha\ < 1\) para calcular o produto de ponto como \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\).
Para entender melhor como o comprimento do vetor muda a medida da semelhança, normalize os comprimentos do vetor a 1 e observe que as três medidas se tornam proporcionais entre si.
- Distância euclidiana = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b} = \sqrt{2-2\cos(\theta_{ab})}\).
- Produto do ponto = \( |a||b| \cos(\theta_{ab}) = 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\).
- Cosseno = \(\cos(\theta_{ab})\).