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?


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?


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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.