Tipos de Problemas
O que “Tipos de Problema” Significa em Aprendizado de Máquina
Em aprendizado de máquina (machine learning), um tipo de problema (problem type) (ou configuração de aprendizado (learning setting)) descreve que tipo de supervisão e feedback você tem, como os dados chegam e quais suposições você pode fazer sobre o mundo ao aprender e implantar um modelo.
Isso é diferente de um tipo de tarefa (task type), como classificação (classification) vs. regressão (regression). Dois projetos podem ser ambos de “classificação”, mas diferirem drasticamente em como você treina e mantém o modelo:
- Filtragem de spam treinada uma vez em um conjunto de dados estático geralmente é aprendizado supervisionado (supervised learning).
- Filtragem de spam que precisa se atualizar continuamente conforme atacantes se adaptam é, com frequência, aprendizado online (online learning).
- Filtragem de spam com pouquíssimos rótulos, mas muitos e-mails brutos, pode usar aprendizado semi/autossupervisionado (semi/self-supervised learning).
- Filtragem de spam em que os rótulos vêm de heurísticas como “o remetente está em uma lista de bloqueio” é supervisão fraca (weak supervision).
- Filtragem de spam em que você escolhe quais e-mails enviar a humanos para rotulagem é aprendizado ativo (active learning).
Este artigo resume as principais configurações de aprendizado e destaca o que muda entre elas: dados, objetivos, suposições, avaliação e fluxos de trabalho operacionais.
Aprofundamentos relacionados:
- Aprendizado Supervisionado
- Aprendizado Não Supervisionado
- Aprendizado Semi/Autossupervisionado
- Supervisão Fraca
- Aprendizado Ativo
- Aprendizado Online
- Aprendizado por Transferência (Não Profundo)
Os Eixos Centrais que Diferenciam os Tipos de Problema
A maioria das diferenças entre “tipos de problema” pode ser entendida como mudanças ao longo destes eixos.
1) Que supervisão você tem?
- Rótulos fortes: verdade de referência (ground truth) confiável (ex.: anotações de radiologistas).
- Sem rótulos: apenas entradas brutas (ex.: sessões de navegação sem desfechos).
- Poucos rótulos + muitos não rotulados: comum em domínios especializados.
- Rótulos ruidosos/proxy: heurísticas, supervisão distante, crowdsourcing.
- Feedback interativo: recompensas, cliques, comportamento do usuário.
2) Como os dados chegam?
- Em lote (batch): você treina uma vez (ou periodicamente) a partir de um snapshot.
- Em fluxo (streaming): exemplos chegam sequencialmente; a distribuição pode derivar.
3) Quais suposições valem?
O aprendizado de máquina clássico frequentemente assume dados i.i.d.: independentes e identicamente distribuídos (independent and identically distributed); treino e teste vêm da mesma distribuição. Muitos sistemas reais violam isso:
- Mudança de distribuição (distribution shift) (novos usuários, novos produtos)
- Deriva de conceito (concept drift) (a relação-alvo muda)
- Rótulos não estacionários (non-stationary labels) (mudanças de política, definições evoluem)
4) Qual é o objetivo?
- Prever rótulos com precisão (classificação/regressão)
- Descobrir estrutura (agrupamentos/incorporações)
- Minimizar arrependimento ao longo do tempo (aprendizado online)
- Aprender representações transferíveis (autossupervisionado, transferência)
5) Como você avalia o sucesso?
A avaliação depende da configuração:
- Conjuntos de teste retidos (held-out test sets) offline e validação cruzada (cross-validation) (Avaliação)
- Divisões baseadas em tempo para previsão/em fluxo
- Métricas com humano no loop (human-in-the-loop) (custo de rotulagem, tempo até qualidade)
- Métricas online e barreiras de segurança (guardrails) (latência, segurança, justiça)
Aprendizado Supervisionado (Rótulos São o Sinal Primário)
Em aprendizado supervisionado, você aprende um mapeamento ( f(x) \to y ) a partir de exemplos rotulados ((x_i, y_i)). Ele é o padrão para muitos sistemas de aprendizado de máquina em produção, porque o objetivo é explícito e a avaliação é direta.
Casos de uso típicos
- Detecção de fraude (transação → fraude/não)
- Previsão de demanda (atributos → vendas futuras)
- Classificação de documentos (texto → categoria)
- Reconhecimento de imagens (imagem → rótulo)
Ideia teórica chave: minimização de risco empírico
Você escolhe uma classe de hipóteses (família de modelos) e minimiza a perda média nos dados de treino:
[ \hat{f} = \arg\min_f \frac{1}{n}\sum_{i=1}^n \ell(f(x_i), y_i) ]
A grande questão prática passa a ser: Seus rótulos refletem o objetivo real e as condições de implantação? É aqui que IA Centrada em Dados e uma Avaliação cuidadosa importam.
Exemplo prático (classificação)
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
clf = LogisticRegression(max_iter=1000)
clf.fit(X_train, y_train)
proba = clf.predict_proba(X_test)[:, 1]
print("AUC:", roc_auc_score(y_test, proba))
O que muda em comparação com outras configurações?
- Assume-se que os rótulos são confiáveis e suficientemente abundantes.
- O treinamento costuma ser em lote.
- A avaliação geralmente é offline, embora o monitoramento ainda seja essencial.
Aprendizado Não Supervisionado (Sem Rótulos, Aprenda Estrutura)
Em aprendizado não supervisionado (unsupervised learning), você tem entradas (x), mas nenhum alvo (y). O objetivo é descobrir estrutura: agrupamentos, representações de baixa dimensionalidade ou estimativas de densidade.
Famílias comuns de problemas
- Agrupamento (clustering) (ex.: k-means): agrupar pontos similares
- Redução de dimensionalidade (dimensionality reduction) (ex.: PCA, UMAP): comprimir preservando estrutura
- Estimativa de densidade (density estimation): estimar (p(x)) para detecção de anomalias ou geração
- Detecção de anomalias (anomaly detection): detectar desvios raros sem anomalias rotuladas
Casos de uso práticos
- Segmentação de clientes quando você ainda não conhece os “tipos” de clientes
- Detecção de anomalias em logs/eventos quando incidentes reais são raros/incertos
- Construção de incorporações (embeddings) para alimentar modelos posteriores
O que muda em relação ao supervisionado?
- Não há um único “rótulo correto”, então a avaliação é mais difícil (métricas internas como coeficiente de silhueta (silhouette score), análises de estabilidade, utilidade em tarefas posteriores).
- O objetivo frequentemente é um proxy de utilidade (ex.: erro de reconstrução (reconstruction error)).
- As saídas podem ser exploratórias, em vez de diretamente acionáveis.
Exemplo prático (agrupamento)
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=10, random_state=0)
clusters = kmeans.fit_predict(X)
Para mais, veja Aprendizado Não Supervisionado.
Aprendizado Semi-Supervisionado e Autossupervisionado (Explore Dados Não Rotulados)
Quando rótulos são caros, mas dados não rotulados são abundantes, métodos semi-supervisionados (semi-supervised) e autossupervisionados (self-supervised) podem reduzir drasticamente a necessidade de rotulagem.
Aprendizado semi-supervisionado (SSL)
Você tem um pequeno conjunto rotulado e um grande conjunto não rotulado. Os métodos exploram suposições como:
- Hipótese de agrupamento (cluster assumption): pontos no mesmo agrupamento compartilham um rótulo
- Separação por baixa densidade (low-density separation): fronteiras de decisão devem evitar regiões densas
- Consistência (consistency): predições devem ser estáveis sob pequenas perturbações
Técnicas comuns:
- Pseudorrotulagem (pseudo-labeling) (treinar com predições confiantes)
- Regularização de consistência (consistency regularization) (aumentações, consistência com desativação aleatória (dropout))
- Propagação de rótulos baseada em grafos (graph-based label propagation)
Aprendizado autossupervisionado (um grande motor moderno)
Você cria uma tarefa proxy (proxy task) a partir dos próprios dados, como:
- Prever tokens mascarados (modelos de linguagem)
- Aprendizado contrastivo (contrastive learning) (aproximar visões aumentadas, afastar outras)
- Prever frames futuros ou patches ausentes
A saída costuma ser uma representação que depois é usada para tarefas supervisionadas posteriores.
Exemplo prático (ideia de pseudorrotulagem)
# Pseudocode sketch
model.fit(X_labeled, y_labeled)
for _ in range(T):
y_hat = model.predict_proba(X_unlabeled)
confident = y_hat.max(axis=1) > 0.95
model.fit(
X_labeled + X_unlabeled[confident],
y_labeled + y_hat[confident].argmax(axis=1)
)
O que muda em relação ao supervisionado?
- O objetivo de treinamento inclui termos não supervisionados ou tarefas proxy.
- Pipelines de dados precisam gerenciar pools não rotulados e aumentações.
- A avaliação ainda usa conjuntos de validação/teste rotulados, mas a eficiência de rotulagem (label efficiency) vira uma métrica-chave.
Veja Aprendizado Semi/Autossupervisionado.
Supervisão Fraca (Rótulos São Ruidosos, Programáticos ou Indiretos)
Em supervisão fraca, você tem rótulos, mas eles podem ser:
- Ruidosos (rótulos de multidão, sensores imperfeitos)
- Viesados (sistematicamente errados em certas regiões)
- Esparsos (apenas alguns exemplos rotulados)
- Programáticos (regras/heurísticas)
- Indiretos (supervisão distante, ex.: correspondências com base de conhecimento)
Em vez de tratar rótulos como verdade de referência, você modela ou mitiga o ruído de rótulos.
Exemplo prático: funções de rotulagem heurísticas
Suponha que você queira rotular “tickets de suporte sobre cobrança”, mas a rotulagem manual é cara. Você pode criar regras:
- Se o texto contém “invoice” ou “chargeback” → billing
- Se o remetente é de um domínio de contabilidade → billing
- Se contém “password reset” → not billing
Essas regras geram rótulos ruidosos em escala; então você treina um modelo discriminativo (discriminative model) para generalizar além das regras.
O que muda em relação ao supervisionado?
- O principal desafio muda da escolha do modelo para modelagem da qualidade dos rótulos.
- O treinamento pode incluir perdas cientes de ruído, agregação de rótulos ou modelos probabilísticos de rótulos.
- A avaliação precisa considerar que a própria “verdade” pode ser incerta.
Veja Supervisão Fraca e também IA Centrada em Dados.
Aprendizado Ativo (Escolha o que Rotular)
Em aprendizado ativo, a rotulagem é o gargalo, então o aprendiz seleciona quais exemplos enviar a um oráculo (oracle) (geralmente humanos) para maximizar o progresso de aprendizado por rótulo.
Quando ajuda
- Alto custo de rotulagem (imagens médicas, documentos jurídicos)
- Grandes pools não rotulados (texto em escala web)
- Necessidade de iteração rápida (novas funcionalidades de produto, tópicos emergentes)
Estratégias comuns de consulta
- Amostragem por incerteza (uncertainty sampling): rotular exemplos com maior incerteza preditiva
- Consulta por comitê (query by committee): rotular exemplos em que modelos discordam
- Amostragem por diversidade (diversity sampling): evitar escolher quase-duplicatas
- Mudança esperada do modelo / ganho de informação (expected model change / information gain): mais fundamentadas, porém mais caras
Esboço de fluxo de trabalho prático
# Pseudocode
L = initial_labeled_set()
U = unlabeled_pool()
for round in range(R):
model = train(L)
scores = uncertainty(model, U)
batch = top_k(U, scores, k=50) # select to label
y_batch = human_label(batch)
L += (batch, y_batch)
U -= batch
O que muda em relação ao supervisionado?
- O loop de aprendizado inclui aquisição de rótulos como um problema de otimização.
- A avaliação deve incluir curvas de custo de rótulos (label cost curves) (desempenho vs. rótulos).
- Ferramentas e experiência do usuário (UX, user experience) importam: interfaces de anotação, fluxos de consenso.
Veja Aprendizado Ativo.
Aprendizado Online (Aprenda Sequencialmente a Partir de Fluxos)
Em aprendizado online, os dados chegam ao longo do tempo, e o modelo é atualizado incrementalmente, em vez de ser retreinado do zero. Isso é comum quando:
- Os dados são grandes demais para armazenar ou para retreinar com frequência
- O ambiente muda (deriva)
- Você quer adaptação rápida
Conceito-chave: arrependimento em vez de erro de teste
O aprendizado online é frequentemente analisado com arrependimento (regret): o quanto você se sai pior do que o melhor modelo fixo, em retrospecto.
Isso muda o mindset de “treine uma vez, implante” para “adapte continuamente com barreiras de segurança”.
Exemplos práticos
- Previsão de taxa de cliques (click-through-rate) com conteúdo em constante mudança
- Detecção de fraude conforme atacantes mudam táticas
- Modelos de sensores em que o envelhecimento do hardware muda padrões de sinal
Exemplo prático (atualizações incrementais)
from sklearn.linear_model import SGDClassifier
clf = SGDClassifier(loss="log_loss")
for X_t, y_t in stream(): # stream yields mini-batches
clf.partial_fit(X_t, y_t, classes=[0, 1])
O que muda em relação ao supervisionado em lote?
- Você precisa lidar com deriva de conceito, rótulos atrasados (delayed labels) e ciclos de realimentação (feedback loops).
- A avaliação precisa levar o tempo em conta (ex.: avaliação prequential (prequential evaluation)).
- O monitoramento é central: muitas vezes você precisa de detecção de deriva (drift detection) e planos de reversão (rollback).
Veja Aprendizado Online.
Aprendizado por Transferência (Reutilize Conhecimento Entre Tarefas ou Domínios)
Em aprendizado por transferência (transfer learning), você usa conhecimento de uma tarefa/domínio de origem para melhorar o desempenho em uma tarefa/domínio alvo, especialmente quando o alvo tem poucos dados rotulados.
O aprendizado por transferência aparece em múltiplas formas:
- Adaptação de domínio (domain adaptation): mesma tarefa, distribuição diferente (treinar em fotos, implantar em esboços)
- Transferência de tarefa (task transfer): tarefas diferentes, porém relacionadas (sentimento → classificação de tópicos)
- Aprendizado multitarefa (multi-task learning): treinar conjuntamente em várias tarefas para compartilhar estrutura
No aprendizado de máquina clássico (não profundo), transferência pode significar:
- Reponderar amostras de treino para corresponder à distribuição-alvo
- Aprender espaços de atributos compartilhados
- Usar incorporações ou representações pré-treinadas
O que muda em relação ao supervisionado?
- Você precisa raciocinar explicitamente sobre mudança de conjunto de dados (dataset shift).
- A avaliação deve imitar o ambiente alvo; validação cruzada ingênua pode ser enganosa.
- Governança de dados (data governance) importa: você pode estar importando vieses ou definições de rótulos da origem.
Veja Aprendizado por Transferência (Não Profundo).
Aprendizado por Reforço e Bandits (Aprendizado por Interação)
Embora este artigo foque em configurações comuns de aprendizado de máquina no estilo “supervisionado”, vale notar uma grande alternativa: aprendizado por interação.
- Aprendizado por reforço (AR) (reinforcement learning (RL)): ações influenciam estados futuros; você aprende uma política (policy) para maximizar recompensa de longo prazo.
- Bandits contextuais (contextual bandits): escolher ações com feedback parcial (você só observa a recompensa para a ação tomada), comum em recomendações e experimentação.
O que muda em relação ao aprendizado supervisionado:
- Os dados não são i.i.d.; eles dependem da política atual.
- Exploração vs. aproveitamento (exploration vs. exploitation) é fundamental.
- A avaliação offline é mais difícil; testes online e restrições de segurança são cruciais.
(Se sua wiki incluir, um tópico complementar natural é Aprendizado por Reforço.)
Como o Tipo de Problema Afeta o Fluxo de Trabalho de Aprendizado de Máquina de Ponta a Ponta
Coleta de dados e rotulagem
- Supervisionado: invista em qualidade, cobertura e definições consistentes de rótulos.
- Supervisão fraca: projete funções de rotulagem e valide padrões de ruído.
- Aprendizado ativo: construa pipelines de anotação e estratégias de amostragem.
- Aprendizado online: projete o registro de dados com tempo, versionamento e rótulos atrasados.
Seleção de modelos e atributos
Alguns modelos são mais compatíveis com certas configurações:
- Aprendizado online frequentemente prefere modelos com atualizações eficientes no estilo
partial_fit. - Supervisão fraca pode se beneficiar de perdas robustas a ruído e regularização.
- Aprendizado autossupervisionado frequentemente enfatiza aprendizado de representações; modelos posteriores podem ser mais simples.
Veja Modelos, Seleção de Modelos e Engenharia de Atributos.
Desenho de avaliação
- Use divisões baseadas em tempo para problemas em fluxo.
- Acompanhe eficiência de rotulagem para aprendizado ativo/SSL.
- Para eventos raros, acurácia padrão pode ser enganosa; veja Modelagem de Eventos Desbalanceados / Raros.
- Para aprendizado não supervisionado, inclua estabilidade e desempenho em tarefas posteriores quando possível.
Veja Avaliação.
Implantação e monitoramento
- Sistemas online/em fluxo exigem monitoramento contínuo, detecção de deriva e reversão.
- Sistemas de supervisão fraca precisam monitorar degradação de heurísticas (heuristic decay) (regras ficam obsoletas).
- Sistemas de aprendizado ativo precisam monitorar viés de amostragem (sampling bias) (o que você rotula molda o que você aprende).
Configurações Híbridas São a Norma
Sistemas reais frequentemente combinam múltiplos tipos de problema:
- Semi-supervisionado + aprendizado ativo: usar dados não rotulados mais rotulagem direcionada.
- Supervisão fraca + ajuste fino supervisionado (fine-tuning): fazer bootstrap com heurísticas e depois refinar com rótulos ouro (gold labels).
- Aprendizado online + transferência: dar partida com inicialização aquecida (warm-start) em um modelo em fluxo a partir de um domínio de origem.
- Pré-treinamento não supervisionado + supervisionado posterior: comum em processamento de linguagem natural (NLP, natural language processing) e visão computacional (computer vision) modernos.
Uma forma útil de pensar sobre híbridos é perguntar: Qual parte do pipeline é a principal restrição—rótulos, estacionariedade, feedback ou computação—e qual configuração a endereça?
Escolhendo o Tipo de Problema Certo: Um Checklist Prático
- Você tem rótulos confiáveis em escala?
- Sim → aprendizado supervisionado geralmente é o mais simples.
- Não → considere supervisão fraca, SSL/autossupervisionado ou aprendizado ativo.
- O mundo muda após a implantação?
- Se sim → considere aprendizado online, avaliação sensível ao tempo e monitoramento de deriva.
- Rotular é caro, mas dados não rotulados são abundantes?
- Considere aprendizado semi/autossupervisionado; opcionalmente adicione aprendizado ativo.
- Os rótulos são ruidosos ou inconsistentes entre fontes?
- Supervisão fraca e auditoria de rótulos centrada em dados podem superar “mais modelagem”.
- Você vai implantar em um domínio diferente daquele em que treinou?
- Aprendizado por transferência/adaptação de domínio deve fazer parte do plano desde o primeiro dia.
Resumo
“Tipos de problema” em aprendizado de máquina dizem respeito principalmente a como os sinais de aprendizado são obtidos e como o ambiente se comporta, não apenas se você está fazendo classificação ou regressão. As principais configurações diferem em:
- Supervisão (rótulos fortes vs. nenhum vs. ruidosos vs. interativos)
- Chegada de dados (em lote vs. em fluxo)
- Suposições (i.i.d. vs. mudança/deriva)
- Objetivos (minimização de risco, descoberta de estrutura, minimização de arrependimento, aprendizado de representações)
- Avaliação (métricas offline, validação baseada em tempo, eficiência de rotulagem, experimentação online)
Entender essas diferenças ajuda você a escolher os algoritmos certos, desenhar o conjunto de dados e a avaliação corretos e construir sistemas que continuem funcionando após a implantação.