Impulsionando um modelo de regressão logística

11

O Adaboost é um método de conjunto que combina muitos alunos fracos para formar um método forte. Todos os exemplos de adaboost que eu li usam tocos de decisão / árvores como alunos fracos. Posso usar diferentes alunos fracos no adaboost? Por exemplo, como implementar o adaboost (geralmente impulsionando) para impulsionar um modelo de regressão logística?

Uma diferença principal das árvores de classificação e da regressão logística é que a primeira gera classes (-1,1) enquanto a regressão logística gera probs. Uma idéia é escolher o melhor recurso X de um conjunto de recursos e escolher um limite (0,5?) Para converter os probs em classes e, em seguida, usar uma regressão logística ponderada para encontrar o próximo recurso etc.

Mas imagino que exista um algoritmo geral para impulsionar diferentes aprendizes fracos, diferentes dos tocos de decisão que geram probabilidades. Eu acreditava que o Logitboost é a resposta para minha pergunta, mas tentei ler o artigo "Regressão logística aditiva" e fiquei preso no meio.

gnikol
fonte

Respostas:

7

Não confunda o manuseio dos preditores (através dos alunos da base, por exemplo, tocos) e o manuseio da função de perda no aumento. Embora o AdaBoost possa ser considerado como encontrar combinações de alunos de base para minimizar erros de classificação incorreta, o artigo "Regressão logística aditiva" que você menciona mostra que ele também pode ser formulado para minimizar uma função de perda exponencial. Esse insight abriu a abordagem de impulso para uma ampla classe de problemas de aprendizado de máquina que minimizam as funções de perda diferenciáveis, via aumento de gradiente . Os resíduos que são ajustados em cada etapa são pseudo-resíduos calculados a partir do gradiente da função de perda. Mesmo que os preditores sejam modelados como tocos binários, a saída do modelo não precisa, portanto, ser uma opção binária.

Como outra resposta afirma, os alunos de base linear podem não funcionar para aumentar, mas os alunos de base linear não são necessários para a "regressão aprimorada" no sentido padrão ou logístico. Os tocos decididamente não lineares podem ser combinados como alunos de base lenta para minimizar as funções de perda apropriadas. Ainda é chamado de "regressão reforçada", embora esteja longe de ser um modelo de regressão padrão linear nos coeficientes dos preditores. A função de perda pode ser funcionalmente a mesma para modelos lineares e modelos de "regressão reforçada" com tocos ou árvores como preditores. O capítulo 8 da ISLR deixa isso bem claro.

Portanto, se você deseja uma regressão logística equivalente à regressão impulsionada, concentre-se na função de perda em vez de nos alunos de base. É isso que a abordagem do LogitBoost no artigo que você cita: minimiza uma perda de log em vez da perda exponencial implícita no adaboost. A página Wikipedia AdaBoost descreve essa diferença.

Muitos participantes neste site argumentariam que uma previsão baseada em probabilidades de log / probabilidade é altamente preferível a uma previsão estrita de classificação sim / não, pois a primeira geralmente permite trocas diferentes entre os custos extras de previsões falso-positivas e falso-negativas. . Como a resposta à sua pergunta relacionada indica, é possível obter probabilidades estimadas do classificador forte derivado do AdaBoost, mas o LogitBoost pode muito bem fornecer um melhor desempenho.

Implementações de aumento de gradiente para classificação podem fornecer informações sobre as probabilidades subjacentes. Por exemplo, esta página sobre aumento de gradiente mostra como o sklearncódigo permite uma escolha entre perda de desvio para regressão logística e perda exponencial para o AdaBoost e documenta funções para prever probabilidades do modelo de aumento de gradiente.

EdM
fonte
Muito obrigado pela sua resposta. Se eu entendi corretamente, a fim de alcançar a funcionalidade da regressão logística no contexto de aumento, tudo o que preciso fazer é usar o algoritmo de aumento de gradiente com a função de perda logística e árvores fracas de classificação dos alunos? Mas as árvores de classificação produzem {-1,1} enquanto a regressão logística que gera probabilidades. Além disso, as árvores de classificação tentam minimizar o índice de gini em vez da perda logística. Sinto falta de algo fundamental aqui. Onde colocar a perda logística? Como gerar probs do modelo?
Gnikol
Entendo o conceito em que y é contínuo porque as árvores de regressão minimizam o mse, que é a mesma função de perda com regressão linear. Por isso, ajustei repetidamente uma árvore de regressão aos resíduos. Mas, no contexto da classificação, as árvores de classificação minimizam o índice de gini ou algo semelhante. Como isso está relacionado à regressão logística ou à função de perda da regressão logística?
Gnikol
@gnikol Revi minha resposta de uma maneira que, espero, torne isso mais claro para você e para outros leitores. Os resíduos que são adequados para aumentar o gradiente são pseudo-residuais calculados a partir do gradiente da função de perda; a escolha da função de perda é o que distingue o AdaBoost do LogitBoost. As probabilidades podem ser obtidas com o aprendiz forte em qualquer caso; Forneci um link para um exemplo de implementação no último parágrafo.
EDM
5

De fato, temos uma pergunta muito semelhante aqui no caso de regressão. E tivemos uma resposta muito boa de @Matthew Drury

Reforço de gradiente para regressão linear - por que não funciona?

O modelo linear (como a regressão logística) não é bom para impulsionar. O motivo é que, se você adicionar dois modelos lineares, o resultado será outro modelo linear. Por outro lado, a adição de dois tocos de decisão ou árvores terá um modelo mais complicado e interessante (não mais uma árvore).

Detalhes podem ser encontrados neste post. Neste link, deduzi por que adicionar dois modelos lineares não é interessante. E estou mostrando o efeito de aumentar a iteração do stump de decisão por iteração.

Como o aprendiz de base linear trabalha para aumentar? E como isso funciona na biblioteca xgboost?

Observe que a árvore de decisão / coto não é um "modelo linear" semelhante à regressão logística.

Veja este post para mais detalhes

Um coto de decisão é um modelo linear?

Haitao Du
fonte