Soluções — Aula 3: Topografia de Densidade e Grafos — Clustering Hierárquico e HDBSCAN
Aprendizado Não Supervisionado
Dica(Resposta) Teste 1 — Cluster como componente conexa vs. distância a centróide
- ✗ Falso — Apenas a soma de muitas células convexas pequenas aproxima visualmente a forma do “U”, essa abordagem nunca produz “um único cluster” — a saída são tantos rótulos distintos quantos protótipos, um por célula de Voronoi, cada um tratado como um cluster separado.
- ✔ Verdadeiro — A célula de cada protótipo \(k\) é a interseção dos semiespaços “mais perto de \(k\) do que de qualquer \(j\)” — toda interseção de semiespaços é convexa, por definição, para qualquer métrica induzida por norma (a euclidiana inclusa). Não existe uma variante de “atribuição ao protótipo mais próximo” que produza células não-convexas; a convexidade nasce da própria regra de atribuição, não é algo escolhido além dela.
- ✔ Verdadeiro — A definição de componente conexa não impõe nenhuma restrição de forma — qualquer subconjunto de \(L_\lambda\) que seja “percorrível” internamente conta como uma única componente, seja qual for seu contorno (espiral, forma de “U”, ramificado etc.), desde que exista uma trilha inteiramente dentro de \(L_\lambda\) ligando dois pontos quaisquer dela.
- ✗ Falso — Conectividade por densidade não controla distância geométrica direta — duas pontas de uma forma em “U” podem estar geometricamente mais distantes entre si do que cada uma está de pontos do lado de fora do cluster, mas próximas por uma trilha que contorna o “U” inteiro. “Estar no mesmo cluster” (via trilha densa) e “estar geometricamente mais próximo” são propriedades independentes; confundir as duas reintroduz, pela porta de trás, a suposição de convexidade que a definição pretende evitar.
Dica(Resposta) Teste 2 — Conjuntos de nível e a hierarquia indexada por \(\lambda\)
- ✗ Falso — \(L_\lambda\) só pode crescer (nunca encolher) conforme \(\lambda\) diminui, porque \(\{\mathbf{x}:p(\mathbf{x})\ge\lambda\}\) é um conjunto cada vez maior para \(\lambda\) menor. Um conjunto que só cresce nunca separa uma região previamente conectada em duas — crescer pode conectar regiões antes separadas (fundir), mas nunca desconecta uma região já conectada.
- ✔ Verdadeiro — Se existe um ponto no caminho com \(p(\mathbf{x})=0\), esse ponto nunca pertence a \(L_\lambda\) para nenhum \(\lambda>0\) (precisaria \(p(\mathbf{x})\ge\lambda>0\)). Sem esse ponto, qualquer trilha entre as duas regiões que passe por ele fica quebrada dentro de \(L_\lambda\) — as duas regiões nunca se tornam uma componente conexa só, para nenhum \(\lambda\) positivo. Essa é uma “barreira genuína” de densidade, e não um artefato do limiar escolhido.
- ✗ Falso — \(L_\lambda\) substitui a escolha de “quantos protótipos” por uma escolha diferente — o próprio \(\lambda\) (ou, no HDBSCAN,
min_cluster_size/min_samples) — não elimina a necessidade de uma decisão de escala.min_cluster_sizeainda é, ela mesma, uma escolha de escala. Trocar um parâmetro por outro não é o mesmo que eliminar o parâmetro. - ✔ Verdadeiro — É o texto citado (ESL, p. 507, tradução livre): “buscadores de moda… tentando estimar diretamente as modas distintas da densidade… observações mais próximas de cada moda definem os clusters”. Os três paradigmas (combinatório, modelagem por mistura, mode seeking) são distintos entre si.
Dica(Resposta) Teste 3 — Core distance: densidade local como peso de aresta
- ✔ Verdadeiro — \(\mathrm{core}_K(\mathbf{x})=d_K(\mathbf{x})\) é, por definição, a distância ao \(K\)-ésimo vizinho mais próximo — é literalmente o mesmo número usado antes como estimador direto de densidade, sem alteração de fórmula; só o uso muda, para peso de aresta num grafo.
- ✔ Verdadeiro — Numa região densa, muitos vizinhos estão a distâncias parecidas entre si, então aumentar \(K\) adiciona vizinhos a distâncias próximas (baixa variação relativa); numa região rara, os vizinhos ficam espalhados, e aumentar \(K\) precisa alcançar vizinhos cada vez mais distantes, produzindo maior variação relativa.
- ✗ Falso — \(\mathrm{core}_K\) é um escalar — dois pontos podem ter exatamente o mesmo valor estando em regiões completamente diferentes do espaço (ex.: duas montanhas distintas, cada uma com densidade local parecida, mas geometricamente distantes uma da outra). “Mesmo valor de uma estatística de densidade local” não implica “mesma localização” — \(\mathrm{core}_K\) descarta toda informação posicional, guardando só uma medida de escala local.
- ✗ Falso — \(\mathrm{core}_K(\mathbf{x})=d_K(\mathbf{x})\) é, por definição, a distância ao \(K\)-ésimo vizinho mais próximo — depende diretamente da escolha de \(K\) (\(K\) diferente, vizinho diferente, distância diferente). É exatamente o papel de
min_samplesno HDBSCAN: um parâmetro de escala que desempenha o papel de \(K\) no core distance.
Dica(Resposta) Teste 4 — Distância de alcançabilidade mútua
- ✔ Verdadeiro — Por definição, \(d_{\mathrm{mreach}}(a,b) = \max(\mathrm{core}_K(a), \mathrm{core}_K(b), d(a,b))\) — o máximo de um conjunto que inclui \(d(a,b)\) é, por definição, sempre maior ou igual a \(d(a,b)\): a alcançabilidade mútua nunca aproxima, só afasta.
- ✔ Verdadeiro — Quando \(\mathrm{core}_K(a)\) e \(\mathrm{core}_K(b)\) são pequenos (menores que \(d(a,b)\), o caso comum dentro de uma mesma região densa), o máximo é dominado pelo terceiro termo, \(d(a,b)\) — pontos que moram na mesma região densa têm sua alcançabilidade mútua praticamente inalterada em relação à distância bruta.
- ✗ Falso — O máximo é dominado pelo termo MAIOR, não pelo menor — um núcleo pequeno (de \(a\)) nunca “domina” o máximo. É o núcleo grande de \(b\) (o ponto isolado) que domina, forçando \(d_{\mathrm{mreach}}(a,b) \ge \mathrm{core}_K(b)\), tipicamente maior que \(d(a,b)\). O item inverte a lógica do máximo: confundir “qual termo é pequeno” com “qual termo decide o resultado” é o erro central.
- ✔ Verdadeiro — \(d_{\mathrm{mreach}}\) reordena e infla pesos de forma não-uniforme (afasta seletivamente pontos isolados, mantém pontos densos praticamente inalterados) — a ordenação relativa de arestas pode mudar: uma aresta que era a mais barata sob distância bruta pode deixar de ser sob \(d_{\mathrm{mreach}}\) (se um dos extremos tiver core distance grande), alterando quais arestas entram na árvore geradora mínima.
Dica(Resposta) Teste 5 — MST e a equivalência com ligação simples
- ✔ Verdadeiro — É uma propriedade de teoria de grafos, não dos dados: qualquer árvore geradora de um grafo conexo com \(N\) vértices tem exatamente \(N-1\) arestas, por definição de árvore — independentemente de quantos “clusters verdadeiros” (um conceito estatístico, não estrutural) existam.
- ✔ Verdadeiro — Remover uma aresta de uma árvore sempre a desconecta em exatamente dois pedaços (árvores não têm ciclos, então cada aresta é uma “ponte”); remover \(k-1\) arestas de uma árvore de \(N-1\) arestas, uma por vez, produz exatamente \(k\) componentes — vale para qualquer \(k\) entre \(1\) (nenhuma removida) e \(N\) (todas as \(N-1\) removidas).
- ✔ Verdadeiro — O resultado clássico (MST-corte = ligação simples) é uma propriedade puramente de teoria de grafos, válida para qualquer matriz de pesos simétrica não-negativa — não depende de a matriz ser distância bruta especificamente. Trocar por \(d_{\mathrm{mreach}}\) (ainda uma matriz de pesos válida) preserva a equivalência, só sobre a métrica nova.
- ✗ Falso — É uma consequência direta e correta da definição — a distância mínima entre A e B (\(6{,}14\)) é, por pouco, menor que a distância mínima entre qualquer um dos dois grupos e o ponto 6 (\(6{,}22\)); ligação simples funde sempre o par de menor dissimilaridade primeiro, então A-B se fundem antes por definição, não por erro — mesmo sendo contraintuitivo à primeira vista (o ponto 6 “parece” mais isolado visualmente, mas a definição usa apenas o par mais próximo entre grupos).
Dica(Resposta) Teste 6 — O defeito do encadeamento (chaining)
- ✔ Verdadeiro — É exatamente a definição de \(d_{SL}\) (mínimo entre pares) e a explicação do ESL: como só uma dissimilaridade pequena entre um par já basta, uma série de pontos intermediários próximos entre si (mesmo que os extremos da cadeia estejam distantes) já é suficiente para encadear uma fusão de baixo nível.
- ✗ Falso — Ligação completa usa o MÁXIMO entre pares — para fundir dois grupos, todos os pares precisam estar relativamente próximos, não só um. Isso é o oposto do mecanismo do encadeamento (que explora um único par próximo ignorando os demais); ligação completa tende, ao contrário, a produzir clusters compactos, não encadeados — o defeito citado é específico à regra do mínimo, não generaliza para o máximo.
- ✔ Verdadeiro — Um ponto no meio do vale cria dois pares de distâncias curtas (ponto-a-A e ponto-a-B), cada uma menor que a distância direta A-B — a ligação simples usa o mínimo entre pares, então essas novas distâncias curtas fazem a fusão ocorrer num nível de dissimilaridade bem mais baixo do que sem o ponto extra.
- ✔ Verdadeiro — \(d_{\mathrm{mreach}}\) penaliza pontos com core distance grande (isolados), reduzindo o caso mais comum de encadeamento por pontos raros — mas uma cadeia de pontos moderadamente densos (não isolados o bastante para ter core distance alto) ainda pode encadear via distância bruta dominando o máximo; por isso o HDBSCAN precisa da defesa adicional de
min_cluster_size.
Dica(Resposta) Teste 7 — Árvore condensada
- ✔ Verdadeiro — É exatamente a regra de condensamento: ramos pequenos (abaixo de
min_cluster_size) são tratados como “pontos que se perderam do cluster pai”, não como novos ramos — independentemente de a hierarquia completa (sem condensamento) já registrar essa divisão como um evento válido. - ✗ Falso — O HDBSCAN ainda depende de
min_samples(o \(K\) do core distance), além demin_cluster_size— a persistência decide QUAIS ramos sobrevivem dada a árvore condensada, mas não decide, por si só, o que conta como “denso” em primeiro lugar (isso vem demin_samples/core distance) nem o tamanho mínimo de ramo (min_cluster_size). Dois parâmetros de escala continuam presentes. - ✔ Verdadeiro — Um
min_cluster_sizemaior exige que mais ramos sejam fundidos ao pai (só ramos suficientemente grandes contam como cluster candidato) — isso reduz o número total de ramos candidatos sobreviventes, comparado a um limiar menor sobre a mesma hierarquia. - ✔ Verdadeiro — Mesmo numa única Gaussiana (sem clusters verdadeiros), flutuações amostrais locais produzem sub-regiões de densidade ligeiramente mais alta/mais baixa; se
min_cluster_sizefor pequeno o suficiente, algumas dessas flutuações podem, por acaso, ter tamanho suficiente para sobreviver ao condensamento — um cluster espúrio. É por isso que a persistência (não só o condensamento) é necessária para distinguir estrutura real de flutuação amostral.
Dica(Resposta) Teste 8 — Persistência por excesso de massa
- ✔ Verdadeiro — É exatamente a definição de persistência (excesso de massa): a soma, por ponto, do intervalo de sobrevivência daquele ponto como membro daquele cluster específico, ao longo da faixa de \(\lambda\).
- ✔ Verdadeiro — Persistência é, por definição, uma soma sobre o intervalo de sobrevivência — para tamanho de ramo comparável, uma faixa mais curta de \(\lambda\) produz uma soma menor do que uma faixa mais longa; é diretamente a definição de “excesso de massa” (mais tempo sobrevivendo = mais massa acumulada).
- ✗ Falso — A extração escolhe o lado de MAIOR persistência total entre as duas opções — não há garantia de que “dividir” sempre vença; se o pai (antes de dividir) já acumulou muita massa sozinho e os dois filhos, individualmente, têm persistências pequenas, manter o pai inteiro pode ter persistência total maior. Não existe uma regra fixa “dividir sempre vence” — é decidido caso a caso.
- ✗ Falso — Persistência depende do tamanho do ramo E de quanto tempo sobrevive (soma por ponto do intervalo de \(\lambda\)), não só do tamanho — dois clusters com o mesmo número de pontos, mas um sobrevivendo por uma faixa de \(\lambda\) muito mais longa que o outro antes de se fundir ou virar ruído, têm persistências diferentes. Confundir “mesmo tamanho” com “mesma persistência” ignora a dimensão de faixa de \(\lambda\) da definição.
Dica(Resposta) Teste 9 — O resultado no Breast Cancer Wisconsin
- ✗ Falso — “Funcionar como um classificador treinado no rótulo” implicaria que o rótulo influenciou o ajuste — o que é falso: o HDBSCAN nunca viu
diagnosisdurante o clustering (só os atributos numéricos). - ✔ Verdadeiro — Tumores malignos costumam ter múltiplos subtipos/estágios, então sua densidade nesses dois atributos tende a ser mais espalhada/menos coesa, formando uma “montanha” mais baixa e irregular que não sobrevive inteira como cluster de alta persistência; boa parte cai no “vale” entre o núcleo denso e a massa benigna, virando ruído.
- ✔ Verdadeiro — Os \(168\) pacientes marcados como ruído são justamente os casos mais ambíguos sob esses dois atributos — não se encaixam com confiança em nenhuma das duas regiões densas. Medir pureza só dentro dos clusters (excluindo esse grupo difícil) produz, mecanicamente, um número mais favorável do que uma métrica de concordância calculada sobre todos os \(569\) pacientes, ruído incluso: qualquer forma de descartar os casos mais difíceis antes de medir a qualidade tende a inflar o número resultante, não porque o método melhorou, mas porque a base de comparação ficou mais fácil.
- ✗ Falso — “Todos marcados como ruído” ainda é uma partição — trivial (uma única categoria, “ruído”, contendo todo mundo), mas uma partição válida, comparável a qualquer rótulo real numa tabela de contingência. Essa comparação existe e tem um resultado bem definido: como o ruído não distingue benignos de malignos (todos caem na mesma categoria), a tabela revelaria justamente a AUSÊNCIA de alinhamento com o diagnóstico — não a impossibilidade de comparar. Afirmar que “não haveria partição nenhuma para comparar” confunde “partição sem informação” com “nenhuma partição”.
Dica(Resposta) Teste 10 — Hiperparâmetros:
min_cluster_size e min_samples
- ✗ Falso —
min_cluster_size(emin_samples) ainda são escolhas de escala — o HDBSCAN troca uma decisão (\(\lambda\) ou \(\varepsilon\) fixo) por outra (tamanho mínimo de cluster / \(K\) do core distance), não elimina a necessidade de decisão alguma. - ✔ Verdadeiro — Com
min_cluster_size=2, cadeias finas de poucos pontos passam a contar como clusters válidos por si mesmas, reintroduzindo o mesmo mecanismo de encadeamento (fusões via par único próximo) que a ligação simples pura já sofria. - ✔ Verdadeiro —
min_samplesé exatamente o valor de \(K\) usado no cálculo do core distance — ambos determinam quantos vizinhos entram no cálculo da distância que define “quão densa” é a vizinhança de um ponto. - ✗ Falso — Aparecer só sob um ajuste forçado do parâmetro (e não numa faixa estável de valores) é evidência de sensibilidade ao limiar escolhido — um sinal de possível artefato, não de robustez. Um cluster que aparece de forma estável através de vários valores de
min_cluster_sizeé evidência mais forte de estrutura real.
Dica(Resposta) Teste 11 — Maldição da dimensionalidade em clustering por densidade
- ✔ Verdadeiro — Como \(\mathrm{core}_K(\mathbf{x})=d_K(\mathbf{x})\) e \(d_{\mathrm{mreach}}\) depende de \(\mathrm{core}_K\) e da distância bruta, ambas herdam a perda de poder discriminativo de distâncias em alta dimensão — o mesmo fenômeno geral de concentração de medida —, fazendo a árvore condensada não encontrar ramo estável o bastante para sobreviver como cluster.
- ✗ Falso — Forçar
min_cluster_sizemais alto ataca o sintoma (falta de clusters aparentes), não a causa (perda de poder discriminativo das distâncias em alta dimensão); um cluster que aparece só por esse ajuste não é necessariamente confiável — pode ser um artefato do limiar forçado, não estrutura real recuperada. - ✗ Falso — Distância euclidiana a um protótipo fixo sofre sua própria versão da maldição (distâncias entre pontos e protótipos também perdem significado geométrico relativo em alta dimensão) — nenhum método baseado em distância escapa por completo desse fenômeno. Não usar \(\mathrm{core}_K\) especificamente não é o mesmo que estar imune à maldição em geral.
- ✔ Verdadeiro — Reduzir dimensionalidade ataca diretamente a causa (distâncias perdendo poder discriminativo por excesso de dimensões, muitas delas pouco informativas para a estrutura de cluster) — é a rota mais direta para recuperar poder discriminativo, em vez de mascarar o sintoma forçando um parâmetro de escala.
Dica(Resposta) Teste 12 — Partição rígida vs. probabilística
- ✔ Verdadeiro — É exatamente a definição de partição “rígida”: cada ponto recebe um rótulo único (um dos clusters, ou ruído), nunca uma distribuição de probabilidade entre múltiplos clusters simultaneamente.
- ✗ Falso — É exatamente o caso em que a atribuição probabilística DIFERE do HDBSCAN — um ponto genuinamente na fronteira (onde os clusters se sobrepõem) receberia, sob GMM/EM, probabilidades intermediárias (não próximas de \(0\) ou \(1\)) para os dois clusters, refletindo a ambiguidade real; forçar \(0\)/\(1\) nesse caso seria o comportamento do HDBSCAN, não a diferença que uma atribuição probabilística pretende introduzir.
- ✔ Verdadeiro — É exatamente a taxonomia de três paradigmas do ESL: combinatório, modelagem por mistura, mode seeking — cada um distinto dos outros dois.
- ✔ Verdadeiro — A escolha reflete uma hipótese sobre a estrutura real dos dados (existe ou não um vale de densidade genuíno separando os grupos) — não é uma questão de conveniência de implementação.