Impulsar un modelo de regresión logística

11

Adaboost es un método de conjunto que combina muchos estudiantes débiles para formar uno fuerte. Todos los ejemplos de adaboost que he leído usan tocones / árboles de decisión como estudiantes débiles. ¿Puedo usar diferentes estudiantes débiles en adaboost? Por ejemplo, ¿cómo implementar adaboost (generalmente impulso) para impulsar un modelo de regresión logística?

Una diferencia principal de los árboles de clasificación y la regresión logística es que la primera genera clases (-1,1) mientras que la regresión logística genera problemas. Una idea es elegir la mejor característica X de un conjunto de características y seleccionar un umbral (0.5?) Para convertir los problemas en clases y luego usar una regresión logística ponderada para encontrar la siguiente característica, etc.

Pero me imagino que existe un algoritmo general para impulsar diferentes estudiantes débiles diferentes a los tocones de decisión que generan probabilidades. Creí que Logitboost es la respuesta a mi pregunta, pero intenté leer el documento "Regresión logística aditiva" y me quedé atrapado en el medio.

gnikol
fuente

Respuestas:

7

No confunda el manejo de los predictores (a través de aprendices base, por ejemplo, tocones) y el manejo de la función de pérdida en el impulso. Aunque se puede pensar que AdaBoost encuentra combinaciones de aprendices básicos para minimizar el error de clasificación errónea, el documento de "Regresión logística aditiva" que usted cita muestra que también puede formularse para minimizar una función de pérdida exponencial. Esta información abrió el enfoque de refuerzo a una amplia clase de problemas de aprendizaje automático que minimizan las funciones de pérdida diferenciables, a través del aumento de gradiente . Los residuos que se ajustan en cada paso son seudo residuales calculados a partir del gradiente de la función de pérdida. Incluso si los predictores se modelan como tocones binarios, la salida del modelo no necesita ser una elección binaria.

Como dice otra respuesta, los aprendices de base lineal pueden no funcionar para impulsar, pero los aprendices de base lineal no son necesarios para una "regresión potenciada" en el sentido estándar o logístico. Decididamente, los tocones no lineales se pueden combinar como aprendices de base lenta para minimizar las funciones de pérdida apropiadas. Todavía se llama "regresión aumentada" a pesar de que está lejos de ser un modelo de regresión estándar lineal en los coeficientes de los predictores. La función de pérdida puede ser funcionalmente la misma para modelos lineales y modelos de "regresión aumentada" con tocones o árboles como predictores. El Capítulo 8 de ISLR lo deja bastante claro.

Entonces, si desea una regresión logística equivalente a una regresión potenciada, concéntrese en la función de pérdida en lugar de en los alumnos de base. Eso es lo que hace el enfoque LogitBoost en el documento que cita: minimizar una pérdida de registro en lugar de la pérdida exponencial implícita en adaboost. La página Wikipedia AdaBoost describe esta diferencia.

Muchos participantes en este sitio argumentarían que una predicción basada en probabilidades de registro / probabilidad es altamente preferible a una predicción estricta de clasificación sí / no, ya que la primera generalmente permite diferentes compensaciones entre los costos adicionales de las predicciones falsas positivas y falsas negativas . Como lo indica la respuesta a su pregunta relacionada , es posible obtener probabilidades estimadas del clasificador fuerte derivado de AdaBoost, pero LogitBoost puede brindar un mejor rendimiento.

Las implementaciones de aumento de gradiente para la clasificación pueden proporcionar información sobre las probabilidades subyacentes. Por ejemplo, esta página sobre aumento de gradiente muestra cómo el sklearncódigo permite elegir entre la pérdida de desviación para la regresión logística y la pérdida exponencial de AdaBoost, y documenta las funciones para predecir las probabilidades del modelo impulsado por gradiente.

EdM
fuente
Muchas gracias por su respuesta. Si lo entiendo correctamente para lograr la funcionalidad de la regresión logística en el contexto de aumentar todo lo que tengo que hacer es usar el algoritmo de aumento de gradiente con la función de pérdida logística y árboles de clasificación de alumnos débiles. Pero los árboles de clasificación generan {-1,1} mientras que la regresión logística que genera probabilidades. Además, los árboles de clasificación intentan minimizar el índice de Gini en lugar de la pérdida logística. Echo de menos algo fundamental aquí. ¿Dónde poner la pérdida logística? ¿Cómo generar problemas del modelo?
gnikol
Entiendo el concepto donde y es continuo porque los árboles de regresión minimizan la mse, que es la misma función de pérdida con regresión lineal. Por lo tanto, ajusto repetidamente un árbol de regresión a los residuos. Pero en el contexto de la clasificación, los árboles de clasificación minimizan el índice de Gini o algo similar. ¿Cómo se relaciona eso con la regresión logística o la función de pérdida de la regresión logística?
gnikol
@gnikol He revisado mi respuesta de una manera que espero aclare esto tanto para usted como para otros lectores. Los residuos que se ajustan en el aumento de gradiente son seudo residuales calculados a partir del gradiente de la función de pérdida; La elección de la función de pérdida es lo que distingue a AdaBoost de LogitBoost. Las probabilidades se pueden obtener del aprendiz fuerte en cualquier caso; Proporcioné un enlace a un ejemplo de implementación en el último párrafo.
EdM
5

De hecho, tenemos una pregunta muy similar aquí sobre el caso de regresión. Y tuvimos una muy buena respuesta de @Matthew Drury

Aumento de gradiente para regresión lineal: ¿por qué no funciona?

El modelo lineal (como la regresión logística) no es bueno para impulsar. La razón es que si agrega dos modelos lineales, el resultado es otro modelo lineal. Por otro lado, agregar dos tocones o árboles de decisión tendrá un modelo más complicado e interesante (ya no es un árbol).

Los detalles se pueden encontrar en esta publicación. En este enlace deduje por qué agregar dos modelos lineales no es interesante. Y estoy mostrando el efecto de aumentar en la decisión tocón iteración por iteración.

¿Cómo funciona el aprendiz de base lineal para impulsar? ¿Y cómo funciona en la biblioteca xgboost?

Tenga en cuenta que el árbol / tocón de decisión no es un "modelo lineal" similar a la regresión logística.

Mire esta publicación para más detalles

¿Es un tocón de decisión un modelo lineal?

Haitao Du
fuente