Agora você tem embeddings para qualquer par de exemplos. Uma similaridade supervisionada A medição usa esses embeddings e retorna um número que mede a semelhança entre eles. Lembre-se de que embeddings são 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]\), escolher uma destas três medidas de similaridade:
Medir | Significado | Fórmula | À medida que a semelhança aumenta, essa medida... |
---|---|---|---|
Distância euclidiana | Distância entre as extremidades de vetores | \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) | Diminui |
Cosseno | Coseno do ângulo \(\theta\) entre os vetores | \(\frac{a^T b}{|a| \cdot |b|}\) | Aumentos |
Produto escalar | Coseno multiplicado pelo comprimento de ambos os vetores | \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) | Aumentos. Também aumenta com o comprimento dos vetores. |
Como escolher uma medida de similaridade
Em contraste com o cosseno, o produto escalar é proporcional ao comprimento do vetor. Isso é importante porque os exemplos que aparecem com muita frequência no treinamento (por exemplo, vídeos populares do YouTube) tendem a ter vetores de embedding com comprimentos grandes. Se você quer a popularidade, depois escolhe 'produto escalar'. No entanto, o risco é que os exemplos mais comuns podem distorcer a métrica de similaridade. Para equilibrar esse desvio, é possível aumentar 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 até 1 e percebe que as três medidas se tornam proporcionais e se relacionam entre si.
- 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 de exemplo, em relação a outros pares de exemplos. Os dois tipos, manual e supervisionadas, são comparadas abaixo:
Tipo | Como criar | Ideal para | Implicações |
---|---|---|---|
Manual | Combinar dados do recurso manualmente. | Conjuntos de dados pequenos com atributos que são fáceis de combinar. | Fornece informações sobre os resultados de cálculos de similaridade. Recurso "if" alterações de dados, será necessário atualizar manualmente a medida de similaridade. |
Supervisionado | Medir a distância entre embeddings gerados por um modelo DNN supervisionado. | Grandes conjuntos de dados com atributos difíceis de combinar. | Não fornece insights sobre os resultados. No entanto, uma DNN pode se adaptar automaticamente a alteração de dados de atributos. |