Clustering – Agrupamento

Data Warehouse
1.2 – Nao Supervisionado
1.2.1 – Clustering – Agrupamento
1.2.1.1 – K-Means, DBSCAN, Hierarchical Clustering, Gaussian Mixture Models
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O que é clustering não supervisionado

Clustering é uma técnica de aprendizado não supervisionado. O algoritmo não utiliza rótulos ou respostas predefinidas. Seu objetivo consiste em agrupar dados similares em clusters. Cada cluster contém elementos parecidos entre si. Por exemplo, podemos agrupar clientes por comportamento de compra. Diferentemente da classificação, aqui não há treinamento com exemplos rotulados. O algoritmo descobre padrões escondidos nos dados. Essa abordagem mostra-se muito útil para explorar conjuntos desconhecidos. Primeiramente, biologia, marketing e visão computacional usam amplamente esta técnica.

Primeiramente, o algoritmo define uma medida de similaridade. Em seguida, ele organiza os dados em grupos coesos. Além disso, os clusters devem permanecer bem separados uns dos outros. Por conseguinte, pontos dentro do mesmo cluster são próximos. Contudo, pontos de clusters diferentes são distantes segundo a métrica. Uma vantagem consiste em não exigir conhecimento prévio. No entanto, a interpretação dos clusters fica a cargo do analista. Muitas vezes, é preciso testar diferentes configurações. Portanto, o resultado final pode revelar insights surpreendentes.

Arquitetura do modelo k-means

O algoritmo k-means destaca-se como o mais popular para clustering. Sua arquitetura mostra-se simples e baseada em centróides. Primeiramente, escolhe-se o número K de clusters desejado. Depois, inicializamos K centróides aleatoriamente. Cada ponto atribui-se ao centróide mais próximo. Essa atribuição usa a distância euclidiana como métrica. A fórmula da distância entre dois pontos é: \(d(p,q) = \sqrt{\sum_{i=1}^{n} (p_i – q_i)^2}\). Após a atribuição, recalculamos os centróides. O novo centróide corresponde à média dos pontos do cluster: \(c_k = \frac{1}{|C_k|} \sum_{x \in C_k} x\). Consequentemente, repetimos esse processo até a convergência.

A convergência ocorre quando os centróides não mudam mais. O algoritmo converge garantidamente, mas para um mínimo local. Por isso, diferentes inicializações podem produzir resultados distintos. Uma técnica comum envolve o k-means++ para melhor inicialização. Assim, ela espalha os centróides iniciais de forma inteligente. A complexidade do algoritmo mostra-se linear no número de pontos. Isso o torna escalável para grandes conjuntos de dados. Contudo, ele assume que os clusters são esféricos. Portanto, para formas complexas, outros algoritmos são mais adequados.

Hiperparâmetros e fórmulas matemáticas

O principal hiperparâmetro do k-means é o número K. Escolhemos este valor antes da execução do algoritmo. Um método comum envolve o método do cotovelo (elbow method). Ele plota a inércia para diferentes valores de K. A inércia representa a soma das distâncias quadradas intra-cluster: \(inércia = \sum_{k=1}^{K} \sum_{x \in C_k} ||x – c_k||^2\). Quando K aumenta, a inércia sempre diminui. Assim, o ponto de cotovelo indica um bom número de clusters. Outro hiperparâmetro é o número máximo de iterações. Além disso, ajustamos a tolerância de convergência.

A inicialização dos centróides representa outro fator importante. O parâmetro n_init define quantas execuções diferentes realizamos. Portanto, mantemos a melhor execução (menor inércia) ao final. A fórmula da silhueta avalia a qualidade do clustering: \(s(i) = \frac{b(i) – a(i)}{\max(a(i), b(i))}\). Nessa expressão, \(a(i)\) representa a distância média intra-cluster. \(b(i)\) indica a distância média para o cluster vizinho mais próximo. O valor da silhueta varia entre -1 e 1. Consequentemente, valores próximos de 1 indicam clusters bem separados. Essa métrica mostra-se muito útil para validar o resultado.

Enunciado do exemplo com flor íris

Você recebeu o dataset das flores Íris sem os rótulos das espécies. Seu objetivo consiste em agrupar as flores em clusters similares. Use o algoritmo k-means para encontrar grupos naturais. As características disponíveis incluem quatro medidas das flores. Primeiramente, você não sabe quantas espécies existem nos dados. Portanto, determine o número ideal de clusters usando o método do cotovelo. Depois, visualize os clusters em um gráfico 2D. Use as duas primeiras componentes principais para reduzir dimensão. Além disso, exiba um gráfico de silhueta para avaliar a qualidade. O código abaixo resolve completamente este enunciado.

Ele executa no Google Colab sem necessidade de ajustes. Boa prática! O clustering revela estruturas escondidas.

O código corrigido separa corretamente as coordenadas X e Y. A função pca.transform() projeta os centróides no mesmo espaço. Desenhamos os centróides como X vermelhos sobre os clusters. O método do cotovelo confirma que K=3 representa o número ideal. O gráfico de silhueta mostra boa separação entre os grupos. A silhueta média global próxima de 0,5 indica qualidade razoável. Por fim, o índice de Rand ajustado compara com as espécies reais. Valores acima de 0,7 mostram que o clustering funcionou bem. Além disso, exibimos a composição de cada cluster no final do código. Parabéns! Você acabou de realizar aprendizado não supervisionado.

Não Supervisionado

Data Warehouse
1 – Aprendizado de Maquina
1.2 – Nao Supervisionado
1.2.1 – Clustering – Agrupamento
1.2.2 – Reducao de Dimensionalidade
1.2.3 – Regras de Associacao
1.2.4 – Deteccao de Anomalias
1.2.5 – Geracao de Dados
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

aprendendo sem rótulos

Aprendizado não supervisionado é uma abordagem onde o algoritmo aprende sem exemplos rotulados. Diferente do supervisionado, não há respostas corretas fornecidas durante o treinamento. Primeiramente, o modelo busca estruturas, padrões e relações intrínsecas nos dados. Além disso, ele descobre agrupamentos naturais e representações latentes automaticamente. Por exemplo, um sistema pode agrupar clientes por comportamento sem saber categorias pré-definidas. Essa abordagem é valiosa quando rotular dados é caro ou inviável. É fundamental para explorar grandes volumes de dados não anotados.

principais tarefas não supervisionadas

As principais tarefas incluem clusterização, redução de dimensionalidade e detecção de anomalias. Primeiramente, clusterização agrupa exemplos similares sem conhecer os grupos previamente. Além disso, redução de dimensionalidade comprime dados preservando informações essenciais. Detecção de anomalias identifica pontos que fogem dos padrões normais. Por exemplo, clusterização de clientes por perfil de compra sem categorias. Redução de dimensionalidade facilita visualização de dados de alta dimensão. Cada tarefa revela diferentes aspectos da estrutura oculta dos dados.

aplicações práticas no mundo real

Aprendizado não supervisionado impulsiona sistemas que operam com grandes volumes de dados não rotulados. Primeiramente, sistemas de recomendação agrupam usuários com comportamentos similares anonimamente. Além disso, segmentação de mercado descobre nichos sem categorias pré-definidas. Na segurança, detecção de anomalias identifica transações fraudulentas e invasões. Por exemplo, agrupar artigos científicos por tema sem classificação manual. Na biologia, ajuda a descobrir novos tipos de células em dados genéticos. É essencial quando o conhecimento prévio sobre categorias é limitado.

desafios e avaliação

Avaliar modelos não supervisionados é mais subjetivo que em aprendizado supervisionado. Primeiramente, não há rótulos verdadeiros para comparar os resultados obtidos. Além disso, métricas internas como silhueta e inércia ajudam na avaliação. Validação externa pode usar conhecimento de domínio para interpretar agrupamentos. Por exemplo, verificar se clusters formados correspondem a segmentos de mercado conhecidos. O sucesso depende da qualidade das representações aprendidas. Para iniciantes, aprendizado não supervisionado mostra como IA descobre conhecimento oculto. É a ferramenta para explorar o desconhecido em dados massivos.

Ver também