Teoria de Aprendizado
O que a teoria do aprendizado tenta explicar
Teoria do aprendizado (learning theory) é a parte do aprendizado de máquina (machine learning) que estuda por que modelos generalizam (ou falham) — por que um modelo que se ajusta aos dados de treinamento também pode ter bom desempenho em dados novos provenientes do mesmo processo subjacente — e como isso depende de:
- Capacidade (capacity) (o quão rico é o conjunto de funções que um modelo pode representar)
- Dados (data) (quanto, quão ruidosos, quão diversos e quão representativos eles são)
- O algoritmo de aprendizado (learning algorithm) (como escolhemos uma função dentro da classe de hipóteses)
No seu núcleo, a teoria do aprendizado formaliza a lacuna entre:
- Desempenho de treinamento (training performance): quão bem um modelo se ajusta aos dados que você mostrou a ele
- Desempenho de teste/no mundo real (test/real-world performance): quão bem ele funciona em dados que você não mostrou a ele
Este artigo conecta os fundamentos clássicos (aprendizado PAC (PAC learning), dimensão VC (VC dimension), limites de generalização (generalization bounds)) a fluxos de trabalho práticos de aprendizado de máquina (divisões treino/validação/teste (train/validation/test splits), regularização (regularization), parada antecipada (early stopping)) e a fenômenos modernos em aprendizado profundo (deep learning) (superparametrização (overparameterization), dupla descida (double descent) e escalonamento (scaling)).
Aprofundamentos relacionados nesta wiki incluem: Generalização e Viés/Variância, Sobreajuste e Regularização, Aprendizado PAC e Dimensão VC.
A configuração básica: dados, hipóteses e risco
A maior parte da teoria do aprendizado começa com a abstração de aprendizado supervisionado (supervised learning):
- Existe uma distribuição de dados (data distribution) desconhecida ( \mathcal{D} ) sobre exemplos ((x, y)).
- Você observa um conjunto de dados ( S = {(x_i, y_i)}_{i=1}^n ) amostrado i.i.d. de ( \mathcal{D} ).
- Você escolhe um modelo (f) a partir de uma classe de hipóteses (hypothesis class) ( \mathcal{H} ) (por exemplo, classificadores lineares, árvores de decisão, redes neurais (neural networks)).
- Você o avalia com uma função de perda (loss function) ( \ell(f(x), y) ) (por exemplo, perda 0–1 (0–1 loss), erro quadrático (squared error), entropia cruzada (cross-entropy)).
Duas quantidades-chave:
- Risco populacional (risco verdadeiro) (population risk / true risk)
[ R(f) = \mathbb{E}_{(x,y)\sim\mathcal{D}}[\ell(f(x), y)] ] - Risco empírico (risco de treinamento) (empirical risk / training risk)
[ \hat{R}S(f) = \frac{1}{n}\sum{i=1}^n \ell(f(x_i), y_i) ]
A pergunta central: quando minimizar o risco empírico também resulta em baixo risco populacional?
Minimização do Risco Empírico (Empirical Risk Minimization, ERM)
Um princípio comum de aprendizado é:
[ \hat{f} \in \arg\min_{f\in\mathcal{H}} \hat{R}_S(f) ]
Isso é ERM. Muitos algoritmos de aprendizado são ERM diretamente (por exemplo, mínimos quadrados) ou aproximadamente (por exemplo, treinar Redes Neurais via Descida do Gradiente / Retropropagação).
A ERM pode falhar gravemente se ( \mathcal{H} ) for expressiva demais em relação a (n). Se você permite uma classe de funções que consegue “memorizar” qualquer conjunto de dados, então (\hat{R}_S(f)) pode ficar perto de zero mesmo quando (R(f)) é alto.
Esse modo de falha é o sobreajuste (overfitting).
Generalização e a lacuna de generalização
Defina a lacuna de generalização (generalization gap):
[ \text{GenGap}(f) = R(f) - \hat{R}_S(f) ]
A teoria do aprendizado busca limitar essa lacuna, tipicamente em termos probabilísticos (“com alta probabilidade sobre a extração da amostra”).
Um tipo típico de resultado se parece com:
[ R(f) \le \hat{R}_S(f) + \text{termo de complexidade}(n, \mathcal{H}, \delta) \quad \text{com probabilidade } \ge 1-\delta ]
Interpretação:
- O primeiro termo é “quão bem você ajusta os dados de treinamento”.
- O segundo termo é o “preço de usar uma classe de hipóteses rica” com dados finitos.
Se o seu termo de complexidade for pequeno, o desempenho no treinamento se transfere para o desempenho no teste.
Capacidade: o que significa e como é medida
“Capacidade” é informal, mas é o principal controle na teoria do aprendizado. Intuitivamente:
- Uma classe de baixa capacidade só consegue expressar funções simples → pode subajustar (underfit).
- Uma classe de alta capacidade consegue expressar muitas funções → pode sobreajustar se os dados forem limitados.
A teoria do aprendizado oferece várias formas de quantificar capacidade. Cada uma tem trade-offs, e o aprendizado de máquina moderno frequentemente usa múltiplas perspectivas.
Dimensão VC (uma medida clássica de capacidade)
A dimensão VC de uma classe de hipóteses é (grosso modo) o maior número de pontos que pode ser rotulado de todas as formas possíveis por hipóteses na classe.
- Separadores lineares em (\mathbb{R}^d) têm dimensão VC (d+1) (grosso modo (d)).
- Árvores de decisão podem ter dimensão VC muito grande dependendo da profundidade.
- Redes neurais frequentemente têm dimensão VC que escala com o número de parâmetros, mas a história é mais sutil na prática.
Uma consequência-chave: a complexidade amostral (sample complexity) escala com a dimensão VC. Uma afirmação simplificada para classificação binária:
- Para obter erro de generalização (\le \varepsilon) com probabilidade (1-\delta), você frequentemente precisa de [ n = O\left(\frac{\mathrm{VC}(\mathcal{H}) + \log(1/\delta)}{\varepsilon^2}\right) ] (até constantes e variantes dependendo do cenário e da perda).
A dimensão VC é fundamental, mas às vezes parece pessimista para o aprendizado profundo moderno, em que modelos enormes generalizam surpreendentemente bem.
Veja: Dimensão VC.
Complexidade de Rademacher (capacidade dependente dos dados)
A complexidade de Rademacher (Rademacher complexity) mede quão bem funções em (\mathcal{H}) podem correlacionar com ruído aleatório na amostra observada. Ela é mais dependente dos dados do que a dimensão VC e frequentemente produz limites mais estreitos na prática.
Intuição: se sua classe de hipóteses consegue ajustar rótulos aleatórios facilmente na sua amostra, ela tem alta complexidade (e um risco maior de sobreajuste).
Capacidade baseada em normas e margens
Para muitos modelos, a capacidade efetiva é capturada melhor por normas (norms) e margens (margins) do que pela contagem bruta de parâmetros:
- Em classificação linear, um separador com grande margem (margin) pode generalizar bem mesmo em alta dimensionalidade.
- Em aprendizado profundo, os limites frequentemente são expressos em termos de normas dos pesos, normas de caminho (path norms), normas espectrais (spectral norms) etc.
Isso é uma razão pela qual duas redes com a mesma arquitetura podem generalizar de maneira diferente dependendo da otimização e da regularização.
Estabilidade algorítmica (capacidade depende do aprendiz)
Outra perspectiva: a generalização depende não apenas de (\mathcal{H}), mas também do algoritmo (A) que escolhe (f).
Se pequenas mudanças no conjunto de dados levam a pequenas mudanças no modelo aprendido (alta estabilidade (stability)), então a generalização tipicamente é melhor. Muitos métodos regularizados (como regressão ridge) são estáveis; alguns aprendizes de alta variância são menos.
Isso conecta a teoria do aprendizado a escolhas práticas de treinamento, como parada antecipada e decaimento de peso.
Viés–variância: uma decomposição prática do erro
O trade-off viés–variância (bias–variance tradeoff) explica por que nem “sempre use um modelo simples” nem “sempre use um modelo poderoso” está certo.
Em muitos cenários de regressão:
- Viés (bias): erro por suposições restritivas (subajuste).
- Variância (variance): erro por sensibilidade à amostra específica (sobreajuste).
- Ruído (noise): erro irredutível devido à aleatoriedade em (y) dado (x).
À medida que a capacidade do modelo aumenta:
- O viés tende a diminuir.
- A variância tende a aumentar (ao menos em regimes clássicos).
Na prática, você diagnostica isso usando curvas de treinamento vs validação. Mais em: Generalização e Viés/Variância.
Exemplo prático: regressão polinomial
Suponha que você ajuste uma função 1D com polinômios:
- Grau 1 (reta): provavelmente subajusta um sinal curvo → alto viés.
- Grau 3–5: pode capturar a estrutura verdadeira → boa generalização.
- Grau 30 com poucos dados: pode interpolar ruído → alta variância.
Mesmo que o polinômio de grau 30 tenha erro de treinamento perto de zero, seu erro de teste pode explodir.
Sobreajuste, regularização e “capacidade efetiva”
Sobreajuste acontece quando um modelo captura idiossincrasias do conjunto de treinamento (ruído, peculiaridades, vazamento) que não se mantêm para novas amostras.
Uma ideia central da teoria do aprendizado é que a generalização é governada pela capacidade efetiva (effective capacity), não apenas pela capacidade nominal. Muitas vezes você pode usar um modelo muito grande e ainda assim generalizar se algo restringir a solução que você de fato aprende.
Restrições comuns são agrupadas sob regularização.
Regularização explícita
A regularização explícita adiciona uma penalidade ou restrição:
- L2 (decaimento de peso (weight decay)): incentiva pesos pequenos; fortemente ligada à estabilidade e à margem.
- L1: incentiva esparsidade.
- Restrições (constraints): por exemplo, restrições de norma, restrições de monotonicidade, constantes de Lipschitz limitadas em alguns cenários robustos.
Objetivo típico:
[ \min_f \hat{R}_S(f) + \lambda \Omega(f) ]
Onde (\Omega(f)) mede complexidade e (\lambda) ajusta o trade-off.
Regularização implícita (a otimização molda a generalização)
No aprendizado profundo moderno, a generalização frequentemente depende fortemente de regularização implícita (implicit regularization): a dinâmica de treinamento envies(a) a solução em direção a funções “mais simples” mesmo quando o modelo é expressivo o suficiente para memorizar.
Exemplos:
- Descida do Gradiente em modelos lineares tende a encontrar soluções de norma mínima.
- Em redes profundas, escolhas como otimizador (optimizer), agenda de taxa de aprendizado (learning rate schedule), tamanho do lote (batch size) e parada antecipada podem afetar fortemente a generalização mesmo com erro de treinamento zero.
Isso ajuda a explicar por que modelos massivamente superparametrizados (com mais parâmetros do que exemplos de treinamento) ainda podem generalizar.
Mais em: Sobreajuste e Regularização.
A visão de aprendizado PAC: o que é aprendível?
Aprendizado PAC (Probably Approximately Correct) formaliza aprendibilidade como:
- Com probabilidade de pelo menos (1-\delta) (provavelmente),
- A hipótese aprendida tem erro de no máximo (\varepsilon) (aproximadamente correta),
- Usando um número de amostras polinomial em quantidades relevantes (como dimensão VC, (1/\varepsilon), (\log(1/\delta))).
A teoria PAC traz clareza sobre:
- Quais classes de hipóteses são aprendíveis em princípio
- Como tamanho de amostra, complexidade e acurácia desejada trocam entre si
Ela é um pilar da teoria, mesmo quando os limites específicos são frouxos para redes profundas.
Veja: Aprendizado PAC.
Dados importam tanto quanto (ou mais do que) a capacidade do modelo
A teoria do aprendizado frequentemente começa com (\mathcal{H}) fixo e (n) variável, mas a prática força uma visão mais ampla: qualidade e estrutura dos dados podem dominar os resultados.
Fatores-chave dos dados que controlam a generalização:
- Tamanho da amostra (sample size) (n): mais dados reduzem erro de estimação.
- Ruído e qualidade dos rótulos: rótulos ruidosos aumentam o risco alcançável e incentivam memorização em modelos de alta capacidade.
- Cobertura/diversidade: se os dados de treinamento não cobrem subpopulações, a generalização pode falhar nelas mesmo se a acurácia de teste parecer boa no geral.
- Correlações espúrias (spurious correlations): o modelo pode se apoiar em atalhos que não se sustentam fora do ambiente de treinamento.
- Desalinhamento treino/teste (mudança de distribuição) (train/test mismatch / distribution shift): se os dados em produção diferem dos dados de treinamento, garantias clássicas baseadas em i.i.d. deixam de se aplicar.
É aqui que a teoria do aprendizado encontra tópicos como robustez, adaptação de domínio (domain adaptation) e até Inferência Causal: características causais tendem a ser mais estáveis entre ambientes do que características puramente correlacionais.
Exemplo prático: aprendizado por atalhos em visão
Um classificador treinado para detectar “vacas” pode aprender:
- “fundo de pasto verde” em vez de “forma/textura de vaca”
Ele pode alcançar alta acurácia de teste se o conjunto de teste compartilha o mesmo viés de fundo, mas falhar em cenários do mundo real (vacas em praias, em ambientes internos, iluminação diferente). Isso é uma falha de generalização enraizada em dados, não simplesmente no tamanho do modelo.
Como o aprendizado profundo moderno complica (e enriquece) a história
A teoria clássica do aprendizado sugere: mais parâmetros → mais capacidade → mais sobreajuste. O aprendizado profundo adiciona várias reviravoltas.
Superparametrização e interpolação
Redes modernas frequentemente operam no regime de interpolação (interpolation regime):
- A perda de treinamento chega a (quase) zero
- O modelo tem capacidade suficiente para ajustar exatamente todos os pontos de treinamento
Surpreendentemente, o erro de teste ainda pode ser baixo. Isso nos força a distinguir:
- O modelo consegue ajustar os dados? (expressividade (expressivity))
- Qual solução o treinamento encontra entre muitas que ajustam? (viés implícito (implicit bias))
Dupla descida
Empiricamente, conforme a capacidade do modelo aumenta, o erro de teste pode seguir uma curva de dupla descida:
- Diminui (melhor ajuste do sinal)
- Aumenta perto do limiar de interpolação (pico de variância)
- Diminui novamente no regime altamente superparametrizado
Esse fenômeno sugere que “capacidade” não é uma história de um único eixo; otimização, regularização e a geometria do espaço de soluções importam.
Leis de escalonamento (trade-offs capacidade–dados–computação)
Trabalhos recentes encontram relações previsíveis entre:
- Tamanho do modelo
- Tamanho dos dados
- Orçamento de computação
- Perda alcançável
Em muitos cenários, melhorar a generalização tem menos a ver com encontrar uma nova arquitetura inteligente e mais com equilibrar esses recursos. Isso é especialmente visível em grandes modelos de linguagem construídos com a Arquitetura Transformer.
Teoria do aprendizado na prática: como raciocinar sobre generalização no dia a dia
Mesmo que você nunca compute uma dimensão VC, a teoria do aprendizado molda a prática padrão de aprendizado de máquina.
1) Use protocolos adequados de avaliação
- Separe conjuntos de treinamento, validação e teste.
- Evite ajuste no conjunto de teste (isso vaza informação e invalida sua estimativa).
- Prefira validação cruzada (cross-validation) quando os dados são escassos.
Exemplo mínimo (pseudocódigo tipo Python):
# Split data
train, val, test = split(dataset, ratios=(0.8, 0.1, 0.1), seed=0)
# Choose hyperparameters on validation set
best_cfg, best_val = None, float("inf")
for cfg in hyperparameter_grid:
model = train_model(train, cfg)
val_loss = evaluate(model, val)
if val_loss < best_val:
best_cfg, best_val = cfg, val_loss
# Final unbiased estimate
final_model = train_model(train + val, best_cfg)
test_loss = evaluate(final_model, test)
print("Test loss:", test_loss)
Motivação da teoria do aprendizado: o conjunto de teste aproxima “amostras novas de (\mathcal{D})”.
2) Ajuste capacidade aos dados (e aumente dados quando possível)
Regras práticas:
- Se o erro de treinamento é alto: a capacidade pode estar baixa demais, a otimização pode estar falhando, ou as características (features) são insuficientes.
- Se o erro de treinamento é baixo mas o erro de validação é alto: você provavelmente está sobreajustando — reduza a capacidade efetiva ou adicione dados.
Formas de mudar o balanço capacidade–dados:
- Aumentar dados: coleta, rotulagem, aumentação de dados (data augmentation)
- Melhorar a qualidade dos dados: deduplicar, corrigir ruído de rótulos, reduzir vazamento
- Reduzir a capacidade efetiva: regularização, parada antecipada, arquitetura mais simples
- Aumentar o viés indutivo (inductive bias): arquiteturas alinhadas à tarefa (por exemplo, convoluções (convolutions) para imagens, atenção (attention) para sequências)
3) Regularize de formas que reflitam o alvo real de generalização
Regularização não é apenas “adicionar decaimento de peso”:
- Para desbalanceamento de classes (class imbalance): use reponderação (reweighting) ou métricas adequadas; caso contrário, a “generalização” para classes minoritárias pode ser ruim.
- Para robustez a deslocamentos (shift robustness): use aumentação alinhada a deslocamentos plausíveis, ou métodos de generalização de domínio (domain generalization).
- Para calibração (calibration): otimize regras de pontuação apropriadas (proper scoring rules) e calibre probabilidades; acurácia sozinha pode esconder problemas.
4) Cuidado com mudança de distribuição e lacunas de implantação
Muitas falhas reais não são falhas de generalização i.i.d., mas falhas de especificação do problema (problem specification):
- A distribuição de treinamento difere da distribuição em produção
- Os rótulos no treinamento são proxies para o que você realmente quer
- Ciclos de realimentação mudam a distribuição após a implantação
A teoria do aprendizado fornece resultados fortes sob pressupostos; a engenharia exige verificar quando os pressupostos quebram.
Um modelo mental unificador: generalização é uma competição entre ajustar sinal e ajustar ruído
Uma forma útil de resumir a teoria do aprendizado:
- Dados contêm sinal (signal) (estrutura previsível) e ruído (noise) (variação imprevisível).
- Capacidade do modelo + procedimento de treinamento determinam quanto de cada um você ajusta.
- A generalização tem sucesso quando você ajusta principalmente sinal; ela falha quando você ajusta ruído ou estrutura espúria.
Isso leva a uma interpretação pragmática de muitas ferramentas teóricas:
- Dimensão VC / complexidade de Rademacher: “Com que facilidade esta classe consegue ajustar muitas rotulações, incluindo ruidosas?”
- Regularização: “Como enviesamos o aprendiz em direção a soluções mais simples/estáveis?”
- Estabilidade: “Meu modelo mudará drasticamente se eu perturbar o conjunto de dados?”
- Validação/teste: “Eu otimizei acidentalmente para peculiaridades da minha amostra?”
Principais conclusões
- Generalização é sobre desempenho em dados não vistos provenientes da mesma (ou similar) distribuição do treinamento.
- A tensão central é risco empírico vs risco verdadeiro; a teoria do aprendizado estuda quando minimizar a perda de treinamento leva a baixa perda de teste.
- Capacidade tem múltiplos significados (dimensão VC, complexidade de Rademacher, normas, margens, estabilidade). Na prática, a capacidade efetiva é a que mais importa.
- Regularização pode ser explícita (penalidades/restrições) ou implícita (dinâmica de otimização). Ambas moldam a generalização.
- O aprendizado profundo moderno frequentemente generaliza apesar de superparametrização massiva devido a viés implícito, estrutura nos dados e dinâmica de treinamento; fenômenos como dupla descida refletem isso.
- Muitas “falhas de generalização” são, na verdade, falhas de dados: ruído, atalhos, viés ou mudança de distribuição.
Se você quiser se aprofundar em pilares específicos, continue com Aprendizado PAC e Dimensão VC, ou conecte teoria à prática via Sobreajuste e Regularização e Generalização e Viés/Variância.