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)?
regression
regularization
overfitting
Benoit Sanchez
fonte
fonte
Respostas:
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.)
fonte
Duas alternativas à regularização:
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.
fonte
Algumas possibilidades adicionais para evitar ajustes excessivos
Redução de dimensionalidade
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.
fonte
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.
fonte
Dois pensamentos:
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).
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).
fonte