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:

  1. Diminui (melhor ajuste do sinal)
  2. Aumenta perto do limiar de interpolação (pico de variância)
  3. 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.