Conforme mostrado, k-means atribui pontos ao seu centroide mais próximo. Mas o que "mais perto" significa?
Para aplicar k-means aos dados do atributo, você precisará definir uma medida da similaridade, que combina todos os dados do atributo em um único valor numérico, chamada de medida manual de similaridade.
Considere um conjunto de dados sobre sapatos. Se esse conjunto de dados tiver o tamanho do calçado como único atributo, você pode definir a semelhança de dois sapatos em termos da diferença entre tamanhos. Quanto menor a diferença numérica entre os tamanhos, maior a semelhança entre os sapatos.
Se o conjunto de dados de calçados tivesse dois atributos numéricos, tamanho e preço, é possível combinar e transformá-los em um número que representa a similaridade. Primeiro, escalone os dados para ambos os recursos são comparáveis:
- Tamanho (s): o tamanho do sapato provavelmente forma uma distribuição gaussiana. Confirme isso. Em seguida, normalize os dados.
- Preço (p): os dados provavelmente são uma distribuição de Poisson. Confirme isso. Se você tenham dados suficientes, converta-os em quantis e dimensione para \([0,1]\).
Em seguida, combine os dois atributos calculando raiz do erro quadrático médio (REQM). Essa medida aproximada de similaridade é dada \(\sqrt{\frac{(s_i - s_j)^2+(p_i - p_j)^2}{2}}\):
Para um exemplo simples, calcule a similaridade para dois sapatos com tamanhos dos EUA 8 e 11 e preços 120 e 150. Como não temos dados suficientes para entender da distribuição, dimensionaremos os dados sem normalizar ou usar quantis.
Ação | Método |
---|---|
Dimensione o tamanho. | Considere um tamanho máximo de calçado de 20. Divida 8 e 11 por o tamanho máximo 20 para obter 0,4 e 0,55. |
Ajustar o preço. | Divida 120 e 150 pelo preço máximo por 150 para ter 0,8 e 1. |
Encontre a diferença no tamanho. | \(0.55 - 0.4 = 0.15\) |
Encontre a diferença no preço. | \(1 - 0.8 = 0.2\) |
Calcule a REQM. | \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\) |
Intuitivamente, sua medida de similaridade deve aumentar quando os dados do recurso forem mais semelhantes. Em vez disso, sua medida de similaridade (REMQ) realmente diminui. Garanta a medida de similaridade seguem sua intuição subtraindo esse valor de 1.
\[\text{Similarity} = 1 - 0.17 = 0.83\]
Em geral, você pode preparar dados numéricos conforme descrito em Prepare os dados e combine os usando distância euclidiana.
E se esse conjunto de dados incluísse o tamanho e a cor do calçado? A cor é dados categóricos, discutidos no curso intensivo de machine learning Como trabalhar com dados categóricos. Dados categóricos são mais difíceis de combinar com dados de tamanho numérico. Ele pode ser:
- valor único (univalente), como a cor de um carro ("branco" ou "azul", mas nunca ambos)
- Valores múltiplos (multivalentes), como o gênero de um filme (um filme pode ser “ação” e "comédia", ou apenas "ação")
Se os dados univalentes forem correspondentes, por exemplo, no caso de dois pares de sapatos azuis, a semelhança entre os exemplos é 1. Caso contrário, a similaridade é 0.
Dados multivalentes, como gêneros de filmes, são mais difíceis de trabalhar. Se houver conjunto fixo de gêneros de filme, a similaridade pode ser calculada usando a proporção de valores comuns, chamados Semelhança de Jaccard. Exemplo cálculos de similaridade de Jaccard:
- [“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 similaridade de Jaccard não é a única medida de similaridade manual possível para dados categóricos. Dois outros exemplos:
- Os códigos postais podem ser convertidos em latitude e longitude antes calcular a distância euclidiana entre eles.
- A cor pode ser convertida em valores numéricos RGB, com diferenças em valores combinados em distância euclidiana.
Consulte Como trabalhar com dados categóricos para saber mais.
Em geral, uma medida de similaridade manual precisa corresponder diretamente com a similaridade real. Se a métrica escolhida não contiver, ela não está codificando o as informações que você quer que ele codifique.
Pré-processe os dados com cuidado antes de calcular uma medida de similaridade. A os exemplos nesta página são simplificados. A maioria dos conjuntos de dados do mundo real é grande e complexos. Como mencionado antes, os quantis são uma boa opção padrão para processar dados numéricos.
Conforme a complexidade dos dados aumenta, fica mais difícil criar um modelo medida de similaridade. Nessa situação, mude para um medida de similaridade supervisionada, em que uma máquina supervisionada de machine learning calcula a similaridade. Isso será discutido com mais detalhes mais tarde.