Criar uma medida de semelhança manual

Para calcular a semelhança entre dois exemplos, você precisa combinar todos os dados de recursos desses dois exemplos em um único valor numérico.

Por exemplo, considere um conjunto de dados com apenas um recurso: tamanho do sapato. Calcule a diferença entre dois calçados semelhante calculando a diferença entre os tamanhos deles. Quanto menor a diferença numérica entre os tamanhos, maior é a semelhança entre os sapatos. Essa medida de semelhança artesanal é chamada de medida de semelhança manual.

E se você quisesse encontrar semelhanças entre sapatos usando tamanho e cor? A cor é um dados categóricos e é mais difícil de combinar com os dados de tamanho numérico. Conforme os dados se tornam mais complexos, criar uma medida de semelhança manual fica mais difícil. Quando seus dados se tornarem complexos o suficiente, não será possível criar uma medida manual. Nesse caso, quando você mudar para uma medida de semelhança supervisionada, em que um modelo de machine learning supervisionado calcula a semelhança.

Deixaremos a medida de semelhança supervisionada para mais tarde e nos concentraremos na medida manual aqui. Por enquanto, lembre-se de que você muda para uma medida de semelhança supervisionada quando tem problemas ao criar uma medida de semelhança manual.

Para entender como uma medida de semelhança manual funciona, vamos analisar nosso exemplo de calçados. Suponha que o modelo tenha dois atributos: tamanho e preço de sapatos. Como ambos os atributos são numéricos, você pode combiná-los em um único número que representa a semelhança da seguinte maneira.

  • Tamanho (s): o tamanho do calçado provavelmente forma uma distribuição gaussiana. Confirme. Em seguida, normalize os dados.
  • Preço (p): os dados provavelmente são uma distribuição de Poisson. Confirme. Se você tiver dados suficientes, converta-os em quantis e escalone para \([0,1]\).
  • Combine os dados usando a raiz do erro quadrático médio (REQM). Aqui, a semelhança é \(\sqrt{\frac{s^2+p^2}{2}}\).

Para um exemplo simplificado, vamos calcular a semelhança para dois calçados com tamanhos dos EUA 8 e 11 e preços 120 e 150. Como não temos dados suficientes para entender a distribuição, basta escalonar os dados sem normalizar ou usar quantis.

AçãoMétodo
Dimensione o tamanho. Suponha que um tamanho máximo de calçados seja de 20. Divida 8 e 11 pelo tamanho máximo 20 para chegar a 0,4 e 0,55.
Dimensione o preço. Divida 120 e 150 pelo preço máximo de 150 para chegar a 0,8 e 1.
Veja as diferenças de tamanho. \(0.55 - 0.4 = 0.15\)
Encontre a diferença no preço. \(1 - 0.8 = 0.2\)
Encontre o REQM. \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

Intuitivamente, a semelhança medida deve aumentar quando os dados do recurso se tornarem semelhantes. Em vez disso, a semelhança medida diminui. Faça com que a semelhança medida siga sua intuição ao subtrair de 1.

\[\text{Similarity} = 1 - 0.17 = 0.83\]

Em geral, é possível preparar dados numéricos, conforme descrito em Preparar dados, e combinar os dados usando a distância euclidiana.

E se você tiver dados categóricos? Os dados categóricos podem ser:

  • Valor único (univalente), como a cor de um carro ("branco" ou "azul", mas nunca ambos)
  • Multivalorizado (multivalente), como o gênero de um filme (pode ser "ação" e "comédia" simultaneamente ou apenas "ação")

Se os dados univalentes forem correspondentes, a semelhança será 1. Caso contrário, será 0. Os dados multivalentes são mais difíceis de lidar. Por exemplo, trabalhar com gêneros pode ser um desafio. Para lidar com esse problema, suponha que os filmes sejam atribuídos a gêneros de um conjunto fixo de gêneros. Calcule a semelhança usando a proporção de valores comuns, chamada Semelhança por Jack.

Exemplos:

  • ["comédia"", "ação"] e ["comédia" "ação"] = 1
  • ["comédia"", "ação"] e ["ação"] = 1⁄2
  • ["comédia"", "ação"] e ["ação", "drama"] = 1⁄3
  • ["comédia"", "ação"] e ["não ficção", "biográfico"] = 0

A tabela a seguir fornece mais alguns exemplos de como lidar com dados categóricos.

Exemplos
Código postal Os códigos postais que representam áreas próximas uns dos outros precisam ter uma semelhança mais alta. Para codificar as informações necessárias para calcular essa semelhança com precisão, é possível converter os códigos postais em latitude e longitude. Para um par de códigos postais, calcule separadamente a diferença entre a latitude e a longitude. Em seguida, adicione as diferenças para receber um único valor numérico.
Cor Suponha que você tenha dados de cor como texto. Converta os valores textuais em valores numéricos RGB. Agora é possível encontrar a diferença em valores vermelhos, verdes e azuis para duas cores e combinar as diferenças em um valor numérico usando a distância euclidiana.

Em geral, sua medida de semelhança precisa corresponder diretamente à similaridade real. Se isso não for feito, a métrica não está codificando as informações necessárias. O exemplo anterior converteu códigos postais em latitude e longitude porque os códigos postais por si só não codificaram as informações necessárias.

Antes de criar a medida de semelhança, processe seus dados com cuidado. Embora os exemplos desta página dependam de um conjunto de dados pequeno e simples, a maioria dos conjuntos de dados reais são muito maiores e mais complexos. Lembre-se de que os quantis são uma boa opção padrão para processar dados numéricos.