O Maior Erro em Machine Learning: Escolher o Algoritmo Antes de Compreender o Problema
Há alguns anos participei numa reunião onde uma organização pretendia implementar Inteligência Artificial para melhorar a gestão operacional. A reunião começou de forma previsível.
Alguém perguntou se devíamos utilizar Machine Learning. Outro perguntou se o ChatGPT poderia ajudar. Poucos minutos depois surgiu uma questão ainda mais específica:
Devemos utilizar K-Means, PCA ou algum algoritmo mais avançado?
A conversa parecia técnica. Parecia avançada. Parecia inteligente. Mas havia um problema. Ninguém tinha explicado qual era a pergunta que pretendiam responder. E este é provavelmente um dos erros mais comuns em projetos de Inteligência Artificial. As equipas apaixonam-se pelos algoritmos antes de compreenderem verdadeiramente o problema. É semelhante a entrar numa loja de ferramentas e perguntar qual é o melhor martelo sem saber se precisamos de construir uma casa, reparar uma torneira ou montar um móvel. A escolha da ferramenta só faz sentido depois de compreendermos o objetivo. Com o Machine Learning acontece exatamente o mesmo.
O algoritmo certo depende da pergunta certa
Quando começamos a explorar o mundo do Unsupervised Learning encontramos
dezenas de técnicas diferentes.
- K-Means.
- DBSCAN.
- PCA.
- Hierarchical Clustering.
- Gaussian Mixture Models.
- Isolation Forest.
- Autoencoders.
A lista continua a crescer. Para quem está a começar, tudo parece uma enorme caixa de ferramentas técnicas. Mas existe uma forma muito mais simples de abordar o problema.
Em vez de perguntar: Que algoritmo devo utilizar?
Devemos começar por perguntar: O que estou realmente a tentar descobrir?
Quero encontrar grupos ou resolver outro problema?
Esta é normalmente a primeira grande decisão. Muitas organizações acreditam que precisam de clustering quando, na realidade, o seu problema é outro. Imagine uma autarquia com centenas de edifícios municipais. A equipa energética quer melhorar a eficiência dos consumos. À partida parece um problema de clustering. Mas será mesmo? Talvez o objetivo seja identificar edifícios com consumos anormais. Nesse caso, o foco deixa de ser criar grupos. Passa a ser encontrar anomalias. A escolha da técnica muda completamente.
Quando o objetivo é encontrar grupos
Suponhamos que pretendemos segmentar clientes, edifícios ou equipamentos com comportamentos semelhantes. Estamos perante um problema clássico de clustering. Mas mesmo aqui surgem várias possibilidades. E cada uma responde a perguntas diferentes.
Quando já temos uma ideia dos grupos
Imaginemos uma comercializadora de energia que pretende segmentar os seus clientes. Os analistas acreditam que existem alguns perfis principais de consumo.
- Grandes consumidores.
- Consumidores médios.
- Pequenos consumidores.
Neste cenário, métodos baseados em centros, como o K-Means, costumam ser uma boa primeira abordagem. O algoritmo procura centros representativos dos grupos e organiza os dados em torno desses pontos. É uma das técnicas mais utilizadas porque é simples, rápida e relativamente fácil de interpretar. Por esse motivo, continua a ser um dos primeiros algoritmos experimentados em muitos projetos reais.
Quando os grupos não são tão óbvios
Mas a realidade raramente é tão organizada. Imagine agora milhares de sensores espalhados por uma cidade. Alguns encontram-se em zonas urbanas densas. Outros estão dispersos em áreas rurais. Os padrões não formam círculos perfeitos. Os grupos possuem formas irregulares. Neste contexto, algoritmos baseados em densidade, como o DBSCAN, podem ser mais adequados. Em vez de procurarem centros, procuram regiões onde os dados tendem naturalmente a concentrar-se. Além disso, conseguem identificar observações isoladas que podem representar comportamentos anómalos.
Quando existe uma hierarquia natural
Nem todos os problemas exigem uma resposta única. Por vezes queremos compreender os dados em vários níveis de detalhe. Pensemos numa cadeia de supermercados. Ao mais alto nível, podemos dividir os produtos em alimentação e não alimentação. Dentro da alimentação encontramos bebidas, congelados e mercearia. Dentro das bebidas encontramos água, refrigerantes e sumos. Estamos perante uma estrutura hierárquica. Nestes casos, o Hierarchical Clustering oferece uma perspetiva extremamente interessante porque permite navegar pelos dados em diferentes níveis de granularidade. A questão deixa de ser quantos grupos existem. Passa a ser onde queremos observar a realidade.
Quando os limites não são claros
Alguns problemas apresentam uma dificuldade adicional. As fronteiras entre grupos simplesmente não existem. Pensemos num cliente empresarial que trabalha a partir de casa.
Parte do seu comportamento parece residencial. Parte parece empresarial.
A que grupo pertence?
A resposta mais honesta pode ser: Um pouco aos dois. É precisamente aqui que entram os modelos probabilísticos, como os Gaussian Mixture Models. Em vez de classificarem rigidamente cada registo, calculam probabilidades de pertença. O resultado é frequentemente mais próximo da complexidade do mundo real.
E se o objetivo não for criar grupos?
Esta é uma pergunta que raramente é feita. Mas deveria ser. Muitos projetos começam com clustering porque é uma técnica popular. No entanto, o verdadeiro objetivo pode ser completamente diferente.
Quando procuramos comportamentos estranhos
Imagine uma plataforma de gestão energética com informação de 500 edifícios. A análise revela que um deles consome dez vezes mais energia do que os restantes.
- Será uma piscina?
- Será um hospital?
- Será uma avaria?
- Será um erro de medição?
Neste caso não estamos interessados em criar grupos. Estamos interessados em compreender aquilo que foge ao padrão. Entramos então no domínio da deteção de anomalias. Muitas vezes, os maiores ganhos financeiros de um projeto não surgem dos clusters. Surgem precisamente das anomalias.
Quando o problema é o excesso de informação
Existe ainda outro cenário muito comum. As organizações recolhem tantos dados que deixam de conseguir interpretá-los. Foi precisamente este desafio que encontrei em vários projetos ligados à energia.
- Sensores.
- Contadores.
- Sistemas de climatização.
- Produção fotovoltaica.
- Meteorologia.
- Horários.
- Ocupação.
- Tarifários
Tudo gera informação. Mas será que precisamos realmente de todas as variáveis?
É aqui que entram as técnicas de redução de dimensionalidade.
A arte de simplificar
A redução de dimensionalidade não procura grupos. Procura simplificar a realidade. Por vezes conseguimos representar centenas de variáveis através de um pequeno conjunto de fatores mais relevantes. É semelhante ao que acontece quando um gestor olha para um dashboard executivo. Não quer analisar milhares de números. Quer compreender os poucos indicadores que realmente explicam o desempenho da organização. A Inteligência Artificial procura fazer exatamente isso. Transformar complexidade em conhecimento.
O que fazem os melhores analistas?
Ao longo dos anos reparei que os melhores profissionais de dados raramente
começam por falar de algoritmos. Começam por fazer perguntas.
- O que queremos descobrir?
- Que decisão pretendemos apoiar?
- Que problema estamos a tentar resolver?
Só depois escolhem a técnica. Porque a verdade é simples. O sucesso de um projeto de Machine Learning raramente depende do algoritmo utilizado. Depende muito mais da capacidade de formular a pergunta certa. E talvez essa seja uma das lições mais importantes da Inteligência Artificial. Os algoritmos são apenas ferramentas. O verdadeiro valor está em compreender qual delas resolve melhor o problema que temos à frente.
O Leite, o Sumo de Laranja e a Maior Lição que Aprendi Sobre Inteligência Artificial
Há alguns anos, durante uma reunião de análise de dados, um cliente colocou uma
questão aparentemente simples. Tínhamos centenas de milhares de registos provenientes de vários sistemas e discutíamos a melhor forma de segmentar clientes.
A certa altura alguém perguntou:
Qual é o melhor algoritmo para agrupar estes dados?
A pergunta parecia lógica. Mas um dos cientistas de dados presentes respondeu com outra pergunta. Antes disso, diga-me uma coisa.
O que têm em comum um leite, um sumo de laranja, um croissant e uma caixa de cereais?
A sala ficou em silêncio. Parecia uma pergunta completamente fora de contexto.
Mas acabou por se transformar numa das explicações mais brilhantes que já ouvi
sobre Machine Learning.
O problema não está nos dados
Quando olhamos para leite, sumo de laranja, croissant e cereais, a nossa tendência natural é procurar grupos. É exatamente isso que os algoritmos de clustering fazem. Tentam descobrir quais os elementos que são semelhantes entre si. Mas existe um detalhe importante. Os dados não dizem sozinhos como devem ser agrupados. Somos nós que escolhemos a forma de os observar. E essa escolha muda completamente o resultado.
Se olharmos para o estado físico
Uma forma de analisar estes quatro produtos é observar o seu estado físico. Nesse caso, surgem imediatamente dois grupos. Por um lado temos o leite e o sumo de laranja. Por outro temos o croissant e os cereais. A lógica é simples. Líquidos de um lado. Sólidos do outro. O agrupamento parece perfeitamente razoável.
Mas podemos olhar para outra dimensão
Agora imaginemos que estamos a desenvolver um sistema para analisar cadeias de abastecimento alimentar. Talvez o estado físico já não seja o mais importante. Talvez a origem dos produtos seja mais relevante. Nesse caso, o leite pode ficar isolado como produto de origem animal. O sumo de laranja, os cereais e o croissant podem ser agrupados como produtos de origem vegetal. Os mesmos dados. Os mesmos quatro elementos. Mas um agrupamento completamente diferente.
E se estivermos a falar de nutrição?
Imagine agora uma empresa da área da saúde ou da nutrição. Provavelmente a análise muda novamente. O foco pode estar nos macronutrientes. Os cereais e o croissant podem ser agrupados por serem ricos em hidratos de carbono. O leite e o sumo de laranja podem formar outro grupo enquanto bebidas. Mais uma vez, nada mudou nos dados. Mudou apenas a forma de olhar para eles.
A mesma lição aplicada às empresas
Este fenómeno acontece diariamente nas organizações. Imagine uma empresa que pretende segmentar clientes. Dependendo das variáveis escolhidas, pode descobrir grupos completamente diferentes.
- Pode segmentar por faturação.
- Pode segmentar por rentabilidade.
- Pode segmentar por localização geográfica.
- Pode segmentar por comportamento de compra.
- Pode segmentar por risco de abandono.
Nenhum destes agrupamentos está errado. Cada um responde a uma necessidade específica do negócio. O verdadeiro desafio não é executar o algoritmo. É compreender qual a dimensão da realidade que queremos observar.
Porque tantos projetos de IA falham
Ao longo dos anos tenho observado muitos projetos de Inteligência Artificial falharem por uma razão curiosa. As equipas dedicam semanas a discutir algoritmos. Comparam modelos.
Analisam métricas. Testam diferentes configurações. Mas quase ninguém investe o mesmo tempo a discutir as variáveis. E é precisamente aí que reside grande parte do sucesso. Se escolhermos as variáveis erradas, até o melhor algoritmo do mundo produzirá resultados pouco úteis. Se escolhermos as variáveis certas, muitas vezes um algoritmo simples consegue gerar insights extraordinários.
A ligação à redução de dimensionalidade
Esta ideia está diretamente relacionada com outro conceito fundamental do Machine
Learning: a redução de dimensionalidade. Os quatro produtos do nosso exemplo possuem centenas de características possíveis.
- Cor.
- Peso.
- Preço.
- Valor nutricional.
- Origem.
- Embalagem.
- Estado físico.
- Momento de consumo.
- Marca.
- Validade.
- E muitas outras.
No entanto, dependendo do objetivo, apenas algumas dessas características são relevantes. O segredo não está em analisar tudo. Está em descobrir o que merece ser analisado.
A verdadeira competência dos cientistas de dados
Quando vemos apresentações sobre Inteligência Artificial, é comum falar-se de modelos sofisticados, redes neuronais e algoritmos avançados. Mas a realidade do trabalho diário é muitas vezes menos glamorosa. Os melhores cientistas de dados passam uma parte significativa do seu tempo a tentar compreender os dados. A questionar variáveis. A validar hipóteses. A perceber quais os atributos que realmente explicam o problema. Porque a verdade é que o Machine Learning raramente começa com algoritmos. Começa com perguntas. E talvez a mais importante de todas seja esta:
Qual é a realidade que estamos a tentar representar?
Só depois dessa resposta faz sentido falar de clustering, inteligência artificial ou qualquer outra tecnologia. Porque, no final, o leite, o sumo de laranja, o croissant e os cereais nunca foram apenas alimentos. São uma lição sobre a forma como escolhemos observar o mundo.