Métodos de cluster que não requerem a pré-especificação do número de clusters


17

Existem métodos de cluster "não paramétricos" para os quais não precisamos especificar o número de clusters? E outros parâmetros, como o número de pontos por cluster, etc.

Respostas:


22

Os algoritmos de cluster que exigem que você pré-especifique o número de clusters são uma pequena minoria. Há um grande número de algoritmos que não. Eles são difíceis de resumir; é como pedir uma descrição de qualquer organismo que não seja gato.

Os algoritmos de agrupamento são geralmente classificados em reinos amplos:

  1. Algoritmos de particionamento (como k-means e sua descendência)
  2. Cluster hierárquico (como o @Tim descreve )
  3. Cluster baseado em densidade (como DBSCAN )
  4. Clustering baseado em modelo (por exemplo, modelos finitos de mistura Gaussiana ou Análise de Classe Latente )

Pode haver categorias adicionais, e as pessoas podem discordar dessas categorias e de quais algoritmos entram nessa categoria, porque isso é heurístico. No entanto, algo como esse esquema é comum. Trabalhando com isso, são principalmente os métodos de particionamento (1) que requerem a pré-especificação do número de clusters a serem encontrados. Que outras informações precisam ser pré-especificadas (por exemplo, o número de pontos por cluster) e se parece razoável chamar vários algoritmos de 'não paramétricos', também são altamente variáveis ​​e difíceis de resumir.

O armazenamento em cluster hierárquico não requer que você pré-especifique o número de clusters, da maneira que k-significa, mas você seleciona um número de clusters em sua saída. Por outro lado, o DBSCAN também não exige (mas exige a especificação de um número mínimo de pontos para uma 'vizinhança' - embora existam padrões, por isso, em certo sentido, você pode pular a especificação disso - o que coloca um piso em o número de padrões em um cluster). O GMM nem exige nenhum desses três, mas exige suposições paramétricas sobre o processo de geração de dados. Até onde eu sei, não existe um algoritmo de clustering que nunca exija que você especifique um número de clusters, um número mínimo de dados por cluster ou qualquer padrão / organização de dados dentro de clusters. Não vejo como poderia haver.

Isso pode ajudá-lo a ler uma visão geral dos diferentes tipos de algoritmos de armazenamento em cluster. O seguinte pode ser um ponto de partida:

  • Berkhin, P. "Pesquisa de técnicas de mineração de dados em cluster" ( pdf )

Estou confuso com o seu número 4: Pensei que, se alguém encaixa um modelo de mistura gaussiano nos dados, é necessário escolher o número de gaussianos, ou seja, o número de clusters deve ser especificado com antecedência. Se sim, por que você diz que "apenas apenas" o nº 1 exige isso?
Ameba diz Reinstate Monica

@amoeba, depende do método baseado em modelo e de como é implementado. Os GMMs costumam ser adequados para minimizar algum critério (como, por exemplo, a regressão OLS, veja aqui ). Nesse caso, você não especifica previamente o número de clusters. Mesmo que você faça isso de acordo com alguma outra implementação, não é um recurso típico para métodos baseados em modelo.
gung - Restabelece Monica

k=3k

Realmente não sigo seu argumento aqui, @amoeba. Quando você ajusta um modelo de regressão simples com o algoritmo OLS, diria que está pré-especificando a inclinação e a interceptação, ou que o algoritmo os especifica otimizando um critério? Neste último caso, não vejo o que há de diferente aqui. Certamente é verdade que você poderia criar um novo meta-algoritmo que usa k-means como uma de suas etapas para encontrar uma partição sem pré-especificar k, mas esse meta-algoritmo não seria k-means.
gung - Restabelece Monica

11
@amoeba, isso parece ser um problema semântico, mas os algoritmos padrão usados ​​para ajustar um GMM geralmente otimizam um critério. Por exemplo, o que se Mclustusa é projetado para otimizar o BIC, mas o AIC pode ser usado ou uma sequência de testes de razão de verossimilhança. Eu acho que você poderia chamá-lo de meta-algoritmo, b / c tem etapas constituintes (por exemplo, EM), mas esse é o algoritmo que você usa e, de qualquer forma, não exige que você pré-especifique k. Você pode ver claramente no meu exemplo vinculado que eu não pré-especifiquei k lá.
gung - Restabelece Monica

13

O exemplo mais simples é de agrupamento hierárquico , onde você comparar cada ponto com o outro ponto usando alguma medida de distância , e depois unir o par que tem a menor distância para criar point-pseudo unidas (por exemplo, b e c marcas bc como na imagem abaixo). Em seguida, repita o procedimento juntando os pontos e pseudo-pontos, com base nas distâncias em pares até que cada ponto seja unido ao gráfico.

Ilustração da Wikipedia

(fonte: https://en.wikipedia.org/wiki/Hierarchical_clustering )

O procedimento não é paramétrico e a única coisa necessária é a medida da distância. No final, você precisa decidir como remover o gráfico em árvore criado usando este procedimento, para que seja necessária uma decisão sobre o número esperado de clusters.


A poda não significa que você está decidindo o número do cluster?
Aprender

11
@ MedNait foi o que eu disse. Na análise de cluster, você sempre deve tomar essa decisão, a única questão é como ela é tomada - por exemplo, pode ser arbitrária ou pode ser baseada em algum critério razoável, como ajuste de modelo baseado em probabilidade etc.
Tim

11
Depende do que exatamente você procura, @MedNait. O armazenamento em cluster hierárquico não requer que você pré-especifique o número de clusters, da maneira que k-significa, mas você está selecionando um número de clusters em sua saída. Por outro lado, o DBSCAN também não requer (mas exige a especificação de um número mínimo de pontos para uma 'vizinhança' - embora haja padrões - o que reduz o número de padrões em um cluster) . O GMM nem exige isso, mas exige suposições paramétricas sobre o processo de geração de dados. Etc.
gung - Reinstate Monica

10

Parâmetros são bons!

Um método "sem parâmetros" significa que você obtém apenas uma única foto (exceto, talvez, aleatoriedade), sem possibilidades de personalização .

Agora, o agrupamento é uma técnica exploratória . Você não deve assumir que existe um único cluster "verdadeiro" . Você deveria estar interessado em explorar diferentes agrupamentos dos mesmos dados para aprender mais sobre ele. Tratar o agrupamento como uma caixa preta nunca funciona bem.

Por exemplo, você deseja personalizar a função de distância usada, dependendo dos seus dados (este também é um parâmetro!) Se o resultado for muito grosseiro, você poderá obter um resultado mais refinado ou muito fino. , obtenha uma versão mais grossa dele.

Os melhores métodos geralmente são aqueles que permitem navegar bem no resultado, como o dendrograma no cluster hierárquico. Você pode explorar subestruturas facilmente.


0

Confira os modelos de mistura Dirichlet . Eles são uma boa maneira de entender os dados, se você não souber o número de clusters antes. No entanto, eles fazem suposições sobre as formas dos clusters, que seus dados podem violar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.