Clustering: Como a Inteligência Artificial Descobre Grupos Sem Que Ninguém os Defina
Imagine que entra numa sala onde estão cem pessoas.
Não conhece ninguém. Não sabe quem trabalha na mesma empresa, quem tem os mesmos interesses ou quem pertence ao mesmo grupo de amigos.
Ainda assim, após alguns minutos de observação, começa a identificar padrões. Algumas pessoas parecem ter profissões semelhantes. Outras têm idades próximas. Algumas conversam sobre os mesmos temas ou partilham interesses comuns.
Sem se aperceber, está a realizar uma tarefa muito semelhante àquela que os algoritmos de Clustering executam diariamente.
O clustering é uma das técnicas mais populares da área do Unsupervised Learning e tem como objetivo descobrir grupos naturais existentes nos dados, sem que esses grupos tenham sido previamente definidos.
O primeiro desafio: o que devemos observar?
Antes de criar grupos, existe uma questão fundamental.
Que características vamos utilizar para comparar os elementos?
Voltando ao exemplo da sala, podemos analisar a idade, a profissão, a altura, a experiência profissional, os interesses pessoais ou qualquer outra característica disponível.
A escolha destas variáveis é extremamente importante porque influencia diretamente os resultados obtidos.
Se agrupássemos as pessoas apenas pela idade, provavelmente obteríamos grupos muito diferentes daqueles que surgiriam se utilizássemos a profissão ou os interesses pessoais.
O mesmo acontece em Machine Learning.
Os grupos que um algoritmo descobre dependem fortemente das variáveis que lhe fornecemos.
Quantos grupos existem?
Depois de escolhermos as características surge uma nova pergunta.
Quantos grupos devemos criar?
Na maioria dos problemas reais não sabemos a resposta. Por esse motivo, os algoritmos experimentam frequentemente várias possibilidades.
Podemos testar:
- 2 grupos
- 3 grupos
- 4 grupos
- 5 grupos
- 6 grupos
E assim sucessivamente.
Cada solução produz uma organização diferente dos dados. O desafio consiste em descobrir qual dessas organizações representa melhor a realidade.
O que define um bom agrupamento?
Quando avaliamos um modelo de clustering procuramos atingir dois objetivos aparentemente simples.
Por um lado, queremos que os elementos pertencentes ao mesmo grupo sejam o mais semelhantes possível.
Por outro lado, pretendemos que os diferentes grupos sejam claramente distintos entre si.
Uma boa segmentação cria grupos internamente homogéneos e externamente diferentes.
Podemos imaginar um professor a organizar os alunos de uma turma para trabalhos de grupo. Se colocar alunos com interesses semelhantes juntos, o grupo tende a funcionar melhor. Se misturar perfis completamente diferentes, a organização torna-se menos coerente.
Os algoritmos seguem exatamente esta lógica.
Como os algoritmos avaliam a qualidade dos grupos?
Para responder a esta questão foram desenvolvidas várias métricas matemáticas.
Uma das mais conhecidas é o Silhouette Score.
Esta métrica mede o grau de integração de cada elemento no seu grupo e avalia simultaneamente a distância em relação aos restantes grupos.
Valores próximos de 1 indicam agrupamentos bem definidos. Valores próximos de 0 sugerem sobreposição entre grupos.
Outra métrica muito utilizada no algoritmo K-Means é a Inertia.
Neste caso mede-se a distância entre cada elemento e o centro do respetivo grupo. Quanto menor for essa distância, mais compactos serão os clusters.
Existe ainda o Davies-Bouldin Index, que avalia a separação entre grupos. Valores mais baixos indicam clusters mais distintos e melhor definidos.
Nenhuma destas métricas deve ser utilizada isoladamente. O ideal é combinar várias abordagens e interpretar os resultados à luz do problema que estamos a tentar resolver.
Um exemplo no setor da energia
Imaginemos uma comercializadora de energia com informação sobre 100 clientes.
Para cada cliente temos dados como:
- Consumo anual.
- Potência contratada.
- Tipo de instalação.
- Horário de utilização.
- Produção fotovoltaica.
O objetivo é descobrir perfis de consumo semelhantes.
Executamos o algoritmo K-Means com diferentes números de grupos.
Primeiro testamos dois clusters.
O resultado é demasiado genérico. Muitos clientes diferentes acabam agrupados no mesmo conjunto.
Depois experimentamos dez clusters.
Agora acontece o contrário. Existem tantos grupos que a interpretação se torna difícil e pouco útil.
Ao testar quatro clusters, verificamos que os clientes ficam organizados em perfis facilmente compreensíveis e operacionalmente úteis.
Nesse momento concluímos que quatro grupos representam melhor a estrutura dos dados.
Não porque exista uma regra matemática universal, mas porque essa solução produz conhecimento útil para apoiar a tomada de decisão.
O melhor número de clusters depende do objetivo
Esta é talvez uma das ideias mais importantes do clustering.
Não existe um número mágico de grupos válido para todos os problemas.
A melhor solução depende sempre do contexto.
Uma equipa de marketing pode beneficiar de cinco segmentos distintos de clientes para personalizar campanhas.
Uma equipa de gestão energética pode precisar apenas de três perfis de consumo para identificar oportunidades de eficiência.
Uma instituição financeira pode necessitar de dez grupos para compreender diferentes comportamentos de risco.
O conceito de “melhor cluster” está sempre associado ao objetivo que pretendemos atingir.
Porque o clustering é tão valioso?
Atualmente, as organizações possuem volumes gigantescos de dados, mas muitas vezes não sabem o que procurar.
O clustering permite descobrir estruturas ocultas sem necessidade de fornecer exemplos ou classificações prévias.
É utilizado para segmentar clientes, identificar perfis de consumo energético, analisar comportamentos de utilizadores, detetar padrões operacionais e apoiar decisões estratégicas.
Em muitos casos, revela relações que passariam completamente despercebidas numa análise tradicional.
A verdadeira pergunta do clustering
No fundo, todo o processo pode ser resumido numa única questão:
Que características permitem distinguir os elementos e quantos grupos representam os dados da forma mais clara e útil para o objetivo que queremos alcançar?
É precisamente essa procura por padrões escondidos que torna o clustering uma das técnicas mais fascinantes da Inteligência Artificial e uma das mais utilizadas em projetos reais de análise de dados.
Como é que a Inteligência Artificial Descobre Grupos Sozinha?
Uma das capacidades mais fascinantes da Inteligência Artificial não é responder a perguntas. É descobrir padrões que ninguém lhe ensinou.
Quando ouvimos falar de Machine Learning, muitas pessoas imaginam algoritmos treinados com milhares de exemplos corretos. Fotografias identificadas, documentos classificados ou previsões baseadas em dados históricos.
Mas existe uma área da Inteligência Artificial onde isso não acontece.
Chama-se Unsupervised Learning, ou Aprendizagem Não Supervisionada.
Neste tipo de abordagem, a máquina recebe apenas os dados. Não recebe respostas. Não recebe categorias. Não recebe exemplos de referência.
O seu trabalho consiste em descobrir sozinha como os dados estão organizados.
Uma sala cheia de desconhecidos
Imagine que entra numa conferência onde estão presentes mil pessoas.
Não conhece ninguém.
Não sabe quem trabalha na mesma empresa, quem partilha os mesmos interesses ou quem pertence ao mesmo setor de atividade.
Se observar atentamente durante algum tempo, começará a identificar padrões.
Algumas pessoas falam sobre tecnologia. Outras discutem temas ligados à energia. Algumas parecem ser estudantes. Outras têm claramente perfis de gestão.
Sem se aperceber, está a realizar uma tarefa muito semelhante àquela que os algoritmos de clustering executam diariamente.
O objetivo consiste em descobrir grupos naturais existentes nos dados.
O desafio dos milhares de pontos
Agora imagine que cada pessoa é representada por um ponto num gráfico.
Cada ponto contém informação sobre idade, profissão, experiência, interesses ou qualquer outra característica que possamos medir.
Quando existem dez ou vinte pessoas, a análise é relativamente simples. Mas o que acontece quando temos milhares, centenas de milhares ou até milhões de registos?
Para um ser humano torna-se praticamente impossível identificar padrões visuais.
É aqui que entram os algoritmos de clustering.
O conceito de centro do grupo
Muitos algoritmos utilizam uma ideia simples mas extremamente poderosa. A existência de um ponto central para cada grupo, esse ponto central é conhecido como centroid.
Podemos imaginá-lo como o centro de gravidade de um conjunto de elementos semelhantes.
Inicialmente, estes centros são colocados em posições provisórias. Nessa fase, ainda não existe qualquer conhecimento sobre os dados, é apenas uma estimativa inicial.
O primeiro agrupamento
Depois de posicionados os centroids, cada registo é associado ao centro mais próximo, todos os pontos escolhem o centro que se encontra a menor distância.
De repente, começam a surgir os primeiros grupos, no entanto, esses grupos ainda estão longe de ser perfeitos.
Na verdade, normalmente estão bastante errados.
Mas isso não constitui um problema.
O algoritmo foi concebido precisamente para corrigir os seus próprios erros.
Aprender através da reorganização
Após a primeira distribuição dos dados, o algoritmo recalcula a posição dos centroids.
Como os grupos mudaram, os respetivos centros também se deslocam, é semelhante ao que aconteceria se tentássemos encontrar o centro exato de uma multidão. À medida que mais pessoas entram ou saem do grupo, o ponto central também se altera.
Depois de reposicionar os centroids, o algoritmo volta a analisar todos os dados, cada elemento verifica novamente qual o centro mais próximo.
Alguns permanecem no mesmo grupo.
Outros mudam para grupos diferentes.
O processo repete-se continuamente.
Quando o algoritmo decide parar?
Esta reorganização acontece várias vezes.
Os grupos mudam.
Os centros deslocam-se.
Os dados são reavaliados.
A cada nova iteração, os ajustes tornam-se menores.
Chega um momento em que os centroids praticamente deixam de se mover. Quando isso acontece, considera-se que o algoritmo encontrou uma estrutura estável para os dados.
Os grupos finais representam então a melhor organização encontrada para aquele conjunto de informação.
O mais impressionante é que ninguém definiu os grupos
Existe um detalhe particularmente interessante.
Os grupos não existiam antes da análise.
Ninguém disse ao algoritmo quantos tipos de clientes existiam.
Ninguém indicou quais os edifícios semelhantes.
Ninguém definiu perfis de equipamentos.
Os padrões emergiram dos próprios dados.
É por isso que o clustering é frequentemente descrito como uma ferramenta de descoberta.
Em vez de procurar respostas conhecidas, procura conhecimento escondido.
Aplicações no mundo real
As aplicações são praticamente infinitas.
Uma empresa pode descobrir segmentos de clientes com comportamentos semelhantes.
Uma autarquia pode identificar edifícios municipais que apresentam perfis energéticos equivalentes.
Uma indústria pode agrupar equipamentos com padrões de funcionamento semelhantes.
Uma entidade gestora de energia pode identificar instalações com oportunidades de otimização semelhantes.
Até situações anómalas podem ser detetadas quando determinados elementos não se encaixam em nenhum grupo existente.
O verdadeiro valor da Inteligência Artificial
Muitas vezes associamos a Inteligência Artificial à capacidade de responder rapidamente a perguntas.
Mas uma das suas maiores forças está noutro lugar.
Na capacidade de encontrar relações que não são visíveis à primeira vista.
Na capacidade de revelar padrões escondidos em milhares ou milhões de registos.
Na capacidade de transformar dados aparentemente desorganizados em conhecimento útil.
Por vezes, a maior contribuição da Inteligência Artificial não é dar-nos respostas.
É mostrar-nos perguntas que nunca nos ocorreu fazer.