4 votos

Validación cruzada y predicción para datos desconocidos.

¿Cómo podemos construir un modelo, de la cruz de validar y utilizar para predecir datos desconocidos?

Decir que tengo un conocido conjunto de datos de 100 puntos. Pasos para 10 fold cross-validation son-

  1. Dividir los datos de forma aleatoria en el entrenamiento y la prueba de conjuntos de datos en una proporción de 90:10
  2. Hacer un modelo en el conjunto de datos de entrenamiento (90 puntos). (Yo libSVM grid.py para optimizar C y gamma)
  3. Prueba el modelo optimizado en el conjunto de datos de prueba (10 puntos) y calcular el error.
  4. Repita los pasos (1,2,3) 10 veces durante 10-fold cross validation. El promedio de los errores de cada repetición para obtener el promedio de error.

Ahora, después de repetir los pasos 10 veces, voy a tener 10 diferentes optimizado modelos. Para predecir para un desconocido conjunto de datos (200 puntos), se debe utilizar el modelo que me dio error mínimo O que debo hacer paso 2 una vez de nuevo en la totalidad de los datos (ejecutar grid.py en los datos completos) y se usa como modelo para la predicción de incógnitas?

También me gustaría saber, es el mismo procedimiento para la otra máquina-métodos de aprendizaje (como ANN, Bosque Aleatorio, etc.)

2voto

cbeleites Puntos 12461

Ahora, después de repetir los pasos 10 veces, voy a tener 10 diferentes optimizado modelos.

sí. Validación cruzada (al igual que otros de remuestreo basado en los métodos de validación) supone implícitamente que estos modelos son al menos equivalentes en sus predicciones, por lo que se le permite a la media, piscina, todos los resultados de la prueba.

Por lo general, hay una segunda, más fuerte suposición: que esos 10 "sustituto modelos" son equvalent con el modelo construido en los 100 casos:

Para predecir para un desconocido conjunto de datos (200 puntos), se debe utilizar el modelo que me dio error mínimo O que debo hacer paso 2 una vez de nuevo en la totalidad de los datos (ejecutar grid.py en los datos completos) y se usa como modelo para la predicción de incógnitas?

Generalmente este último hecho (segunda hipótesis).

Sin embargo, yo personalmente no haría una cuadrícula de optimización en el conjunto de los datos de nuevo (a pesar de que uno puede discutir sobre eso) pero en lugar de utilizar el costo y la gamma de parámetros que resultó ser una buena elección desde el 10 de optimizaciones que hizo ya (ver más abajo).

Sin embargo, existen también los llamados agregados de modelos (por ejemplo, bosque aleatorio agregados de árboles de decisión), donde todos 10 los modelos se utilizan para obtener los 10 predicciones para cada nueva muestra y, a continuación, un agregado de predicción (por ejemplo, el voto de la mayoría para la clasificación, el promedio de regresión) se utiliza. Tenga en cuenta que usted validar los modelos de recorrer la totalidad de la validación cruzada para el procedimiento con los nuevos azar se divide.

Aquí hay un enlace a una reciente pregunta ¿qué tal iteraciones son buenas para: estimaciones de la Variación en los grados k-fold cross-validation

También me gustaría saber, es el mismo procedimiento para la otra máquina-métodos de aprendizaje (como ANN, Bosque Aleatorio, etc.)

Sí, puede ser aplicado de manera muy general.

Como optimizar cada uno de los sustitutos de los modelos, recomiendo mirar un poco más cerca los resultados:

  • son el costo óptimo y γ parámetros estable (= igual o similar para todos los modelos)?

  • La diferencia entre el error reportado por la red y la optimización del error de la prueba se observa para el 10% de datos desconocidos también es importante: si la diferencia es grande, los modelos son propensos a ser overfit - especialmente si la optimización de los informes de las tasas de error muy pequeño.

0voto

Sihem Puntos 48

@d.niño - Que no es lo que estoy sugiriendo. Desea al azar dividen los datos en 10 (aproximadamente) de igual tamaño de los conjuntos. Sólo hacerlo una vez. Ahora en la primera iteración, su conjunto de entrenamiento se compone de conjuntos de 2 a 10, mientras que su set de prueba es 1. En la segunda iteración, su conjunto de entrenamiento se compone de conjuntos de 1 y de 3 a 10, mientras que su conjunto de pruebas se encuentra a 2. Esto continúa hasta que haya pasado a través de 10 iteraciones (hasta que he usado cada individuo establece como un conjunto de pruebas). – Max

@Max - creo que tiene su punto.. Así 3 veces validación cruzada, que dividen los datos en 3 sets (digamos X,Y,Z). Tomar X como prueba y el resto (Y+Z) como conjunto de entrenamiento. Para la próxima iteración tomar Y como prueba de y (X+Z) como conjunto de entrenamiento y así sucesivamente... – d.niño

Vi contradicción, según Max, en cada nueva iteración, el conjunto de pruebas que serán incluidos en traningg conjunto y el tamaño del conjunto de entrenamiento tienden a aumentar, (hasta la utilización de todos los conjuntos como conjunto de prueba y de acuerdo d.niño, el tamaño de los conjuntos de entrenamiento todavía constante )

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