01-03-01 — Supervisionado, Não-supervisionado e Reinforcement Learning
TL;DR
Três paradigmas, três tipos de feedback: supervisionado usa exemplos rotulados ("isso é fraude"), não-supervisionado descobre estrutura sem rótulos ("esses clientes se comportam de forma similar"), e reinforcement learning aprende por tentativa e erro com recompensas ("essa ação levou a um bom resultado"). A maioria dos produtos de IA usa combinações dos três.
Aprendizado Supervisionado (Supervised Learning)
A Ideia
Você tem um dataset de exemplos onde cada exemplo vem com a resposta correta (o label). O modelo aprende a mapear inputs para outputs observando muitos exemplos. É como aprender com gabarito.
Subtipos
- Classificação: a saída é uma categoria. Email → spam ou não-spam. Imagem → gato, cachorro ou pássaro. Transação → fraude ou legítima
- Regressão: a saída é um número contínuo. Preço de imóvel, demanda futura, probabilidade de churn
O Gargalo: Labels
O problema é conseguir os labels. Marcar 100.000 transações como "fraude/legítima" exige tempo humano. Classificar 1 milhão de imagens médicas exige especialistas caros. Para muitas aplicações, a escassez de dados rotulados é o principal limitador — não o algoritmo.
Exemplos Práticos para Empresas de Software
- Detecção de bugs: exemplos de código com/sem bug → classifica novo código
- Categorização de tickets: histórico de chamados classificados → classifica novos automaticamente
- Estimativa de prazo: projetos históricos com prazo real → estima novos projetos
- Análise de sentimento de feedback: reviews classificadas → analisa novas automaticamente
Aprendizado Não-Supervisionado (Unsupervised Learning)
A Ideia
Não há labels. O modelo recebe dados brutos e deve descobrir estrutura, padrões, ou grupos por conta própria. É exploração, não confirmação.
Subtipos Principais
- Clustering: agrupa dados similares. K-Means, DBSCAN. "Esses 5 clientes têm comportamento similar — talvez sejam um segmento"
- Redução dimensional: comprime muitas dimensões em poucas para visualização ou pré-processamento. PCA, t-SNE, UMAP. Útil para entender datasets antes de modelar
- Detecção de anomalias: aprende o que é "normal" e sinaliza o que foge. Logs de aplicação, métricas de performance, comportamento de usuário
Exemplos Práticos
- Segmentação de clientes por comportamento de uso do sistema
- Detecção de anomalias em logs de aplicação (sem definir previamente o que é anomalia)
- Compressão de features para acelerar outros modelos
- Descoberta de tópicos em base de documentos (LDA, BERTopic)
Reinforcement Learning (RL)
A Ideia
Um agente interage com um ambiente, toma ações, recebe recompensas ou penalidades, e aprende a maximizar a recompensa acumulada ao longo do tempo. Não há dataset — a experiência é gerada pela interação.
Casos de Uso Reais
- Games: AlphaGo/AlphaZero (DeepMind) aprendeu Go/Xadrez jogando contra si mesmo bilhões de vezes
- Robótica: robôs aprendem a andar, pegar objetos sem física programada explicitamente
- Otimização: Google usa RL para otimizar o resfriamento de data centers — reduziu consumo de energia em 40%
- RLHF: o ChatGPT usa RL com feedback humano para tornar o modelo mais útil e seguro
Quadro Comparativo
Na Prática: Combinações
Produtos reais raramente usam um paradigma isolado:
- Sistema de recomendação: não-supervisionado (clustering de usuários) + supervisionado (prediz click/compra)
- LLM moderno: self-supervised (pré-treino em texto) + supervisionado (fine-tuning com exemplos) + RL (RLHF para alinhamento)
- Detecção de fraude: supervisionado (casos históricos) + não-supervisionado (anomalias novas sem padrão conhecido)
Exemplo Prático: Classificador de Tickets
// Supervisionado: classificar tickets de suporte por categoria
// Dataset: 10.000 tickets históricos já categorizados por humanos
var mlContext = new MLContext(seed: 42);
// Carrega dados históricos com labels
var data = mlContext.Data.LoadFromTextFile<TicketData>(
"tickets_historico.csv", separatorChar: ',', hasHeader: true);
// Pipeline: texto → features numéricas → classificação
var pipeline = mlContext.Transforms.Text
.FeaturizeText("Features", nameof(TicketData.Description))
.Append(mlContext.MulticlassClassification.Trainers
.SdcaMaximumEntropy("Label", "Features"))
.Append(mlContext.Transforms.Conversion
.MapKeyToValue("PredictedLabel"));
// Treina com o histórico (supervisionado)
var model = pipeline.Fit(data);
// Prediz categoria de novo ticket
var engine = mlContext.Model.CreatePredictionEngine<TicketData, TicketPrediction>(model);
var novo = new TicketData { Description = "Erro ao fazer login no sistema" };
var resultado = engine.Predict(novo);
Console.WriteLine($"Categoria: {resultado.PredictedLabel}"); // → "Autenticação"
Desafio
🎯 Desafio 01-03-01
Identifique três processos na Impar que poderiam usar ML e classifique o paradigma correto:
- Para cada processo, responda: você tem dados históricos com respostas corretas? (→ supervisionado). Você quer descobrir padrões sem saber o que procurar? (→ não-supervisionado). Você quer otimizar decisões repetidas em tempo real? (→ RL)
- Qual deles tem o maior volume de dados históricos disponíveis?
- Qual deles teria o maior ROI se automatizado parcialmente?
Como isso se conecta
- 🔗 01-03-02 — Self-supervised learning é um quarto paradigma que viabilizou os LLMs — continua direto neste tópico
- 🔗 01-02-02 — O loop de treinamento descrito no backward pass é o mecanismo central do aprendizado supervisionado
- 🔗 01-01-03 — RLHF (usado no ChatGPT) é reinforcement learning aplicado a LLMs — a conexão entre este tópico e a era dos LLMs
Fontes
- Wikipedia — Supervised Learning — Definição formal, algoritmos e limitações
- Wikipedia — Unsupervised Learning — Clustering, redução dimensional e anomalias
- Wikipedia — Reinforcement Learning — Agente, ambiente, política e recompensa
- Microsoft Learn — AutoML — Como o Azure seleciona automaticamente entre paradigmas de ML