Complexidade computacional de algoritmos de cluster

8

Meu desejo é descrever a complexidade do tempo de várias abordagens de agrupamento. Por exemplo, suponha que tenhamos pontos de dados em m espaço dimensional.nm

Suponha-se ainda que a matriz de pares de dissimilaridade de n x n dimensões já é calculado e que já passou S ( m n 2 ) passos. Qual é então a complexidade do tempo apenas deΔn×nO(mn2)

  • cluster hierárquico (HC) usando a ligação de Ward
  • HC usando ligação completa
  • HC usando ligação média
  • HC usando ligação única
  • abordagem k- médiok
  • abordagem k- significak

Existe algum benefício se a matriz de dissimilaridade já não estiver computada? Pelo que entendi, é necessário para a abordagem HC e k -medóide, mas não para k - significa?Δkk

Obrigado pela ajuda!

Lan
fonte
Esta é uma questão de CS, não de análise estatística. Seria perfeitamente adequado para o site SE em algoritmos atualmente em fase de proposta em area51.stackexchange.com/proposals/5120/… .
whuber
Você também pode transformar a matriz de distância em um gráfico ponderado por arestas e aplicar métodos de agrupamento de gráficos (por exemplo, o algoritmo Markov CLustering de van Dongen ou meu algoritmo de cluster restrito de pesquisa de vizinhança), mas isso é mais uma questão de OR do que uma questão de algoritmos diretos (não para mencionar que os algoritmos de gráfico de agrupamento são geralmente inadequadas para grafos densos, que tipo de derrotas o propósito de transformar a matriz de distância em um gráfico)
Andrew D. Rei

Respostas:

7

O clustering de ligação única é quase o mesmo que o mínimo de árvores de abrangência em gráficos completos, fácil tempo O (n ^ 2). Para obter o tempo O (n ^ 2) para outros métodos de agrupamento aglomerado (incluindo certeza de ligação média e completa), consulte meu artigo "Agrupamento hierárquico rápido e outras aplicações de pares dinâmicos mais próximos", SODA '98 e JEA '00.

David Eppstein
fonte
6

kO(kn)kk

kk

Suresh Venkat
fonte
3
Por que "não é significativo"? Existem vários artigos recentes sobre o número de iterações até que k-means converja (o que significa que uma iteração deixa o cluster inalterado) ou até atingir a taxa de aproximação desejada.
Jeffε
mas eles assumem alguma propriedade dos dados ou alguma variante específica do algoritmo (como o método k-means ++ ou a variante suavizada). A pergunta que eu li parecia se referir mais a variantes genéricas. Seu ponto de vista está bem entendido.
Suresh Venkat