Machine Learning · Insper

Agrupamento

Abordagem avançada

Quando os grupos não são bolhas redondas: o DBSCAN (density-based spatial clustering of applications with noise), a sua versão hierárquica HDBSCAN e como escolher um algoritmo

O caminho desta parte

  1. Onde o k-means falhaluas, anéis, grupos esticados e desiguais
  2. Regiões densasDBSCAN: central, borda, ruído
  3. Uma densidade ou váriaso gráfico de k-distâncias; HDBSCAN
  4. Escolher um algoritmok-means, hierárquico, DBSCAN, HDBSCAN
Cada etapa responde a uma pergunta: o que o k-means supõe e o que acontece quando ele erra? → como um grupo pode ser uma região densa? → e se as densidades forem diferentes? → qual algoritmo e quando?
Etapa 1 · O que o k-means supõe e o que acontece quando ele erra?

O que o k-means supõe

Cada grupo é uma célula convexa com fronteiras retas a meio caminho entre os centros e todo ponto paga o mesmo quadrado da distância:

  • os grupos são convexos e mais ou menos redondos;
  • os grupos têm espalhamento parecido;
  • não há ruído: todo ponto vai para algum grupo;
  • você sabe o \(k\).

Cinco formatos, o k-means recebe o \(k\) certo

ARI (Índice de Rand Ajustado, Adjusted Rand Index): concordância com os grupos verdadeiros, 1 = idênticos, perto de 0 = acaso. Preveja. Que formatos o k-means vai recuperar? A silhueta vai avisar sobre os outros?

dados\(k\)silhuetaARI
bolhas30,8231,000
luas20,4890,253
círculos20,356−0,002
esticados30,5010,555
densities30,6050,436
Só as bolhas são recuperadas. Densities, com os três grupos errados, tem a segunda maior silhueta: a métrica compartilha a ideia de bom grupo do algoritmo.

Simulador: onde o k-means falha

Tente. Percorra os formatos e varie o \(k\). Existe um \(k\) que conserte um anel?

Agrupamento hierárquico

O k-means devolve uma partição plana para um \(k\) escolhido. O agrupamento aglomerativo constrói a árvore inteira de fusões (o dendrograma) e deixa você escolher o número de grupos depois, cortando-a.

Ele tem a sua própria aula, em que as ligações (single, complete, average, Ward) são calculadas à mão.
Etapa 2 · Como um grupo pode ser uma região densa?

DBSCAN: regiões densas

Um grupo é uma região densa, separada das outras por regiões esparsas. Dois parâmetros: um raio eps e uma contagem min_samples.

central

pelo menos min_samples pontos a até eps, contando ele mesmo

borda

não é central, mas está a até eps de um ponto central

ruído

nenhum dos dois: rótulo −1, não é forçado para um grupo

Um grupo cresce só através de pontos centrais. Qualquer forma e ninguém escolhe quantos grupos são.

DBSCAN à mão: dez pontos, eps = 1,5, min_samples = 4

Oito pontos centrais em dois quadrados; E é ponto de borda alcançado pelo central D; F é ruído porque o seu único vizinho, E, não é central

A, B, C, D: o quadrado da esquerda (D também vê E); G, H, I, J: o da direita. E = (3, 3) vê D e F; F = (4, 4) só vê E.

Preveja. F está a até eps de E e E pertence a um grupo. F está no grupo?

Não: E tem só 3 pontos a até 1,5, então é ponto de borda e os grupos só crescem através de pontos centrais. F é ruído.

Etapa 3 · E se as densidades forem diferentes?

Escolhendo o eps: um valor, uma densidade

O gráfico de k-distâncias: a distância de cada ponto ao seu \(k\)-ésimo vizinho, em ordem crescente; o eps é lido no joelho. Em densities, os grupos compactos pedem cerca de 0,07; o frouxo, cerca de 0,3.

A distância ordenada ao 5º vizinho não tem um joelho único; eps 0,15 estilhaça o grupo frouxo, eps 0,4 funde os compactos, o HDBSCAN encontra os 3 grupos
eps0,150,30,60,8
grupos8621
ruído1726354
ARI0,8250,3970,619−0,003
Os três grupos nunca aparecem: um eps global significa uma densidade.

HDBSCAN: todos os eps de uma vez

Roda o DBSCAN para todo eps, constrói uma hierarquia de grupos e fica com os que persistem por mais tempo, cada um na sua própria densidade. Um parâmetro: min_cluster_size.

Em cima: k-means com o k verdadeiro, ARI 1,00; 0,25; 0,00; 0,56; 0,44. Embaixo: HDBSCAN sem k, ARI 1,00; 1,00; 1,00; 0,85; 0,86
HDBSCAN, sem \(k\)bolhasluascírculosesticadosdensities
grupos · ruído3 · 02 · 02 · 03 · 493 · 45
ARI1,0001,0001,0000,8520,856

Os pontos de ruído são caudas e franjas; os atribuídos estão todos no grupo certo. É por isso que o BERTopic usa o HDBSCAN.

Etapa 4 · Qual algoritmo e quando?

Escolhendo um algoritmo

k-meanshierárquico (Ward)DBSCANHDBSCAN
um grupo éo mais perto de um centroum ramo de fusõesuma região densadensa, na sua própria densidade
você escolhe\(k\)o corte (\(k\))eps, min_samplesmin_cluster_size
formasconvexas, redondasdepende da ligaçãoquaisquerquaisquer, densidades diferentes
ruídoforçado para um grupoforçado para um grupo−1−1
pontos novospredictnãonãonão
Comece pelo k-means; troque por um motivo concreto: grupos não convexos, densidades diferentes, outliers ou nenhuma forma de justificar um \(k\).

Resumo

  1. O k-means supõe grupos convexos de espalhamento parecido, nenhum ruído e um \(k\) conhecido; a silhueta compartilha essa ideia de bom grupo e não avisa.
  2. O DBSCAN chama de grupo uma região densa: os grupos crescem através de pontos centrais e o ruído recebe −1.
  3. Um eps global significa uma densidade; o HDBSCAN mantém cada grupo na sua própria densidade, com um parâmetro só, min_cluster_size.
  4. Em muitas dimensões, "denso" perde o sentido: o lab mede isso nas 13 medidas dos vinhos.
  5. Comece pelo k-means; troque por um motivo concreto, não por um índice maior.
Lab avançado · cerca de 25 min, em duplas

Outros algoritmos e o gabarito, passos 7 a 9

  • Mesmo notebook, mesma sessão: os passos usam df, X, Z, scalers, labels e cultivar dos passos 1 a 6.
  • 7. experimentar o DBSCAN e o HDBSCAN · 8. olhar os grupos com a PCA (análise de componentes principais) · 9. abrir o lacre: auditar cada decisão.
  • Notebook do lab, a partir do passo 7. Em cada passo, responda ao Preveja antes de rodar.
  • Simulações: qual o tamanho mínimo de um grupo? (passo 7) e os quatro escalonadores, auditados (passo 9).

Ritmo: passo 7 e a primeira simulação em 10 min; passo 8 em 5 min; passo 9 e a segunda em 10 min.