Inteligência Artificial · 1.º ano (indicativo)
Como escolher um algoritmo de ML para um problema?
Resposta curta
Primeiro identifique o tipo de problema: prever uma categoria (classificação), prever um número (regressão) ou encontrar grupos sem rótulos (agrupamento). Depois olhe para o tamanho e a natureza dos dados e a necessidade de explicar decisões. Comece com um modelo simples como baseline e só complique se a validação mostrar ganho.
Quando se aplica
Aplica-se sempre que tem dados e uma pergunta, e precisa de decidir que família de modelos experimentar. Não existe um algoritmo melhor em todos os problemas, uma ideia que a literatura resume no teorema «no free lunch». A escolha depende da tarefa, da quantidade e do tipo de dados, do tempo de treino e de quão explicável a decisão tem de ser.
Pré-requisitos
- Distinguir aprendizagem supervisionada (com rótulos) de não supervisionada (sem rótulos).
- Saber o que é o conjunto de treino e de teste e o que é sobreajuste.
Mapa de decisão
| Tarefa | Exemplo | Algoritmos habituais |
|---|---|---|
| Classificação | spam ou não spam | regressão logística, árvore de decisão, k-vizinhos mais próximos (k-NN), floresta aleatória, naive Bayes |
| Regressão | preço de uma casa | regressão linear, árvore de regressão, floresta aleatória |
| Agrupamento | segmentar clientes sem rótulos | k-means, agrupamento hierárquico |
| Redução de dimensão | visualizar 100 colunas em 2 | análise de componentes principais (PCA) |
| Imagens, áudio, texto longo | reconhecer objetos | redes neuronais profundas |
Método passo a passo
- Formule o problema: o que quer prever, e existe uma coluna com a resposta (rótulo)? Isto define supervisionado ou não.
- Classifique a saída: categoria (classificação), número (regressão), grupo (agrupamento).
- Descreva os dados: número de linhas, número de colunas, dados tabulares ou imagens/texto, valores em falta, classes equilibradas ou não.
- Liste as restrições: precisa de explicar a decisão? O tempo é limitado? Tem poucos dados ou muitos?
- Escolha um baseline simples (regressão linear ou logística, árvore rasa, k-NN) e treine-o.
- Compare com uma ou duas alternativas usando a mesma divisão de dados e a mesma métrica adequada (exatidão, F1, erro médio…).
- Fique com o mais simples que atinja o desempenho necessário e confirme no conjunto de teste uma única vez.
Dica
Um bom baseline é também a referência de honestidade: se um modelo complexo só ganha 0,5% ao baseline, o ganho raramente compensa o custo e a perda de explicabilidade.
Exemplos resolvidos
Exemplo 1 — Prever o preço de um apartamento
Enunciado: Tem 2 000 anúncios de apartamentos em Luanda, com área, número de quartos, bairro e preço em kwanzas. Quer prever o preço. Que família de algoritmos escolhe e porquê?
Resolução:
- Há um rótulo (o preço), por isso a aprendizagem é supervisionada.
- O preço é um número contínuo: regressão.
- Os dados são tabulares e de tamanho médio.
- Baseline: regressão linear; alternativa: floresta aleatória (regressão).
- Compara-se o erro médio no conjunto de validação e escolhe-se o mais simples que tenha erro aceitável.
Resposta: regressão linear como baseline, e floresta aleatória como comparação. Verificação: a métrica é um erro numérico (por exemplo, o erro absoluto médio) e não a exatidão, que só serve para classes.
Exemplo 2 — Detetar mensagens de spam
Enunciado: Tem 10 000 mensagens já marcadas como spam ou não spam. Que algoritmo experimenta primeiro?
Resolução:
- Há rótulo e a saída é uma de duas categorias: classificação binária.
- O texto transforma-se em números (por exemplo, contagem de palavras).
- Para texto com muitas colunas, um bom ponto de partida é a regressão logística ou o naive Bayes: rápidos e simples.
- Como o spam é normalmente a minoria, avalia-se com precisão, recuperação (recall) ou F1, e não só com a exatidão.
Resposta: regressão logística ou naive Bayes como baseline. Verificação: se 5% das mensagens são spam, um modelo que diga sempre «não spam» tem 95% de exatidão e é inútil, por isso a métrica tem de ser outra.
Exemplo 3 — Segmentar clientes sem rótulos
Enunciado: Uma cadeia de lojas tem o histórico de compras de 5 000 clientes, sem nenhuma categoria atribuída, e quer descobrir grupos de clientes semelhantes. Que técnica usa?
Resolução:
- Não existe coluna de resposta: aprendizagem não supervisionada.
- O objetivo é formar grupos: agrupamento.
- Escolhe-se o k-means, que precisa do número de grupos k; testam-se valores como 3, 4 e 5.
- Normalizam-se as colunas, porque o k-means usa distâncias.
- A qualidade avalia-se por medidas de coesão dos grupos e, sobretudo, pela utilidade dos grupos para o negócio.
Resposta: k-means com dados normalizados. Verificação: o resultado deve ser interpretável (por exemplo, grupos de compra frequente e de baixo valor).
Exemplo 4 — Nível de exame: justificar a escolha com restrições
Enunciado: Um banco quer decidir se aprova créditos. Tem 300 clientes históricos com 8 colunas e o regulador exige explicar cada decisão ao cliente. Escolha entre uma rede neuronal profunda, uma árvore de decisão e a regressão logística, justificando.
Resolução:
- Tarefa: classificação binária (aprovar ou recusar).
- Dados: só 300 linhas e 8 colunas. Uma rede profunda precisaria de muito mais dados e sobreajustaria.
- Restrição: explicabilidade. A regressão logística mostra o peso de cada variável; a árvore mostra regras legíveis.
- Escolha: regressão logística como baseline, com uma árvore de profundidade pequena como alternativa.
- Avaliar com validação cruzada, pois o conjunto é pequeno.
Resposta: regressão logística (ou árvore rasa); a rede profunda é inadequada pelo tamanho dos dados e pela falta de explicabilidade. Verificação: o modelo escolhido consegue dizer ao cliente quais fatores pesaram na decisão.
Erros frequentes
- Começar pelo modelo mais complexo em vez de um baseline simples; perde-se tempo e não se sabe o que o ganho vale.
- Usar a exatidão com classes desequilibradas. Num conjunto com 99% de negativos, responder sempre «negativo» dá 99%.
- Escolher o algoritmo pela moda (aprendizagem profunda) em vez de pelos dados: com poucas linhas tabulares, modelos simples costumam bastar.
- Não normalizar colunas em k-NN, k-means ou regressão regularizada, onde as escalas diferentes distorcem o resultado.
- Comparar modelos em divisões diferentes de dados, o que torna a comparação injusta.
- Escolher o modelo com base no conjunto de teste. Use validação; o teste é só para a medida final.
- Ignorar a explicabilidade em áreas como crédito, saúde ou justiça, onde as decisões têm de ser justificadas.
Exercícios propostos
1Exercício 1
Classifique cada problema em classificação, regressão ou agrupamento: (a) prever a temperatura de amanhã em graus; (b) prever se um cliente falha o pagamento; (c) agrupar notícias por tema sem categorias prévias.
Ver solução
(a) Regressão, porque a saída é um número. (b) Classificação (falha ou não falha). (c) Agrupamento, não supervisionado, porque não há rótulos.
2Exercício 2
Tem 100 colunas e quer representar os dados num gráfico de 2 dimensões. Que tipo de técnica usa e dê um exemplo.
Ver solução
Uma técnica de redução de dimensão, como a análise de componentes principais (PCA), que projeta os dados em 2 componentes que conservam a maior parte da variação.
3Exercício 3
Um conjunto tem 990 exemplos negativos e 10 positivos. Um modelo diz sempre «negativo». Qual é a sua exatidão e porque é enganadora?
Ver dica
Exatidão = previsões certas ÷ total.
Ver solução
Acerta nos 990 negativos e falha os 10 positivos: exatidão = 990 ÷ 1 000 = 99%. É enganadora porque o modelo não deteta nenhum positivo (recuperação 0%). Para este problema devem usar-se recuperação, precisão ou F1.
4Exercício 4
Tem 80 linhas de dados tabulares e precisa de explicar as previsões. Escolha um algoritmo adequado e rejeite um inadequado, justificando.
Ver solução
Adequados: regressão linear/logística ou árvore de decisão rasa, simples e explicáveis, que funcionam com poucos dados. Inadequado: rede neuronal profunda, que precisa de muitos dados, sobreajusta com 80 linhas e é difícil de explicar.
5Exercício 5
O modelo A (regressão logística) tem 88% de exatidão na validação e o modelo B (floresta aleatória com 500 árvores) tem 89%. O modelo A treina em segundos e é explicável; o B demora minutos. Que escolhe, e que passo adicional faz antes de decidir?
Ver dica
Pense se a diferença de 1 ponto é significativa.
Ver solução
A diferença de 1 ponto pode ser ruído de uma só divisão. Antes de decidir, repete-se a comparação com validação cruzada e olha-se para a variação entre voltas. Se a diferença for pequena, escolhe-se o A, que é mais simples, mais rápido e explicável. Se o B ganhar de forma consistente e o ganho tiver valor para o problema, justifica-se o B.
Perguntas frequentes
Qual é o melhor algoritmo de machine learning?
Não existe um melhor para todos os problemas. Para dados tabulares, as florestas aleatórias e os modelos de boosting costumam ser fortes; para imagens e texto longo, as redes neuronais profundas. A escolha certa vem da tarefa, dos dados e da validação.
Quando devo usar aprendizagem profunda?
Quando tem muitos dados e dados não estruturados, como imagens, áudio ou texto, ou quando o problema o justifica e há poder de cálculo. Para poucas linhas tabulares, modelos clássicos costumam chegar e são mais fáceis de explicar.
Posso experimentar vários algoritmos e ficar com o melhor?
Pode e deve, desde que compare todos na mesma divisão ou validação cruzada e use o conjunto de teste só no final. Se escolher pelo teste, a medida final fica otimista.
Como sei se o modelo escolhido é bom o suficiente?
Compare com um baseline trivial (por exemplo, prever a média ou a classe mais frequente) e com o nível de erro que o problema aceita. Um modelo só é bom se melhorar de forma útil sobre essas referências.
Resumo
- Primeiro, o tipo de problema: classificação, regressão ou agrupamento.
- Depois, os dados (tamanho, tipo, classes equilibradas) e as restrições (explicabilidade, tempo).
- Comece sempre com um baseline simples e só complique se a validação mostrar ganho útil.
- Use a mesma divisão e uma métrica adequada; com classes desequilibradas, não confie só na exatidão.
- Escolha o modelo na validação e confirme no teste uma única vez.
Onde aprofundar
- O programa e o manual da sua cadeira de Inteligência Artificial.
- Russell e Norvig, Artificial Intelligence: A Modern Approach, capítulos sobre aprendizagem (confirme a edição).
- A documentação do scikit-learn, em particular o guia de utilização e o mapa de escolha de algoritmos (confirme a versão); Goodfellow et al., Deep Learning, para redes neuronais.
Continue a estudar
Como dividir os dados em treino e teste?
Separe os dados antes de treinar: uma parte (por exemplo 80%) para o modelo aprender e outra (20%) que ele nunca viu, para medir o desempenho real. Misture as linhas…
4 exemplos5 exercícios com solução✓ Estudado