Por que usamos k-means em vez de outros algoritmos?

14

Eu pesquisei sobre k-means e é isso que obtive: k-means é um dos algoritmos mais simples que usa o método de aprendizado não supervisionado para resolver problemas conhecidos de agrupamento. Funciona muito bem com grandes conjuntos de dados.

No entanto, também existem desvantagens do K-Means, que são:

  • Forte sensibilidade a outliers e ruído
  • Não funciona bem com a forma não circular do cluster - o número de cluster e o valor inicial da semente precisam ser especificados com antecedência
  • Baixa capacidade de superar o ideal local.

Existe algo ótimo sobre o k-means, porque parece que as desvantagens estão além das coisas boas do k-means.

Por favor ensina-me.

Crânio de ouro com padrão
fonte
3
Não existe um bom método ou bom algoritmo sem o contexto de um problema em que ele é usado. Assim, usamos k-means porque existem problemas para os quais o k-means é uma solução ótima (;

Respostas:

8

Outros algoritmos de cluster com melhores recursos tendem a ser mais caros. Nesse caso, o k-means se torna uma ótima solução para pré-agrupamento, reduzindo o espaço em subespaços menores separados, onde outros algoritmos de agrupamento podem ser aplicados.

Zeferino
fonte
Mais caro do que no custo do programa? ou?
crânio do ouro com padrão de
5
Mais caro que em lento e com muita memória.
Martin O'Leary
Ah eu vejo. Existem outros benefícios que não sejam rápidos, robustos e fáceis de entender? E de qualquer forma obrigado pelas respostas @ MartinO'Leary e @ zeferino
crânio do ouro com padrão de
6

K-significa é o mais simples. Implementar e executar. Tudo o que você precisa fazer é escolher "k" e executá-lo várias vezes.

A maioria dos algoritmos mais inteligentes (em particular os bons) é muito mais difícil de implementar de forma eficiente (você verá fatores de 100x nas diferenças de tempo de execução) e possui muito mais parâmetros para definir.

Além disso, a maioria das pessoas não precisa de clusters de qualidade . Na verdade, eles estão felizes com qualquer coisa que funcione remotamente para eles. Além disso, eles realmente não sabem o que fazer quando tinham clusters mais complexos. K-means, que modela os clusters usando o modelo mais simples de todos os tempos - um centróide - é exatamente o que eles precisam: redução maciça de dados para centróides .

Tem QUIT - Anony-Mousse
fonte
0

K-means é como o algoritmo de classificação do Exchange. Fácil de entender, ajuda a entrar no tópico, mas nunca deve ser usado para algo real, nunca. No caso da Classificação do Exchange, até a Classificação da bolha é melhor porque pode parar mais cedo se a matriz for parcialmente classificada. No caso de médias K, o algoritmo EM é o mesmo, mas assume distribuições gaussianas para clusters em vez da suposição uniforme de distribuição de médias K. K-means é um caso extremo de EM quando todos os clusters têm matrizes de covariância diagonal. A estrutura gaussiana significa que os clusters se encolhem nos dados de uma maneira muito agradável. Isso contorna as sérias objeções que você levanta corretamente na questão. E o EM não é muito mais caro que o K-means, na verdade. (Posso implementar ambos em uma planilha do Excel.) Mas, para aplicativos de cluster sérios,

Dr. James M. Coggins
fonte