Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoProblema: ¿Por qué mis conjuntos de validación funcionaron mejor que los conjuntos de entrenamiento?
Datos: 200 puntos de datos; 90% para formación y 10% para validación
Estadístico:
1. hacer columna de validación
Hacer columna de validación (
Conjunto de entrenamiento (0.90),
Conjunto de validación (0.10),
Conjunto de prueba (0.00),
fórmula aleatoria);
2. redes neuronales:
una capa oculta, 3 nodos TanH
Impulso: número de modelos (10), tasa de aprendizaje (0.1)
Opciones de montaje: Número de recorridos ( 10 )
3. los pasos anteriores se repitieron 1000 veces
4. calcular la media de los cuadrados R para conjuntos de entrenamiento y conjuntos de validación
Descripción de los problemas:
El R cuadrado medio para los conjuntos de validación fue mucho mayor que el de los conjuntos de entrenamiento. ¿Por qué sucedería eso? Incluso lo intentamos sin un método de penalización, los conjuntos de validación aún funcionaron mejor que el entrenamiento.
¿Cómo optimiza JMP los parámetros de estimación para los conjuntos de validación?
¿Por qué este no es el caso si usamos bosques de arranque? es decir, para los bosques de arranque, los conjuntos de entrenamiento funcionaron mejor que los conjuntos de validación.
Gracias.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamiento¡No estás molestando a nadie aquí! ¡Preguntas como la suya son una de las principales razones para tener el área de Discusiones en la Comunidad JMP! Por otro lado, algunas discusiones pueden estar más allá del alcance o la capacidad de este formato.
NOTA: estamos discutiendo modelos predictivos , no modelos explicativos . Como tal, solo nos importa la capacidad del modelo para predecir el futuro. El futuro no está disponible mientras capacitación el modelo y seleccionando un modelo.
La validación cruzada de cualquier tipo no es el resultado de una teoría. Es una solución al problema de cómo realizar una evaluación honesta del rendimiento de los modelos antes y después de seleccionar un modelo. El enfoque del conjunto de retención se desarrolló primero para casos de grandes conjuntos de datos. La inferencia no es útil para la selección de modelos en tales casos. El futuro no está disponible. ¿Qué hacer? Apartar, u ocultar, una parte de los datos ( validación ). Estos datos no están disponibles para el procedimiento de entrenamiento. Luego, aplique el modelo ajustado al conjunto reservado para obtener predicciones del modelo. ¿Cómo le fue a la modelo? ¿Cómo hacen otros modelos?
Dado que los datos de validación se utilizaron para seleccionar el modelo, algunos modeladores ofrecen una tercera parte ( prueba ) para evaluar el modelo seleccionado.
La validación cruzada es una muy buena solución, pero se basa en el gran tamaño del conjunto original de observaciones. ¿Qué hacer cuando el tamaño de la muestra es pequeño? El enfoque K-fold fue desarrollado específicamente para tales casos. Algunos modeladores lo llevan al extremo y ajustan K al tamaño de la muestra. Esta versión se conoce como ' dejar uno fuera .' Funciona mejor que mantener conjuntos en tales casos porque está utilizando los datos de manera más eficiente.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoEstimado Sr. Bailey,
Como se recomendó, utilicé la validación cruzada de k-fold con redes neuronales y regresión paso a paso (ingrese todo). Escribí un bucle y ejecuté cada análisis 100 veces. Los resultados muestran que los cuadrados R medios para los conjuntos de validación no son más altos que los de los conjuntos de entrenamiento.
Ahora me pregunto por qué la validación cruzada K-fold funciona mejor con tamaños de muestra pequeños y por qué la validación de retención con redes neuronales obtendrá un resultado incómodo, es decir, los conjuntos de validación obtienen R cuadrados medios más altos. ¿Cuál es la razón teórica o matemática?
Gracias.Perdón por molestarte de nuevo.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoJMP Pro ofrece k-fold para el análisis de regresión en la plataforma Stepwise. Se utiliza para determinar qué términos conservar en el modelo. De la documentación de JMP:
Validación cruzada de K-Fold (Disponible solo para respuestas continuas). Realiza la validación cruzada de K-Fold en el proceso de selección. Cuando se selecciona, esta opción habilita la regla de parada Max K-Fold RSquare ("Panel de control de regresión por pasos" en la página 250). Para más
información sobre la validación, consulte “Uso de la validación” en la página 275.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoNo, la plataforma Fit Least Squares en JMP no proporciona ninguna validación cruzada. La plataforma de regresión generalizada en JMP Pro, que incluye el modelo de regresión lineal estándar, proporciona validación cruzada de retención en el cuadro de diálogo de inicio y validación cruzada de K-fold como una opción de validación de plataforma.
Podría considerar usar AICc para la selección de modelos en lugar de la validación cruzada debido al pequeño tamaño de la muestra.
También puede considerar el uso de software de código abierto si le proporciona la flexibilidad que necesita. Puede conectarse a R o Python, por ejemplo, con JMP y trabajar con ambos software.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoEstimado Sr. Bailey,
Gracias. Tengo una pregunta más: ¿podemos usar la validación cruzada de K-fold con la regresión estándar de mínimos cuadrados en JMP?
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoGracias. Sí, solo encontré los scripts a continuación. Pero no pude combinarlo con el modelo bootstrap forest.
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << K Fold Crossvalidation( 5 );
obj << Go;
Muchas gracias por tu ayuda.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoNo puede usar la validación cruzada de K-fold con la selección del modelo Bootstrap Forest en JMP. Solo puede usar conjuntos reservados.
Recuerde que la mayoría de los tipos de modelos predictivos están destinados a grandes conjuntos de datos. En su caso, también podría hacerlo con una regresión múltiple si los datos cumplen con los supuestos del modelo.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoGracias por tus sugerencias. Probamos k-fold, y funciona mejor en nuestro caso. Sin embargo, surgen nuevos problemas: ¿cómo podríamos hacer una validación cruzada de k-fold para bosques de arranque?
Gracias.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoGracias por las sugerencias. Sí, 1000 iteraciones significan que tenemos 1000 divisiones aleatorias del conjunto de datos. Y es cierto que los R cuadrados de los conjuntos de validación no siempre son mayores que los conjuntos de entrenamiento (ver la figura). Pero la media de los cuadrados R de los conjuntos de validación siempre es mayor que la de los conjuntos de entrenamiento para todos nuestros parámetros de respuesta. Estoy haciendo los análisis con k-fold ahora. Veamos qué pasaría.
Como mencionó el Sr. Bailey:
"El conjunto de entrenamiento se utiliza para estimar los parámetros del modelo. El conjunto de validación se utiliza para seleccionar entre los modelos candidatos. El conjunto de prueba se utiliza para evaluar el modelo seleccionado".
Tengo dos preguntas relacionadas con las oraciones anteriores:
- En el proceso de formación, ¿cuántos candidatos se prepararían? ¿Cómo calculan los candidatos? ¿Se decide por el impulso: "ajustar una secuencia aditiva de modelos escalados por la tasa de aprendizaje"?
- ¿Cómo elige el software al mejor candidato? ¿Cuál es el criterio para el mejor candidato? ¿Es el candidato que da el mejor R Square para los conjuntos de validación?
En cuanto al k-fold, también tengo dos preguntas:
- Si tenemos 200 puntos de datos y usamos una división de 90%/10% para el conjunto de entrenamiento y validación (sin superposición), probablemente obtendremos un conjunto de entrenamiento de 180 puntos de datos y un conjunto de validación de 20 puntos de datos. Esto es lo mismo si usamos un método de validación de 10 veces. ¿Está bien? ¿Cuál es la diferencia entre la validación k-fold y la validación 90%/10%?
- En la validación cruzada de K-fold, nuevamente, ¿cuál es el criterio para el mejor candidato? ¿Cómo podría encontrar el modelo optimizado? ¿Es el mismo método que para la validación del 90%/10%?
En el manual, leo “Cuando se usa la validación cruzada de K-fold, el procedimiento descrito se aplica a cada una de las particiones de retención de entrenamiento K de los datos para cada valor de prueba del parámetro de penalización. Después de que el modelo se haya ajustado a todos los pliegues, la probabilidad del conjunto de validación es resumido a través de los pliegues usando cada una de las estimaciones de parámetros de los pliegues individuales. Este es el valor que se optimiza en la selección del parámetro de penalización. El pliegue cuyas estimaciones de parámetros dan el mejor valor en el conjunto de datos completo son las estimaciones de parámetros que la plataforma conserva y utiliza. El par de entrenamiento-retención que condujo al mejor modelo es el par cuyo modelo de diagnóstico se proporciona en el informe”. ¿Significa esto que el modelo que tiene la mayor probabilidad sumada ¿es la mejor?
Gracias de nuevo.

Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoNo estoy seguro pero creo que el reclamo no es de superioridad. Se basa en la diferencia en el R cuadrado medio entre los conjuntos de entrenamiento y validación. De hecho, uno no puede ser superior porque las distribuciones de muestreo se superponen. Usando una distribución normal para aproximar la distribución de muestreo de R cuadrado, obtengo estos dos gráficos de la PDF normal usando los valores de los parámetros de distribución indicados:

NOTA: Sé que R cuadrado no se distribuye normalmente debido a sus límites [0,1] pero este caso está lo suficientemente lejos de ambos límites para que la aproximación funcione lo suficientemente bien.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoSi entiendo su descripción, entonces estoy un poco desconcertado.Por 1000 iteraciones, ¿quiere decir que ejecutó la red neuronal en 1000 divisiones aleatorias del conjunto de datos?Si es así, creo que es extraño si cada una de esas divisiones dio como resultado un mejor rendimiento en los datos de validación que en los datos de entrenamiento.Mis preocupaciones sobre el tamaño de la muestra y la cantidad de características explicarían una cantidad (incluso muchas) de las iteraciones que se comportan de esa manera, pero probablemente no todas las 1000. Si lo entiendo correctamente, entonces puede ser algo particular para sus datos y el características particulares que tiene.Si está dispuesto a publicar los datos, podría ayudar más, pero creo que esto agota mis pensamientos en función de lo que ha dicho, a menos que no entienda lo que ha hecho.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoGracias por tus sugerencias. Tenemos siete características para usar como predictores. Y en algunos casos el Std no es mayor para los conjuntos de validación: R2train medio = .56, SDtrain = .11; media R2val = .70, SDval = .11.
Y también probamos con doce predictores. Los patrones de nuestros resultados son los mismos: los cuadrados R medios de los conjuntos de validación de 1000 iteraciones siempre fueron mayores que los de los conjuntos de entrenamiento.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoEl conjunto de entrenamiento se usa para estimar los parámetros del modelo. El conjunto de validación se usa para seleccionar entre los modelos candidatos. El conjunto de prueba se utiliza para evaluar el modelo seleccionado.
estoy de acuerdo con @dale_lehman que su conjunto de datos es demasiado pequeño para usar el método de validación cruzada de exclusión. Recomiendo la validación cruzada K-fold.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamiento¿Cuántas funciones tienes?Todavía sospecho del pequeño tamaño de la muestra.Tenga en cuenta que tanto el R-cuadrado como la desviación estándar son más grandes para los datos de validación.Creo que, si tiene suficientes características, puede obtener un buen "ajuste" al conjunto de validación relativamente pequeño (incluso con una división del 30%) que no se transferirá a los datos de prueba.Quizás mbailey pueda arrojar algo de luz sobre esto, pero mi impresión es que los datos de validación se usan para ajustar la red neuronal, por lo que no son lo mismo que los datos de prueba que no se usan en absoluto en el proceso de modelado.Entonces, con pocos puntos de datos y suficientes funciones, puede ajustar muy bien los datos de validación, pero con un rendimiento deficiente en los datos de prueba.
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoGracias. Para explicar mejor mi estudio:
Para cada iteración, utilicé una nueva división en el conjunto de entrenamiento y validación.
Estos son los resultados para el entrenamiento y la validación: media R2tren = .58, Tren SD = .09; significar R2val = .71, SDval = .12
El parámetro de respuesta es una variable continua.
El patrón es el mismo para una división del 70 %/30 %.Entonces, realmente no entendí lo que sucede en la validación. ¿Debería haber algo más que probar el modelo?
Por ejemplo, cuando uso un procedimiento de 3 pasos (entrenamiento, validación y prueba), el R cuadrado medio para los conjuntos de validación es nuevamente más alto que para el entrenamiento, mientras que hay un menú desplegable para la prueba. Entonces, ¿cuál es la diferencia entre prueba y validación?
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoOlvidé mencionar que la validación cruzada K-fold es específicamente para casos con tamaños de muestra pequeños. ¿Probó este método en lugar de un conjunto de retención de validación?
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoPor favor, confirme mi comprensión de su estudio. ¿Reasignó filas a los conjuntos de entrenamiento y validación antes de cada uno de los 1000 eventos de entrenamiento?
JMP no optimiza el entrenamiento para el conjunto de espera de validación. Solo evalúa el conjunto de retención de validación después de que se completa el entrenamiento.
¿Cuál es la media y la desviación estándar de las estadísticas de muestra R cuadrada para los conjuntos de entrenamiento y validación?
¿Cuál es la naturaleza de la respuesta? ¿Es continuo? ¿Es categórico? Si es así, ¿cuántos niveles en la respuesta?
Re: Los conjuntos de validación de redes neuronales obtienen ajustes de modelo más altos que los conjuntos de entrenamientoTiene razón en que este no es un resultado típico, aunque puede suceder y sucede.Sospecho, en este caso, que es predominantemente el resultado de su separación inicial.Un conjunto de validación del 10 %, particularmente con un número tan pequeño de observaciones, significa que los resultados de validación son para un modelo aplicado a un número muy pequeño de puntos de datos.Las redes neuronales pueden agravar el problema, pero incluso un modelo OLS hará un buen trabajo al ajustar 20 puntos de datos.Creo que si cambia la división de entrenamiento/validación a 70%/30% (y particularmente si también tiene más datos) esta anomalía desaparecerá.