k-fold Validación cruzada del aprendizaje conjunto

20

Estoy confundido acerca de cómo dividir los datos para la validación cruzada k-fold del aprendizaje en conjunto.

Suponiendo que tengo un marco de aprendizaje conjunto 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 usamos la validación de 5 pliegues cruzados, estoy pensando en usar los 5 pliegues de la siguiente manera:

  • 3 pliegues para entrenar la primera capa
  • 1 pliegue para entrenar la segunda capa
  • 1 pliegue para probar

¿Es esta la forma correcta? ¿Deberían ser independientes los datos de entrenamiento para la primera y segunda capa? Estoy pensando 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 segunda capa deben ser los mismos, es decir

  • 4 pliegues para entrenar la primera y segunda capa
  • 1 pliegue para probar

De esta manera, 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 solo dato de entrenamiento. Además, la segunda capa puede estar sesgada hacia los datos de entrenamiento independientes.

Cualquier consejo es muy apreciado

Miguel
fuente

Respuestas:

26

El aprendizaje conjunto se refiere a varios métodos diferentes. Impulsar y embolsar son probablemente los dos más comunes. Parece que está intentando implementar un método de aprendizaje conjunto llamado apilamiento . El apilamiento tiene como objetivo mejorar la precisión combinando predicciones de varios algoritmos de aprendizaje. Hay bastantes maneras de apilar y no mucha teoría rigurosa. Sin embargo, es intuitivo y popular.

Considera el enfoque de tu amigo. Está ajustando los modelos de la primera capa en cuatro de cinco pliegues y luego ajusta 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 modelos y diseñar un procedimiento para agregar esos modelos. La segunda capa debe combinar los modelos utilizando predicciones fuera de muestra . Su método es mejor, pero hay una manera de hacerlo aún mejor.

Continuaremos dejando fuera un pliegue para fines de prueba. Tome los cuatro pliegues y use un CV de 4 pliegues para obtener predicciones fuera de la muestra para cada uno de sus modelos de primera capa en los cuatro pliegues. Es decir, omita uno de los cuatro pliegues y ajuste los modelos en los otros tres y luego pronostique los datos retenidos. Repita para los cuatro pliegues para obtener predicciones fuera de la muestra en los cuatro pliegues. Luego ajuste el modelo de la segunda capa en estas predicciones fuera de muestra. Luego vuelva a colocar los modelos de la primera capa en los cuatro pliegues. Ahora puede ir al quinto pliegue que aún no ha tocado. Utilice los modelos de la primera capa en los cuatro pliegues junto con el modelo de la segunda capa para estimar el error en los datos retenidos. Puede repetir este proceso nuevamente con los otros pliegues del primer y segundo ajuste del modelo de capa.

Si está satisfecho con el rendimiento, genere predicciones fuera de la muestra para los modelos de la primera capa en los cinco pliegues y luego ajuste el modelo de la segunda capa en estos. ¡Luego ajuste los modelos de la primera capa por última vez en todos sus datos y úselos con el modelo de la segunda capa en cualquier dato nuevo!

Finalmente, algunos consejos generales. Obtendrá más beneficios si sus modelos de primera capa son bastante distintos entre sí. Estás en el camino correcto aquí usando SVM y árboles de decisión, que son bastante diferentes entre sí. Dado que el modelo de la segunda capa tiene un efecto promedio, puede intentar sobreajustar sus modelos de la primera capa de forma incremental, especialmente si tiene muchos de ellos. La segunda capa es generalmente algo simple y las restricciones como la no negatividad de los pesos y la monotonicidad son comunes. Finalmente, recuerde que el apilamiento se basa en la validación cruzada, que es solo una estimación del riesgo real. Si obtiene tasas de error muy diferentes y pesos de modelo muy diferentes entre pliegues, esto indica que su estimación de riesgo basada en CV tiene una gran varianza. En ese caso, es posible que desee considerar una combinación simplede tus modelos de primera capa. O puede comprometerse apilando con restricciones el peso máximo / mínimo colocado en cada modelo de primera capa.

MichaelJ
fuente
Gracias por sus muy útiles sugerencias. No entiendo tu cuarto párrafo. Me parece que se está entrenando de nuevo? ¿Pensé que tu tercer párrafo resumió tu método propuesto?
Michael
1
Como es habitual con la validación cruzada, una vez que estamos satisfechos con el modelo, volvemos a entrenar con todos los datos. Los modelos descritos en el párrafo tres no se ajustan a los datos retenidos. Retener datos es una herramienta para guiar la evaluación y selección del modelo. Siempre debe ajustar el modelo final en todos los datos.
MichaelJ
Me parece que este enfoque es similar a una red neuronal de alimentación directa
Michael
Gran explicación Lo único que falta es un diagrama;)
josh