Evitar o ajuste excessivo na regressão: alternativas à regularização

19

A regularização em regressão (linear, logística ...) é a maneira mais popular de reduzir o excesso de ajuste.

Quando o objetivo é a precisão da previsão (não explicando), existem boas alternativas para a regularização, especialmente adequadas para grandes conjuntos de dados (mi / bilhões de observações e milhões de recursos)?

Benoit Sanchez
fonte
3
"Grandes conjuntos de dados" podem significar muitas observações, muitas variáveis ​​ou ambas, e a resposta pode depender do número de observações e variáveis.
Pere
Por que não usar a regularização de normas? Para redes neurais, há desistência
seanv507
4
A vantagem da regularização é que ela é computacionalmente barata. Métodos de ensemble como ensacamento e reforço (etc.) combinados com métodos de validação cruzada para diagnóstico de modelo são uma boa alternativa, mas será uma solução muito mais cara.
Digio 19/07/19
1
Isso pode ser do seu interesse: stats.stackexchange.com/a/161592/40604
Dan
1
Para acrescentar ao comentário do Digio: a regularização é barata em comparação com ensacamento / reforço, mas ainda cara quando comparada à alternativa de "não regularização" (veja, por exemplo, este post de Ben Recht sobre como a regularização dificulta o aprendizado profundo ). Se você tiver um grande número de amostras, nenhuma regularização poderá funcionar bem por muito mais barato. O modelo ainda pode generalizar assim como @ hxd1001 aponta )
Berk U.

Respostas:

11

Dois pontos importantes que não estão diretamente relacionados à sua pergunta:

  • Primeiro, mesmo o objetivo é precisão, em vez de interpretação, a regularização ainda é necessária em muitos casos, pois garantirá a "alta precisão" no conjunto de dados de teste / produção real, não nos dados usados ​​para modelagem.

  • Segundo, se houver bilhões de linhas e milhões de colunas, é possível que não seja necessária regularização. Isso ocorre porque os dados são enormes e muitos modelos computacionais têm "poder limitado", ou seja, é quase impossível superestimar. É por isso que algumas redes neurais profundas têm bilhões de parâmetros.


Agora, sobre sua pergunta. Como mencionado por Ben e Andrey, existem algumas opções como alternativas à regularização. Eu gostaria de adicionar mais exemplos.

  • Use o modelo mais simples (por exemplo, reduza o número de unidades ocultas na rede neural. Use o kernel polinomial de ordem inferior no SVM. Reduza o número de Gaussians na mistura de Gaussian etc.)

  • Pare no início da otimização. (Por exemplo, reduza a época do treinamento em redes neurais, reduza o número de iterações na otimização (CG, BFGS, etc.)

  • Média em muitos modelos (por exemplo, floresta aleatória etc.)

Haitao Du
fonte
Muito obrigado. A segunda opção (parar cedo) é o que estamos tentando atualmente com o SGD. Funciona bastante bem. Queremos compará-lo com a regularização em breve. Você conhece algum artigo que mencione esse método?
Benoit Sanchez
1
Há uma dica de uma relação geométrica entre paradas precoces com descida de gradiente e regularização. Por exemplo, a regressão de cume em sua forma primária solicita os parâmetros que minimizam a função de perda que se encontra dentro de uma elipse sólida centralizada na origem, com o tamanho da elipse em função da força da regularização. Os parâmetros da crista ficam na superfície da elipse se forem diferentes da solução não regularizada. Se você fizer uma subida iniciando na origem e depois parar mais cedo, estará no limite de uma dessas elipses ...
Matthew Drury
Como você seguiu os gradientes, seguiu o caminho até o mínimo verdadeiro; assim, você terminará aproximadamente em torno da solução da cordilheira a maior parte do tempo. Não tenho certeza de quão rigoroso você pode fazer essa linha de pensamento, mas pode haver um relacionamento.
Matthew Drury
@BenoitSanchez Este documento pode ser relevante. Os autores abordam um problema diferente (ajuste excessivo na computação de vetor próprio), mas a estratégia para lidar com o ajuste excessivo é a mesma (ou seja, regularização implícita pela redução da computação). A estratégia é resolver um problema mais barato que produz uma solução aproximada (que - eu acho - é o mesmo que parar no início da otimização).
Berk U.
@BenoitSanchez Eu recomendo isso. Palestras de Lorenzo estão disponíveis no youtube, mas esta página também tem links para alguns papéis mit.edu/~9.520/fall17/Classes/early_stopping.html
David Kozak
14

Duas alternativas à regularização:

  1. Tem muitas, muitas observações
  2. Use um modelo mais simples

Geoff Hinton (co-inventor da propagação de costas) certa vez contou uma história de engenheiros que lhe disseram (parafraseando pesadamente): "Geoff, não precisamos abandonar nossas redes profundas porque temos muitos dados". E a resposta dele foi: "Bem, então você deve construir redes ainda mais profundas, até se adaptar demais e usar o abandono". Bom conselho à parte, aparentemente você pode evitar a regularização, mesmo com redes profundas, desde que haja dados suficientes.

Com um número fixo de observações, você também pode optar por um modelo mais simples. Você provavelmente não precisa de regularização para estimar uma interceptação, uma inclinação e uma variação de erro em uma regressão linear simples.

Ben Ogorek
fonte
3

Algumas possibilidades adicionais para evitar ajustes excessivos

  • Redução de dimensionalidade

    meu<<m

  • Seleção de recursos (também redução de dimensionalidade)

    Você pode executar uma rodada de seleção de recursos (por exemplo, usando o LASSO) para obter um espaço de recursos de menor dimensão. Algo como a seleção de recursos usando o LASSO pode ser útil se algum subconjunto grande, mas desconhecido, de recursos for irrelevante.

  • Use algoritmos menos propensos a sobreajuste, como floresta aleatória. (Dependendo das configurações, número de recursos, etc ..., eles podem ser mais caros do que os mínimos quadrados comuns).

    Algumas das outras respostas também mencionaram as vantagens de técnicas / algoritmos de reforço e ensacamento.

  • Métodos bayesianos

    Adicionando um prior no vetor de coeficiente e reduzindo o overfitting. Isso está conceitualmente relacionado à regularização: por exemplo. A regressão de crista é um caso especial de estimativa máxima a posteriori.

Matthew Gunn
fonte
2

Se você estiver usando um modelo com um solucionador, no qual poderá definir o número de iterações / épocas, poderá rastrear o erro de validação e aplicar a parada antecipada: pare o algoritmo, quando o erro de validação começar a aumentar.

Andrey Lukyanenko
fonte
1
Esta pergunta é clara sobre os modelos de regressão (linear, logística).
Matthew Drury
2
Tecnicamente falando, a regressão linear e logística são redes neurais muito simples.
Andrey Lukyanenko
2
Eu não acho que isso mude minha crença de que isso não responde à pergunta, conforme solicitado. Se você o refizesse para dizer "se você ajustasse a regressão com alguma forma de descida do gradiente e aplicasse a parada antecipada", seria melhor.
Matthew Drury
Até o sklearn possui vários modelos que suportam parâmetros que limitam o número de iterações. Pode ser usado para rastrear a precisão. Mas suponho que você esteja certo que o texto não esteja exatamente correto.
Andrey Lukyanenko
1

Dois pensamentos:

  1. Segundo a estratégia "use um modelo mais simples" proposta por Ben Ogorek .

    Trabalho em modelos de classificação linear realmente esparsos com pequenos coeficientes inteiros (por exemplo, no máximo 5 variáveis ​​com coeficientes inteiros entre -5 e 5). Os modelos generalizam bem em termos de precisão e métricas de desempenho mais complicadas (por exemplo, calibração).

    Este método neste documento será dimensionado para tamanhos de amostra grandes para regressão logística e pode ser estendido para ajustar outros classificadores lineares com funções de perda convexa. Ele não lida com os casos com muitos recursos (a menos quen/d é grande o suficiente; nesse caso, os dados são separáveis ​​e o problema de classificação se torna fácil).

  2. Se você pode especificar restrições adicionais para o seu modelo (por exemplo, restrições de monotonicidade, informações secundárias), isso também pode ajudar na generalização, reduzindo o espaço de hipóteses (consulte, por exemplo, este documento ).

    Isso precisa ser feito com cuidado (por exemplo, você provavelmente deseja comparar seu modelo com uma linha de base sem restrições e projetar seu processo de treinamento de uma maneira que garanta que você não seja um obstáculo à escolha).

Berk U.
fonte