Nota: Eu sei que L1 tem propriedade de seleção de recurso. Estou tentando entender qual escolher quando a seleção de recursos é completamente irrelevante.
- Como decidir qual regularização (L1 ou L2) usar?
- Quais são os prós e os contras de cada regularização L1 / L2?
- É recomendável primeiro fazer a seleção de recursos usando L1 e aplicar L2 nessas variáveis selecionadas?
regression
lasso
regularization
ridge-regression
GeorgeOfTheRF
fonte
fonte
Respostas:
Qual é o teu objetivo? Ambos podem melhorar a generalização do modelo penalizando coeficientes, já que recursos com relação oposta ao resultado podem "compensar" um ao outro (um grande valor positivo é contrabalançado por um grande valor negativo). Isso pode ocorrer quando há recursos colineares. Pequenas alterações nos dados podem resultar em estimativas de parâmetros dramaticamente diferentes (estimativas de alta variação). A penalização pode restringir os dois coeficientes a serem menores. (Hastie et al., Elements of Statistical Learning , 2ª edição, p. 63)
A regularização L1 pode abordar o problema da multicolinearidade restringindo a norma do coeficiente e fixando alguns valores do coeficiente em 0. Computacionalmente, a regressão de Lasso (regressão com uma penalidade de L1) é um programa quadrático que requer algumas ferramentas especiais para resolver. Quando você tem mais recursos do que as observações , o laço manterá no máximo coeficientes diferentes de zeroN N . Dependendo do contexto, pode não ser o que você deseja.
A regularização L1 às vezes é usada como método de seleção de recurso. Suponha que você tenha algum tipo de limitação no número de recursos que você pode usar (porque a coleta de dados para todos os recursos é cara ou você tem restrições de engenharia rígidas sobre quantos valores pode armazenar, etc.). Você pode tentar ajustar a penalidade L1 para atingir o número desejado de recursos diferentes de zero.
A regularização de L2 pode resolver o problema da multicolinearidade restringindo a norma do coeficiente e mantendo todas as variáveis. É improvável estimar um coeficiente para ser exatamente 0. Isso não é necessariamente uma desvantagem, a menos que um vetor de coeficiente esparso seja importante por algum motivo.
Na configuração de regressão, é a solução "clássica" para o problema de estimar uma regressão com mais recursos do que observações. A regularização de L2 pode estimar um coeficiente para cada característica, mesmo que haja mais características do que observações (de fato, essa foi a motivação original para a "regressão de crista").
Como alternativa, a rede elástica permite a regularização de L1 e L2 como casos especiais. Um caso de uso típico para um cientista de dados na indústria é que você só quer escolher o melhor modelo, mas não se importa necessariamente se ele é penalizado usando L1, L2 ou ambos. A rede elástica é agradável em situações como estas.
Não estou familiarizado com uma publicação propondo um pipeline L1-então-L2, mas isso provavelmente é apenas ignorância da minha parte. Não parece haver nada de errado com isso. Eu faria uma revisão de literatura.
Existem alguns exemplos de pipelines "faseados" semelhantes. Um é o "laço relaxado", que aplica a regressão do laço duas vezes , uma vez para selecionar de um grupo grande para um pequeno grupo de recursos e, em segundo, estimar coeficientes para uso em um modelo. Isso usa validação cruzada em cada etapa para escolher a magnitude da penalidade. O raciocínio é que, na primeira etapa, você faz a validação cruzada e provavelmente escolherá uma penalidade grande para filtrar preditores irrelevantes; na segunda etapa, você validará cruzadamente e provavelmente escolherá uma penalidade menor (e, portanto, coeficientes maiores). Isso é mencionado brevemente em Elements of Statistical Learning, com uma citação de Nicolai Meinshausen ("Relaxed Lasso". Estatísticas computacionais e análise de dados Volume 52, Edição 1, 15 de setembro de 2007, pp 374-393).
O usuário @amoeba também sugere um pipeline de L1 e OLS; isso pode ser bom porque ele possui apenas 1 hiperparâmetro para a magnitude da penalidade de L1; portanto, seria necessário menos trabalho.
Um problema que pode surgir com qualquer pipeline de análise "faseado" que executa algumas etapas e depois outras separadamente é que não há "visibilidade" entre esses algoritmos diferentes; portanto, um processo herda qualquer espião de dados que ocorreu nas etapas anteriores. Este efeito não é desprezível; modelagem mal concebida pode resultar em modelos de lixo.
Uma maneira de proteger contra os efeitos colaterais da espionagem de dados é validar cruzadamente todas as suas opções. No entanto, o aumento dos custos computacionais pode ser proibitivo.
fonte
De um modo geral, se você deseja uma previsão ideal, use L2. Se você deseja parcimônia em algum sacrifício de discriminação preditiva, use L1. Mas observe que a parcimônia pode ser ilusória, por exemplo, repetir o processo do laço usando o bootstrap geralmente revelará instabilidade significativa na lista de recursos "selecionados", especialmente quando os preditores estão correlacionados entre si.
fonte