01-03-01 — Supervisionado, Não-supervisionado e Reinforcement Learning

⏱ 12 min Fontes validadas em: 2026-04-29

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.

💡
Insight: A qualidade do label importa mais que a quantidade de dados. 10.000 transações marcadas por um especialista em fraude valem mais que 100.000 marcadas por estagiários sem contexto. Garbage in, garbage out — nunca mudou.

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
graph LR subgraph Dados["Dataset sem Labels"] D1((●)) D2((●)) D3((○)) D4((○)) D5((▲)) D6((▲)) end subgraph Clustering["Clustering Resultado"] G1["Grupo A\n● ●"] G2["Grupo B\n○ ○"] G3["Grupo C\n▲ ▲"] end Dados -->|"algoritmo encontra\npadrões sem rótulos"| Clustering style Dados fill:#1a2a4a style Clustering fill:#1a4a1a
⚠️
Pegadinha: Clustering encontra grupos — mas não te diz o que os grupos significam. Um K-Means com 5 clusters em dados de clientes produz 5 grupos. O que esses grupos representam? Isso requer interpretação humana. O modelo faz a parte estatística; o negócio faz a parte de sentido.

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.

flowchart LR A["Agente\n(modelo)"] -->|"Ação"| B["Ambiente\n(jogo, sistema, simulação)"] B -->|"Estado + Recompensa"| A style A fill:#2a1a4a style B fill:#1a2a4a

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
🏢
Aplicação Microsoft: RLHF (Reinforcement Learning from Human Feedback) é a técnica central que transformou GPT-3 (capaz mas imprevisível) em ChatGPT (útil e alinhado). O Azure OpenAI oferece fine-tuning com dados de preferência — essencialmente você pode aplicar RLHF aos seus próprios dados.

Quadro Comparativo

graph TB subgraph SL["Supervisionado"] SL1["Input: dados + labels\nOutput: modelo que prediz labels\nExemplo: classificação de fraude"] end subgraph UL["Não-supervisionado"] UL1["Input: dados sem labels\nOutput: estrutura descoberta\nExemplo: clustering de clientes"] end subgraph RL["Reinforcement Learning"] RL1["Input: recompensas por ações\nOutput: política de decisão\nExemplo: otimização de sistema"] end style SL fill:#1a2a4a style UL fill:#2a1a4a style RL fill:#1a4a1a

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:

  1. 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)
  2. Qual deles tem o maior volume de dados históricos disponíveis?
  3. Qual deles teria o maior ROI se automatizado parcialmente?
📚
Para aprofundar: Wikipedia — Supervised Learning. Para RL, o livro "Reinforcement Learning: An Introduction" (Sutton & Barto) está disponível gratuitamente online e é a referência padrão da área.

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

  1. Wikipedia — Supervised Learning — Definição formal, algoritmos e limitações
  2. Wikipedia — Unsupervised Learning — Clustering, redução dimensional e anomalias
  3. Wikipedia — Reinforcement Learning — Agente, ambiente, política e recompensa
  4. Microsoft Learn — AutoML — Como o Azure seleciona automaticamente entre paradigmas de ML