¿Es 'justo' establecer una semilla en una regresión forestal aleatoria para obtener la mayor precisión?


10

Tengo una regresión forestal aleatoria construida usando skl y noto que produzco diferentes resultados basados ​​en establecer la semilla aleatoria en diferentes valores.

Si uso LOOCV para establecer qué semilla funciona mejor, ¿es este un método válido?


1
La gente hace eso en las competiciones. Aunque para la academia sería difícil de justificar.
Firebug

2
Piense en un escenario de caso extremo: jugamos un juego: tiramos dos dados y ganamos los que obtengamos la suma más alta. Pero en realidad se me permite tirar los dados dos veces. ¿Es justo eso? Permítanme señalar que establecer las semillas al azar es una parte integral de la investigación reproducible y siempre debe hacerse. Sin embargo, eso no significa que debamos probar muchas semillas diferentes hasta que encontremos una "semilla favorable".
usεr11852

@ usεr11852 ¿Qué opinas de mi comentario sobre la respuesta actualmente aceptada? No estoy seguro de si esto es diferente a los reinicios aleatorios como con kmeans. Nadie cree que deberíamos vernos obligados a aceptar la primera ejecución que hacemos, hasta el punto de que los reinicios aleatorios están integrados en la función estándar en R. A menos que considere que el modelo se ejecuta kmeans 100 veces en lugar del modelo ser solo el mejor agrupamiento
jld

No, parece ser la definición misma de sobreajuste en aleatoriedad real.
Mark White

@Chaconne: Apoyo totalmente su punto sobre la necesidad de una validación adecuada. Dicho esto, creo que hay una diferencia fundamental en los dos casos de uso: en el caso de k-means (u optimización estocástica en general) buscamos un "conjunto óptimo" de parámetros, mientras que para CV nos preocupamos por un "conjunto representativo ". En el primer caso, nos esforzamos por mostrar "cuán buenos podemos ser", mientras que en el caso posterior "cuán buenos seremos".
usεr11852

Respuestas:


10

La respuesta es no .

Su modelo da un resultado diferente para cada semilla que usa. Este es el resultado de la naturaleza no determinista del modelo. Al elegir una semilla específica que maximiza el rendimiento en el conjunto de validación, significa que elige el "arreglo" que mejor se ajusta a este conjunto. Sin embargo, esto no garantiza que el modelo con esta semilla funcione mejor en un conjunto de prueba separado . Esto simplemente significa que ha sobreajustado el modelo en el conjunto de validación .

Este efecto es la razón por la que ve a muchas personas que ocupan un lugar destacado en las competiciones (por ejemplo, kaggle) en el conjunto de pruebas públicas, caen lejos en el conjunto de pruebas ocultas. Este enfoque no se considera de ninguna manera el enfoque correcto.


44
Sí, esta es la razón por la cual la validación cruzada es una técnica tan sólida y también por qué las personas usan una validación y un conjunto de prueba (uno para basar la selección del modelo y otro para obtener una evaluación imparcial).
Djib2011

1
No estoy convencido. Con la optimización no convexa, es rutinario hacer reinicios aleatorios porque diferentes semillas pueden conducir a estimaciones de parámetros de modelo muy diferentes y solo por mala suerte puede obtener una mala convergencia. Por ejemplo, con kmeans esto es bien conocido. Con el bosque aleatorio por casualidad, tal vez su modelo termine haciendo demasiadas divisiones inferiores. No creo que sea apropiado reconocer que diferentes ejecuciones conducen a diferentes estimaciones de parámetros del modelo y que algunas pueden generalizarse mejor que otras. Todo esto está condicionado a la evaluación adecuada del rendimiento de la muestra, por supuesto.
jld

55
@ user2723494 Es válido para hiperparámetros con la esperanza de aumentar el rendimiento sin el costo de la generalización. Sin embargo, ajustar los parámetros una y otra vez en el conjunto de validación produciría el mismo efecto que describí (ajuste excesivo en el conjunto de validación). Debido a que la siembra aleatoria es por naturaleza estocástica, es mucho más probable que mejore el rendimiento debido al sobreajuste que debido a que en realidad ha producido un mejor modelo.
Djib2011

44
@Chaconne No dije que eso fuera imposible. Sin embargo, mediante este procedimiento, es mucho más probable que seleccione una semilla que se adapte mejor que una que realmente produzca un mejor modelo ...
Djib2011

44
Para ser honesto, nunca he considerado sembrar algoritmos ML (y privarlos de su naturaleza estocástica) como una buena práctica. El OP creó una nueva pregunta preguntando solo esto. ¡Me interesaría leer tu respuesta!
Djib2011
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.