Agora você tem embeddings para qualquer par de exemplos. Uma medida de similaridade supervisionada usa esses embeddings e retorna um número que mede a similaridade deles. Lembre-se de que os embeddings são vetores de números. Para encontrar a similaridade entre dois vetores \(A = [a_1,a_2,...,a_n]\) e \(B = [b_1,b_2,...,b_n]\), escolha uma destas três medidas de similaridade:
Medir | Significado | Fórmula | À medida que a similaridade aumenta, essa métrica... |
---|---|---|---|
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ção |
Cosseno | Cosseno do ângulo \(\theta\) entre vetores | \(\frac{a^T b}{|a| \cdot |b|}\) | Aumentos |
Produto escalar | Coseno multiplicado pelas extensões dos dois vetores | \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) | Aumenta. Também aumenta com o comprimento dos vetores. |
Como escolher uma medida de similaridade
Ao contrário do cosseno, o produto escalar é proporcional ao comprimento do vetor. Isso é importante porque exemplos que aparecem com muita frequência no conjunto de treinamento (por exemplo, vídeos populares do YouTube) tendem a ter vetores de incorporação com comprimentos grandes. Se você quiser capturar a popularidade, escolha o produto de ponto. No entanto, o risco é que exemplos populares possam distorcer a métrica de similaridade. Para equilibrar essa distorção, você pode elevar o comprimento a um expoente \(\alpha\ < 1\) para calcular o produto escalar como \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\).
Para entender melhor como o comprimento do vetor muda a medida de similaridade, normalize os comprimentos dos vetores para 1 e observe que as três medidas se tornam proporcionais uma à outra.
- Distância euclidiana = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b} = \sqrt{2-2\cos(\theta_{ab})}\).
- Produto escalar = \( |a||b| \cos(\theta_{ab}) = 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\).
- Coseno = \(\cos(\theta_{ab})\).
Revisão das medidas de similaridade
Uma medida de similaridade quantifica a semelhança entre um par de exemplos em relação a outros pares de exemplos. Os dois tipos, manual e supervisionado, são comparados abaixo:
Tipo | Como criar | Ideal para | Implicações |
---|---|---|---|
Manual | Combine manualmente os dados de elementos. | Conjuntos de dados pequenos com recursos fáceis de combinar. | Fornece insights sobre os resultados dos cálculos de similaridade. Se os dados de recursos mudarem, será necessário atualizar manualmente a medida de similaridade. |
Supervisionado | Medir a distância entre as embeddings geradas por um DNN supervisionado. | Conjuntos de dados grandes com recursos difíceis de combinar. | Não fornece insights sobre os resultados. No entanto, um DNN pode se adaptar automaticamente a mudanças nos dados de recursos. |