Nos métodos de agrupamento, como médias K , a distância euclidiana é a métrica a ser usada. Como resultado, calculamos apenas os valores médios em cada cluster. E então são feitos ajustes nos elementos com base em sua distância para cada valor médio.
Fiquei me perguntando por que a função gaussiana não é usada como métrica? Em vez de usar xi -mean(X)
, podemos usar exp(- (xi - mean(X)).^2/std(X).^2)
. Portanto, não apenas a similaridade entre os clusters é medida (média), mas a similaridade dentro do cluster também é considerada (std). Isso também é equivalente ao modelo de mistura gaussiano ?
Está além da minha pergunta aqui, mas acho que a mudança de média pode surgir a mesma pergunta acima.
Respostas:
Existem literalmente milhares de variações de k-means . Incluindo atribuição suave, variância e covariância (geralmente denominada Gaussian Mixture Modeling ou algoritmo EM).
No entanto, gostaria de salientar algumas coisas:
O K-significa não se baseia na distância euclidiana. É baseado na minimização da variação . Como a variação é a soma das distâncias euclidianas ao quadrado, a atribuição mínima de variação é a que possui a menor euclidiana ao quadrado e a função de raiz quadrada é monótona. Por razões de eficiência, é realmente mais inteligente não calcular a distância euclidiana (mas usar os quadrados)
Se você conectar uma função de distância diferente ao k-significa, ela poderá parar de convergir. Você precisa minimizar o mesmo critério nas duas etapas ; o segundo passo é recalcular os meios. A estimativa do centro usando a média aritmética é um estimador de mínimos quadrados e minimizará a variação. Como ambas as funções minimizam a variação, os meios k devem convergir. Se você deseja garantir a convergência com outras distâncias, use o PAM (particionando em torno do medoids. O medóide minimiza as distâncias dentro do cluster para funções de distância arbitrárias).
Mas no final, k-means e todas as suas variações são IMHO mais de uma otimização (ou mais precisamente, um algoritmo de quantização vetorial ) do que realmente um algoritmo de análise de cluster. Na verdade, eles não "descobrirão" a estrutura. Eles massagearão seus dados em k partições. Se você fornecer dados uniformes, sem nenhuma estrutura além da aleatoriedade, o k-means ainda encontrará quantos "aglomerados" você desejar. O k-means está feliz em retornar resultados que são essencialmente aleatórios .
fonte
K-means is not based on Euclidean distance
não há espaço suficiente na sua resposta. Você e eu discutimos sobre isso no passado e mostrei que a minimização de variância está relacionada à soma do euclidiano par a dentro de cluster d ^ 2.Existem muitas técnicas diferentes de agrupamento por aí, e o K-means é apenas uma abordagem. Como DL Dahly comentou, os algoritmos EM podem ser usados para agrupar da mesma maneira que você descreveu. Vale a pena notar que a principal diferença entre o K-mean e o uso de EM com um modelo de mistura guassiano para agrupamento é a forma dos aglomerados: o centróide ainda aproximará de perto a média dos pontos no grupo, mas o K-mean dará uma cluster esférico, enquanto um núcleo gaussiano dará um elipsóide.
O cluster hierárquico usa uma abordagem completamente diferente. O clustering baseado na densidade é motivado por uma heurística semelhante à do cluster baseado na média, mas obviamente fornece resultados diferentes. Existem muitas técnicas de agrupamento que não consideram nenhum tipo de média.
Realmente, quando se trata disso, a escolha do algoritmo é uma função do domínio do problema e da experimentação (isto é, ver o que funciona).
fonte