24 votos

k-fold Validación cruzada del aprendizaje por conjuntos

No sé cómo dividir los datos para la validación cruzada k-fold del aprendizaje por conjuntos.

Suponiendo que tengo un marco de aprendizaje ensemble para la clasificación. Mi primera capa contiene los modelos de clasificación, por ejemplo, svm, árboles de decisión.

Mi segunda capa contiene un modelo de votación, que combina las predicciones de la primera capa y da la predicción final.

Si utilizamos la validación cruzada de 5 pliegues, estoy pensando en utilizar los 5 pliegues de la siguiente manera:

  • 3 pliegues para la formación de la primera capa
  • 1 pliegue para el entrenamiento de la segunda capa
  • 1 pliegue para pruebas

¿Es ésta la forma correcta? ¿Deben ser independientes los datos de entrenamiento de la primera y la segunda capa? Creo que deberían ser independientes para que el marco de aprendizaje conjunto sea robusto.

Mi amigo sugiere que los datos de entrenamiento para la primera y la segunda capa sean los mismos, es decir

  • 4 pliegues para el entrenamiento de la primera y segunda capa
  • 1 pliegue para pruebas

De este modo, tendremos un error más preciso del marco de aprendizaje conjunto, y el ajuste iterativo del marco será más preciso, ya que se basa en un único dato de entrenamiento. Además, la segunda capa puede estar sesgada hacia los datos de entrenamiento independientes

Cualquier consejo es muy apreciado

31voto

Dan Lord Puntos 1320

El aprendizaje conjunto hace referencia a varios métodos diferentes. Boosting y bagging son probablemente los dos más comunes. Parece que está intentando aplicar un método de aprendizaje conjunto llamado apilado . El apilamiento pretende mejorar la precisión combinando predicciones de varios algoritmos de aprendizaje. Hay bastantes formas de hacer apilamiento y no mucha teoría rigurosa. Sin embargo, es intuitivo y popular.

Considera el planteamiento de tu amigo. Está ajustando los modelos de la primera capa en cuatro de los cinco pliegues y luego ajustando el modelo de la segunda capa (votación) utilizando los mismos cuatro pliegues. El problema es que la segunda capa favorecerá al modelo con el error de entrenamiento más bajo. Está utilizando los mismos datos para ajustar los modelos y para idear un procedimiento para agregar esos modelos. La segunda capa debe combinar los modelos utilizando fuera de la muestra predicciones. Tu método es mejor, pero hay una forma de hacerlo aún mejor.

Seguiremos omitiendo un pliegue a efectos de prueba. Tome los cuatro pliegues y utilice el CV cuádruple para obtener predicciones fuera de muestra para cada uno de sus modelos de primera capa en los cuatro pliegues. Es decir, dejar de lado uno de los cuatro pliegues y ajustar los modelos en los otros tres y luego predecir en los datos retenidos. Repita el proceso para los cuatro pliegues de forma que obtenga predicciones fuera de muestra para los cuatro pliegues. A continuación, ajuste el modelo de segunda capa a estas predicciones fuera de muestra. A continuación, ajuste los modelos de la primera capa de nuevo en los cuatro pliegues. Ahora puede pasar al quinto pliegue que aún no ha tocado. Utilice los modelos de primera capa ajustados en los cuatro pliegues junto con el modelo de segunda capa para estimar el error en los datos retenidos. Puede repetir este proceso de nuevo con los otros pliegues que no se han ajustado al modelo de primera y segunda capa.

Si está satisfecho con el rendimiento, genere predicciones fuera de muestra para los modelos de primera capa en los cinco pliegues y, a continuación, ajuste el modelo de segunda capa en ellos. A continuación, ajuste los modelos de primera capa por última vez en todos sus datos y utilícelos con el modelo de segunda capa en cualquier dato nuevo.

Por último, algunos consejos generales. Obtendrá más beneficios si sus modelos de primera capa son bastante distintos entre sí. Usted está en el camino correcto aquí usando SVM y árboles de decisión, que son bastante diferentes entre sí. Dado que hay un efecto de promediación del modelo de segunda capa, es posible que desee probar overfitting sus modelos de primera capa de forma incremental, sobre todo si usted tiene un montón de ellos. La segunda capa suele ser algo simple y las restricciones como la no negatividad de los pesos y la monotonicidad son habituales. Por último, recuerde que el apilamiento se basa en la validación cruzada, que es sólo una estimación del riesgo real. Si obtiene tasas de error muy diferentes y ponderaciones del modelo muy diferentes entre pliegues, indica que su estimación del riesgo basada en cv tiene una alta varianza. En ese caso, es posible que desee considerar un simple mezcla de sus modelos de primera capa. O bien, puede llegar a un compromiso apilando con restricciones en el peso máximo / mínimo colocado en cada modelo de primera capa.

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