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=[a1,a2,...,an] e B=[b1,b2,...,bn], 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 | √(a1−b1)2+(a2−b2)2+...+(aN−bN)2 | Diminuição |
Cosseno | Cosseno do ângulo θ entre vetores | aTb|a|⋅|b| | Aumentos |
Produto escalar | Coseno multiplicado pelas extensões dos dois vetores | a1b1+a2b2+...+anbn =|a||b|cos(θ) | 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 α <1 para calcular o produto escalar como |a|α|b|αcos(θ).
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||=√||a||2+||b||2−2aTb=√2−2cos(θab).
- Produto escalar = |a||b|cos(θab)=1⋅1⋅cos(θab)=cos(θab).
- Coseno = cos(θ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. |