Métodos de regularização para regressão logística

42

A regularização usando métodos como Ridge, Lasso, ElasticNet é bastante comum para regressão linear. Eu queria saber o seguinte: Esses métodos são aplicáveis ​​à regressão logística? Em caso afirmativo, existem diferenças na maneira como elas precisam ser usadas para a regressão logística? Se esses métodos não são aplicáveis, como regularizar uma regressão logística?

TAK
fonte
Você está olhando para um conjunto de dados específico e, portanto, precisa considerar tornar os dados tratáveis ​​para computação, por exemplo, selecionar, dimensionar e compensar os dados para que a computação inicial tenda a ter sucesso. Ou este é um olhar mais geral para os comos e os porquês (sem um conjunto de dados específico para against0 computação?
Philip Oakley
1
Esta é uma visão mais geral dos comos e porquês da regularização. Textos introdutórios para métodos de regularização (cume, Lasso, Elasticnet etc.) que me deparei com exemplos de regressão linear especificamente mencionados. Nenhuma mencionou especificamente a logística, daí a questão.
TAK
1
Regressão logística é uma forma de GLM usando uma função de vínculo sem identidade, quase tudo se aplica.
Firebug
1
Você já encontrou o vídeo de Andrew Ng sobre o assunto?
Antoni Parellada
Cume, laço e regressão líquida elástica são opções populares, mas não são as únicas opções de regularização. Por exemplo, matrizes de suavização penalizam funções com segundas derivadas grandes, de modo que o parâmetro de regularização permite que você "disque" uma regressão, o que é um bom compromisso entre o excesso e a falta de ajuste dos dados. Assim como na regressão cume / laço / rede elástica, eles também podem ser usados ​​com regressão logística.
Reintegrar Monica

Respostas:

49

Sim, a regularização pode ser usada em todos os métodos lineares, incluindo regressão e classificação. Eu gostaria de mostrar que não há muita diferença entre regressão e classificação: a única diferença é a função de perda.

Especificamente, existem três componentes principais do método linear, Função de Perda, Regularização, Algoritmos . Onde a função de perda mais a regularização é a função objetivo no problema na forma de otimização e o algoritmo é a maneira de resolvê-lo (a função objetivo é convexa, não discutiremos neste post).

Na configuração da função de perda, podemos ter perdas diferentes nos casos de regressão e classificação. Por exemplo, mínimos quadrados e menor perda de desvio absoluto podem ser usados ​​para regressão. E a representação matemática deles é e. (A função é definida em dois escalares, é o valor da verdade do terreno e é o valor previsto.)L(y^,y)=(y^y)2L(y^,y)=|y^y|L()yy^

Por outro lado, a perda logística e a perda de dobradiça podem ser usadas para classificação. Suas representações matemáticas são e . (Aqui, é o rótulo da verdade em e é previsto como "score". A definição de é um pouco incomum, consulte a seção de comentários.)L(y^,y)=log(1+exp(y^y))L(y^,y)=(1y^y)+y{1,1}y^y^

No cenário de regularização, você mencionou sobre a regularização L1 e L2, também existem outros formulários que não serão discutidos nesta postagem.

Portanto, em um nível alto, um método linear é

minimizew   x,yL(wx,y)+λh(w)

Se você substituir a função Perda da configuração de regressão para perda logística, obtém a regressão logística com regularização.

Por exemplo, na regressão de crista, o problema de otimização é

minimizew   x,y(wxy)2+λww

Se você substituir a função de perda por perda logística, o problema se tornará

minimizew   x,ylog(1+exp(wxy))+λww

Aqui você tem a regressão logística com regularização L2.


É assim que parece em um conjunto de dados binários sintetizados por brinquedos. A figura da esquerda é os dados com o modelo linear (limite de decisão). A figura à direita é o contorno da função objetivo (os eixos x e y representam os valores para 2 parâmetros). O conjunto de dados foi gerado a partir de dois gaussianos e ajustamos o modelo de regressão logística sem interceptação, portanto, existem apenas dois parâmetros que podemos visualizar na sub-figura correta.

As linhas azuis são a regressão logística sem regularização e as linhas pretas são a regressão logística com regularização L2. Os pontos azul e preto na figura à direita são parâmetros ideais para a função objetivo.

Nesta experiência, definimos um grande , para que você possa ver dois coeficientes próximos de . Além disso, a partir do contorno, podemos observar que o termo de regularização é dominado e toda a função é como uma tigela quadrática.λ0

insira a descrição da imagem aqui

Aqui está outro exemplo com a regularização L1.

insira a descrição da imagem aqui

Observe que, o objetivo deste experimento é tentar mostrar como a regularização funciona na regressão logística, mas não argumentar que o modelo regularizado é melhor.


Aqui estão algumas animações sobre a regularização de L1 e L2 e como isso afeta o objetivo de perda logística. Em cada quadro, o título sugere o tipo de regularização e , o gráfico é o objetivo da função (perda logística + regularização). Aumentamos o parâmetro de regularização em cada quadro e a solução ideal diminui para quadro a quadro.λλ0

insira a descrição da imagem aqui insira a descrição da imagem aqui


Alguns comentários de notação. e são vetores de coluna, é um escalar. Portanto, o modelo linear . Se quisermos incluir o termo de interceptação, podemos acrescentar como uma coluna aos dados.wxyy^=f(x)=wx1

Na configuração de regressão, é um número real e na configuração de classificação .yy{1,1}

Observe que é um pouco estranho para a definição de na configuração de classificação. Como a maioria das pessoas usa para representar um valor previsto de . No nosso caso, é um número real, mas não em . Usamos essa definição de porque podemos simplificar a notação sobre perda logística e perda de dobradiça.y^=wxy^yy^=wx{1,1}y^

Observe também que, em algum outro sistema de notação, , a forma da função perda de logística seria diferente.y{0,1}

O código pode ser encontrado na minha outra resposta aqui.

Existe alguma explicação intuitiva sobre por que a regressão logística não funciona para um caso de separação perfeito? E por que adicionar regularização irá corrigi-lo?

Haitao Du
fonte
4
Boa resposta, mas não vejo nada (exceto notação) na explicação que sugere que você precisa se limitar a métodos lineares. Você pode ter a mesma resposta, mas com w substituído por f e substituído por ? As pessoas certamente usam a regularização para métodos não lineares, como redes neurais. wTxf(x)
21716
Obrigado pela resposta @ hxd1011, você pode explicar o que as linhas pretas sólidas representam no gráfico de contorno? Para ser mais preciso, eu sei que (como você explicou) os eixos x e y mostram os 2 parâmetros que usamos. Mas e as linhas sólidas e seus números como 8000, 10000, 12000. Obrigado!
Jespar
12

Um método de encolhimento / regularização que foi originalmente proposto para regressão logística com base em considerações de ordem superior assintótica foi a regressão logística de Firth ... algum tempo antes de todas essas conversas sobre laço e o que não começou, embora após a regressão da cordilheira tenha aumentado e diminuído a popularidade através de 1970s. Isso equivale a adicionar um termo de penalidade à probabilidade, onde

l(β)=l(β)+12ln|i(β)|
i(β)=1nipi(1pi)xixié a matriz de informações normalizada por observação. Firth demonstrou que essa correção tem uma interpretação bayesiana na medida em que corresponde a Jeffreys antes encolhendo em direção a zero. A empolgação gerada foi devido a ajudar a resolver o problema da separação perfeita: digamos, um conjunto de dados seria nominalmente produzir estimativas ML infinitas, e no ainda é suscetível ao problema, eu acredito.{(yi,xi)={(1,1),(0,0)}glmR
StasK
fonte
1
Sim, você pode usar os pacotes R logistf ou brglm para isso! Talvez vale a pena mencionar ...
Tom Wenseleers
É muito elegante, mas é bastante lento para otimização, não é? No gradiente, você obtém o inverso de que precisa ser recalculado em todas as iterações ...i(β)
appletree
É dolorosamente lento, na verdade, @appletree
StasK
(+1) Eu nunca tinha ouvido falar da correção de Firth antes. Eu não esperaria que a abordagem implícita no artigo citado adicionasse muito tempo à solução GLM? (Você não precisa inverter uma matriz, apenas computar alavancas. Se resolver o GLM por mínimos quadrados com ponderação iterativa, essas são apenas as normas de linha do fator Q. As alavancas são adicionadas aos dados e exposição, usando vez de no ajuste de Jeffreys .)h/21/2
GeoMatt22 19/03
6

Sim, é aplicável à regressão logística. Em R, usando glmnet, você simplesmente especifica a família apropriada que é "binomial" para regressão logística. Existem alguns outros (veneno, multinomial etc.) que você pode especificar dependendo dos seus dados e do problema que está solucionando.

Boa Sorte Vá com Deus
fonte
A desvantagem de apenas usar o glmnet para isso é que essa abordagem não forneceria níveis de significância. Se você estiver interessado em aqueles, em seguida, pacotes R logistf ou brglm seria a melhor maneira de ir ...
Tom Wenseleers
@TomWenseleers também existem métodos para iniciar o glmnet para obter valores-p. No entanto, é um pouco complicado como bootstrap "regular" não funciona para coeficientes lasso
godspeed
Obrigado por me informar sobre isso, eu já vi outros mencionarem isso também, por exemplo, aqui: stats.stackexchange.com/questions/34859/… , mas não consigo encontrar nada padrão implementado em algum pacote R. Você teria alguma indicação? Ou boa literatura primária sobre isso? Desvantagem de bootstrapping é também que normalmente seria muito lento para grandes conjuntos de dados ...
Tom Wenseleers
Você está se referindo a métodos como os implementados no pacote R hdi, cran.r-project.org/web/packages/hdi/index.html ?
Tom Wenseleers