IA E MACHINE LEARNING

Validação cruzada

Técnica de avaliação de modelos preditivos que particiona o dataset em k subconjuntos, treina k vezes alternando qual subconjunto serve de validação, e reporta a média do erro. Padrão para datasets pequenos onde divisão treino/teste fixa é instável.

Definição estendida

Validação cruzada (cross-validation, CV) é uma técnica de avaliação de modelos preditivos que particiona o dataset em kk subconjuntos (folds) e treina o modelo kk vezes, alternando a cada vez qual fold serve de validação. A estimativa final de erro é a média sobre os kk folds:

CVk=1ki=1kerroi\text{CV}_k = \frac{1}{k}\sum_{i=1}^{k} \text{erro}_i

A formalização canônica é Stone (1974, Journal of the Royal Statistical Society), que provou propriedades teóricas da técnica para seleção de modelo. Kohavi (1995) ofereceu a comparação empírica seminal entre kk-fold CV e bootstrap para estimação de erro, estabelecendo k=10k = 10 como convenção padrão por equilibrar viés e variância. Variantes incluem leave-one-out CV (k=nk = n, robusto mas computacionalmente caro), stratified kk-fold (preserva proporção de classes em cada fold para problemas desbalanceados), e nested CV (CV externo para avaliação + CV interno para tuning, evitando otimismo na estimativa). Repeated kk-fold roda múltiplas vezes com seeds diferentes para reduzir variância da estimativa.

Quando se aplica

Validação cruzada é apropriada em datasets pequenos a médios (centenas a dezenas de milhares de exemplos) onde uma divisão treino/teste fixa seria instável demais. É padrão em pesquisa acadêmica de ML aplicado, em comparações de modelos candidatos, e em tuning de hiperparâmetros via GridSearchCV ou RandomizedSearchCV. Stratified kk-fold é exigido em classificação com classes desbalanceadas. Nested CV é a abordagem rigorosa quando o objetivo é simultaneamente selecionar modelo e estimar performance — evita o viés otimista de tunar e avaliar no mesmo conjunto. Em concursos de ML (Kaggle), CV bem-projetada é diferencial entre soluções competitivas e sub-ótimas.

Quando NÃO se aplica

Não se aplica em séries temporais — divisão aleatória vaza informação do futuro para o passado; alternativas adequadas são time series split, blocked CV, ou rolling-origin. Não se aplica em dados altamente agrupados sem agrupamento explícito por sujeito (group kk-fold é a alternativa). Em datasets enormes onde o custo computacional de kk treinos é proibitivo, divisão fixa treino/validação/teste é mais prática. Não substitui validação externa em domínio diferente — CV mede generalização dentro do mesmo dataset, não para populações ou contextos distintos.

Aplicações por área

Saúde e biomédicas: CV estratificado é padrão em ML clínico; nested CV em estudos rigorosos de seleção de biomarcadores. — NLP e visão computacional: CV usado em fase de prototipagem; comparações finais em datasets grandes (GLUE, ImageNet) usam splits fixos. — Bioinformática: CV cuidadoso é essencial em problemas com poucas amostras e muitas features (genômica, proteômica). — Finanças e econometria: CV adaptado para séries temporais (time series split) substitui CV aleatório.

Armadilhas comuns

A primeira armadilha é fazer tuning de hiperparâmetros e estimação de erro no mesmo CV — produz estimativa otimista por explorar o conjunto de validação repetidamente. Nested CV é a correção. A segunda é ignorar agrupamento natural dos dados: CV aleatório com múltiplas observações por sujeito gera vazamento; group kk-fold resolve. A terceira é aplicar CV padrão em séries temporais — viola a ordem cronológica essencial. A quarta é confiar em CV com kk pequeno em dataset pequeno: k=5k = 5 em n=50n = 50 produz folds de tamanho 10 com alta variância. Aumentar kk ou usar leave-one-out em datasets pequenos é mais seguro. A quinta é usar CV para estimar performance em produção — CV mede generalização para amostras da mesma distribuição; mudanças de distribuição em produção não são capturadas, e validação externa é necessária.

Última atualização —