¿Qué medida de error de entrenamiento reportar para bosques aleatorios?

15

Actualmente estoy ajustando bosques aleatorios para un problema de clasificación usando el randomForestpaquete en R, y no estoy seguro de cómo informar un error de entrenamiento para estos modelos.

Mi error de entrenamiento es cercano al 0% cuando lo calculo usando predicciones que obtengo con el comando:

predict(model, data=X_train)

¿Dónde X_trainestán los datos de entrenamiento?

En una respuesta a una pregunta relacionada , leí que uno debería usar el error de entrenamiento fuera de bolsa (OOB) como la métrica de error de entrenamiento para bosques aleatorios. Esta cantidad se calcula a partir de predicciones obtenidas con el comando:

predict(model)

En este caso, el error de entrenamiento OOB está mucho más cerca del error medio de la prueba de 10 CV, que es del 11%.

Me pregunto:

  1. ¿Se acepta generalmente informar el error de capacitación OOB como la medida del error de capacitación para bosques aleatorios?

  2. ¿Es cierto que la medida tradicional de error de entrenamiento es artificialmente baja?

  3. Si la medida tradicional del error de entrenamiento es artificialmente baja, ¿qué dos medidas puedo comparar para verificar si la RF está sobreajustada?

Berk U.
fuente

Respuestas:

10

Para agregar a la respuesta de @Soren H. Welling.

1. ¿Se acepta generalmente informar el error de capacitación OOB como la medida del error de capacitación para bosques aleatorios?

No. El error OOB en el modelo entrenado no es lo mismo que el error de entrenamiento. Sin embargo, puede servir como una medida de precisión predictiva.

2. ¿Es cierto que la medida tradicional de error de entrenamiento es artificialmente baja?

Esto es cierto si estamos ejecutando un problema de clasificación usando la configuración predeterminada. El proceso exacto se describe en una publicación del foro de Andy Liaw , quien mantiene el randomForestpaquete en R, de la siguiente manera:

En su mayor parte, el rendimiento en el conjunto de entrenamiento no tiene sentido. (Ese es el caso para la mayoría de los algoritmos, pero especialmente para RF). En la configuración predeterminada (y recomendada), los árboles crecen hasta el tamaño máximo, lo que significa que es muy probable que solo haya un punto de datos en la mayoría de los nodos terminales, y La predicción en los nodos terminales está determinada por la clase mayoritaria en el nodo o el único punto de datos. Supongamos que ese sea el caso todo el tiempo; es decir, en todos los árboles, todos los nodos terminales tienen solo un punto de datos. Un punto de datos particular estaría "en bolsa" en aproximadamente el 64% de los árboles en el bosque, y cada uno de esos árboles tiene la predicción correcta para ese punto de datos. Incluso si todos los árboles donde los puntos de datos están fuera de bolsa dieron la predicción incorrecta, por mayoría de votos de todos los árboles, todavía obtienes la respuesta correcta al final. Así, básicamente, la predicción perfecta en el conjunto de trenes para RF es "por diseño".

nodesize > 1sampsize < 0.5N(Xyo,yyo)

3. Si la medida tradicional de error de entrenamiento es artificialmente baja, ¿qué dos medidas puedo comparar para verificar si la RF está sobreajustada?

Si ejecutamos RF con nodesize = 1y sampsize > 0.5, entonces el error de entrenamiento del RF siempre estará cerca de 0. En este caso, la única forma de saber si el modelo está sobreajustado es mantener algunos datos como un conjunto de validación independiente. Luego podemos comparar el error de prueba de 10 CV (o el error de prueba OOB) con el error en el conjunto de validación independiente. Si el error de prueba de 10 CV es mucho menor que el error en el conjunto de validación independiente, entonces el modelo puede estar sobreajustado.

Berk U.
fuente
2

[editado 21.7.15 8:31 AM CEST]

Supongo que usaste RF para la clasificación. Porque en este caso, el algoritmo produce árboles completamente desarrollados con nodos terminales puros de una sola clase objetivo.

predict(model, data=X_train)

Esta línea de codificación es como un perro persiguiendo [~ 66% de] su propia cola. La predicción de cualquier muestra de entrenamiento es la clase de la muestra de entrenamiento en sí. Para la regresión, la RF se detiene si el nodo tiene 5 o menos muestras o si el nodo es puro. Aquí el error de predicción será pequeño pero no 0%.

En el aprendizaje automático, a menudo trabajamos con grandes espacios de hipótesis. Esto significa que siempre habrá muchas hipótesis / explicaciones / modelos aún no falsificados para la estructura de datos de nuestro conjunto de entrenamiento. En la estadística clásica, el espacio de hipótesis a menudo es pequeño y, por lo tanto, el ajuste directo del modelo es informativo de acuerdo con alguna teoría de probabilidad supuesta. En el aprendizaje automático, la falta directa de ajuste se relaciona con el sesgo del modelo. El sesgo es la "inflexibilidad" del modelo. No es aside todos modos, proporciona una aproximación del poder de generalización (la capacidad de predecir nuevos eventos). Para los modelos algorítmicos, la validación cruzada es la mejor herramienta para aproximar el poder de generalización, ya que no se formula ninguna teoría. Sin embargo, si los supuestos del modelo de muestreo independiente fallan, el modelo puede ser inútil de todos modos, incluso cuando una validación cruzada bien realizada sugiera lo contrario. Al final, la prueba más fuerte es predecir satisfactoriamente un número de conjuntos de pruebas externas de varios orígenes.

Regresar al CV: El desempaquetado suele ser un tipo de CV aceptado. Personalmente, afirmaría que OOB-CV proporciona resultados similares a 5 veces CV, pero esto es una molestia muy pequeña. Si para comparar digamos RF a SVM, entonces OOB-CV no es útil, ya que normalmente evitaríamos empacar SVM. En cambio, tanto SVM como RF se integrarían en el mismo esquema de validación cruzada, por ejemplo, 10 veces 10 repeticiones con particiones coincidentes para cada repetición. Cualquier paso de ingeniería de características a menudo también sería necesario para la validación cruzada. Si para mantener las cosas limpias, toda la línea de datos podría integrarse en el CV.

Si ajusta su modelo con su conjunto de pruebas (o validación cruzada), nuevamente está inflando su espacio de hipótesis y el rendimiento de predicción validado probablemente sea demasiado optimista. En cambio, necesitará un conjunto de calibración (o bucle CV de calibración) para ajustar y un conjunto de validación de prueba (o bucle CV de validación) para evaluar su modelo óptimo final.

En el sentido extremo, su puntaje de validación solo será imparcial si nunca actúa sobre este resultado, cuando lo vea. Esta es la paradoja de la validación, ya que por qué obtendríamos un conocimiento que solo es cierto si no se actúa en consecuencia. En la práctica, la comunidad acepta voluntariamente algún sesgo de publicación, donde aquellos investigadores que obtuvieron una validación demasiado optimista al azar tienen más probabilidades de publicar, que aquellos que desafortunadamente tienen una validación demasiado pesimista. Por eso a veces por qué no se pueden reproducir otros modelos.

Soren Havelund Welling
fuente
Gracias por esto. Dos preguntas: (1) ¿Cómo es la predicción de cualquier muestra de entrenamiento la clase de la muestra de entrenamiento en sí misma? Debe haber árboles que no utilicen la muestra de capacitación que se utilizan en el procedimiento de votación mayoritaria ¿no? (2) Entonces, ¿cómo evaluaría si una medida de RF se sobreajusta?
Berk U.
(1) bueno, sí, fui un poco rápido allí, edité la respuesta. Cualquier muestra estará en bolsa en ~ 66% de los árboles. Si una muestra en un árbol estuvo en la bolsa durante el entrenamiento, terminará en ese mismo nodo durante la predicción en ~ 66%, y eso es suficiente para ganar el voto de la mayoría cada vez. Confirme esto bajando el tamaño de muestra a, por ejemplo, el 30% de las muestras de trenes, y observe un aumento del error de clasificación del 0%. (2) Creo que respondí eso. RF no se sobreajusta per se, pero puede crear un contexto durante, por ejemplo, el ajuste donde obtendrá un resultado OOB-CV demasiado optimista. Incruste todo su proceso en un nuevo CV para saber con certeza.
Soren Havelund Welling