Existem algoritmos de cluster não baseados em distância?

14

Parece que para médias K e outros algoritmos relacionados, o agrupamento é baseado no cálculo da distância entre pontos. Existe alguém que funciona sem ele?

user154510
fonte
2
Exatamente o que você quer dizer com "agrupar" sem alguma maneira de quantificar a semelhança ou "proximidade" dos pontos?
whuber
2
@ A resposta de Tim abaixo é muito boa. Você pode considerar a possibilidade de votar e / ou aceitá- lo, se isso o ajudou; é uma boa maneira de dizer 'obrigado'. Estendendo sua ideia, há uma análise de classe latente , que aplica uma abordagem semelhante aos dados categóricos. Uma abordagem não paramétrica para FMMs pode ser usada através das alturas de uma estimativa de densidade de kernel multivariada. Consulte Clustering via estimativa não-paramétrica de densidade: o pacote R pdfCluster ( pdf ) para obter mais informações.
gung - Restabelece Monica

Respostas:

25

Um exemplo desse método são os Modelos de Mistura Finita (por exemplo, aqui ou aqui ) usados ​​para agrupar. Em FMM você considerar a distribuição ( ) da sua variável X como uma mistura de K distribuições ( f 1 , . . . , F k ):fXKf1,...,fk

f(x,ϑ)=k=1Kπkfk(x,ϑk)

onde é um vector de parâmetros θ = ( π ' , θ ' 1 , . . . , θ ' K ) ' e π k é uma proporção de k 'th distribuição na mistura e θ k é um parâmetro (ou parâmetros) de distribuição f k .ϑϑ=(π,ϑ1,...,ϑk)πkkϑkfk

Um caso específico para dados discretos é a Análise de Classe Latente (por exemplo, aqui ) definida como:

P(x,k)=P(k)P(x|k)

onde é a probabilidade de observar a classe latente k (ou seja, π k ), P ( x ) é a probabilidade de observar um valor x e P ( x | k ) é a probabilidade de x estar na classe k .P(k)kπkP(x)xP(x|k)xk

Normalmente, o algoritmo EM FMM e LCA EM é usado para estimativa, mas a abordagem bayesiana também é possível, mas um pouco mais exigente devido a problemas como identificação de modelo e troca de etiqueta (por exemplo, o blog de Xi'an ).

Portanto, não há medida de distância, mas um modelo estatístico que define a estrutura (distribuição) dos seus dados. Por esse outro nome desse método, "cluster baseado em modelo".

Confira os dois livros no FMM:

Um dos mais pacotes de agrupamento populares que usa FMM é mclust(confira aqui ou aqui ) que é implementado em R . No entanto, FMMs mais complicados também são possíveis, verifique, por exemplo, flexmixpacote e sua documentação . Para o LCA, existe um pacote R poLCA .

Tim
fonte
Você tem uma boa noção de quais podem ser os diferentes casos de uso?
shadowtalker
Como em "quando devo usar isso em vez de, digamos, particionar em torno do medoids?" Resposta muito boa mesmo assim
shadowtalker
1
@caveman observa que é apenas uma convenção notacional. É um vetor de vetores, só isso.
Tim
1
@caveman há diferentes distribuições f 1 , . . . , F k que estão na mistura, cada um deles com seus próprios parâmetros (que é por isso que temos vetores de parâmetros). k f1,...,fk
Tim
1
O caso mais típico do @caveman é que você tem por exemplo, distribuições normais, com diferentes meios e sd. Mas eles podem diferir, veja o exemplo 3.1 em cran.r-project.org/web/packages/flexmix/vignettes/… que mostra a mistura de dois modelos de regressão diferentes. k
Tim
7

Existem várias abordagens de cluster baseadas em grade . Eles não calculam distâncias, porque isso geralmente geraria tempo de execução quadrático. Em vez disso, eles particionam os dados e os agregam em células da grade. Mas a intuição por trás de tais abordagens geralmente está intimamente relacionada às distâncias.

Existem vários algoritmos de armazenamento em cluster para dados categóricos , como COOLCAT e STUCCO. As distâncias não são fáceis de usar com esses dados (a codificação one-hot é um hack e não gera distâncias particularmente significativas). Mas eu nunca ouvi falar de alguém usando esses algoritmos ...

Existem abordagens de cluster para gráficos. Mas eles se reduzem a problemas gráficos clássicos, como localização de clique ou quase clique e coloração de gráfico, ou estão intimamente conectados ao cluster baseado em distância (se você tiver um gráfico ponderado).

Clusters baseados em densidade como DBSCAN têm um nome diferente e não se concentram em minimizar distâncias; mas "densidade" é geralmente especificada em relação a uma distância, portanto tecnicamente esses algoritmos são baseados em distância ou em grade.

A parte essencial da sua pergunta que você deixou de lado é quais são seus dados ?

Possui QUIT - Anony-Mousse
fonte
1
+1: Compreendo que você mostre como qualquer algoritmo de agrupamento usa algum senso implícito (talvez) generalizado de "distância" ou "similaridade", e que você o faz enquanto oferece uma pesquisa de muitos desses algoritmos.
whuber
Acho que por "baseado em distância" ele quis dizer métricas de similaridade, o que incluiria variação.
en1 31/07/2015
1
Por que a variação seria uma métrica de similaridade? Está relacionado à distância euclidiana quadrada; mas não equivalente a distância arbitrária s .
Saiu - Anony-Mousse
2

Uma abordagem puramente discriminativa é a "maximização regularizada da informação", de Gomes et al . Não há noção de similaridade / distância envolvida nela.

A idéia é ter uma regressão logística como o modelo que coloca pontos nas caixas. Mas, em vez de treiná-lo para maximizar alguma forma de probabilidade logarítmica dos rótulos das classes, a função objetivo é aquela que coloca pontos em diferentes grupos.

λ

A extensão para métodos de kernel ou redes neurais para cluster não linear é simples.

bayerj
fonte