Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

7 votos

búsqueda de mínimos globales de un estimador de bosque aleatorio

Tengo un modelo de regresión de bosque aleatorio con 1000 árboles, que tiene 16 parámetros (usando python scikit-learn). El estimador puede predecir un valor objetivo con una puntuación r2 validada cruzada de 0,87 +/- 0,03. Me gustaría encontrar el máximo global (o al menos cercano al máximo global) del bosque aleatorio, con el fin de identificar los mejores valores de los 16 parámetros que producen este óptimo. ¿Cuál es el mejor algoritmo para alcanzar el máximo de un estimador de bosque aleatorio? ¿Existe una implementación en python de este algoritmo?

7voto

markymuy Puntos 21

Es fácil con scipy.optimize.fmin , evaluando su modelo en puntos muestreados o implementando su propia rutina de optimización. Esta es la base del funcionamiento de muchos modelos, por lo que merece la pena conocerla en detalle. Véase, por ejemplo, estas notas de clase .

Aunque probablemente no sea lo que quieres. En r2 la validación cruzada es para la distribución del espacio de entrada. La dirección argmaxxf(x) que el bosque aleatorio evaluará probablemente estará en un vecindario de baja confianza, lejos del soporte de los datos de entrenamiento.

Quiere un modelo que genere intervalos de confianza. En Scikit-Learn, GaussianProcess y GradientBoostingRegressor hacen esto. Los Procesos Gaussianos son excelentes para este problema si no tienes más de mil observaciones de entrenamiento.

Si puede recopilar más datos después de consultar con su modelo, entonces evalúe su caja negra en el argmax del límite superior de confianza, añada el resultado como un nuevo punto de datos y repita hasta que no haya ningún cambio.

Este problema se conoce como Bandido contextual . La elección del límite de confianza depende de la exploración hasta la convergencia/explotación de los valores intermitentes que desee. Dado que no te importa lo mal que se comporte el modelo durante el entrenamiento, elegirías un límite de confianza superior grande para que el modelo converja más rápido.

Existen varios conjuntos de herramientas relacionados con este tipo de problemas. Menta verde , Hyperopt, y MOE .

Si no puede recopilar más datos, deberá tomar la \arg\max del límite inferior de confianza del modelo. Esto penaliza las predicciones sobre las que el modelo no tiene certeza.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X