Redes neuronales¿Qué tan confiables son las redes neuronales? Cuando no configuré la semilla, obtuve resultados diferentes, así que configuré la semilla, pero cuando cambio la semilla de 1234 a 100, también obtengo resultados diferentes. Estoy interesado en la importancia variable que cambia completamente cada vez que ejecuto el modelo. También he intentado aumentar el número de recorridos, pero los cambios de importancia siguen siendo variables. Estoy usando la validación Kfold, 3 para la estructura de capas ocultas, 10 para la cantidad de modelos, 0.1 para la tasa de aprendizaje, las covariables de transformación y el ajuste robusto, el método de penalización al cuadrado y 20 la cantidad de recorridos. RSquare es de alrededor de 0,9 tanto para entrenamiento como para validación.
Gracias,
Shanice Krombeen
Re: Redes NeuronalesAjustar el NN por día significa que dentro de cada subconjunto, cada pliegue es de 12 a 15 observaciones, por lo que la estabilidad de las estimaciones se verá afectada negativamente.
Dicho esto, los principales predictores son generalmente los mismos y exhiben perfiles similares en ambas ejecuciones. Puede eliminar algunos de estos predictores, tal vez hasta la mitad, del modelo con poca pérdida de rendimiento, pero el modelo parsimonioso resultante será más estable en las ejecuciones de NN.
Además, está ajustando un modelo muy complejo. Hay 18 nodos ocultos. ¿Es realmente tan complicada la respuesta? El ajuste excesivo del modelo también afectará la estabilidad de las corridas.
Si la respuesta depende del tiempo como usted dice, entonces tiene más sentido para mí incluir a Day como predictor y usar el conjunto de datos combinado más grande para una mejor estabilidad.
Re: Redes NeuronalesSí, el tamaño de la muestra oscila entre 60 y 91. Las variables son la expresión de diferentes transportadores de nutrientes en la placenta o el endometrio en el día 70, 90 o 110 de gestación. El día es un efecto significativo y es probable que la expresión difiera según el día, por lo que encajo el modelo según el día. Es cierto que los efectos son pequeños, por lo que puede ser por eso que la importancia de las variables cambia mucho. Aquí hay un ejemplo de lo que estoy viendo.
Neural Network Run 1Neural Network Run 1Neural Network Run 1Neural Network Run 1Neural Network Run 1Neural Network Run 1Ejecución de red neuronal 1
Neural Network Run 2Neural Network Run 2Neural Network Run 2Neural Network Run 2Neural Network Run 2Neural Network Run 2 Ejecución de red neuronal 2
Re: Redes NeuronalesEntonces, ¿el tamaño de la muestra oscila entre 60 y 91? Parecen datos suficientes para k-fold CV. Aun así, si los efectos son pequeños, las estimaciones y la importancia de las variables que las acompañan podrían cambiar mucho con cada asignación aleatoria a los conjuntos de entrenamiento y validación. Aquí hay un caso simple basado en el ejemplo de Big Class y un NN que usa la configuración predeterminada, excepto que la validación usa un CV de 5 veces.

(Primera diversión)

(Segunda carrera)
Estas dos ejecuciones usan el mismo conjunto de datos y configuraciones, pero involucran diferentes asignaciones aleatorias a los cinco pliegues. ¿Es esta variabilidad similar a lo que ves?
¿Por qué no incluir Día como predictor y luego el tamaño del conjunto de datos será 209?
Re: Redes NeuronalesHay 209 observaciones en total en el conjunto de datos, pero estoy ajustando el modelo por día. Día 70 = 60, Día 90 = 91 y Día 110 = 58.
Re: Redes Neuronales¿Cuántas observaciones en total tiene en su conjunto de datos?
Re: Redes Neuronales¿Debo simplemente elegir el modelo con el cuadrado R más alto? Cada vez que ajusto el modelo, el R cuadrado siempre es alto (entre .90 y .94), pero la importancia de la variable bajo el perfilador de predicción cambia significativamente.
Re: Redes NeuronalesLas redes neuronales son modelos predictivos fiables. Está utilizando la validación cruzada k-fold, por lo que, por supuesto, cada vez que ajuste el modelo, obtendrá estimaciones y resultados diferentes. El hecho de que obtenga prácticamente el mismo R cuadrado para los conjuntos de entrenamiento y validación es una buena indicación de que el modelo se ajusta bien.
Puede guardar el modelo ajustado como una fórmula de columna. Entonces no tiene que volver a ajustar el modelo y las estimaciones no cambiarán cuando use el modelo.
Re: Redes neuronalesHola marcos,
¡Gracias por tu respuesta! Me ha resultado muy útil para entender el modelo de redes neuronales.
Si no configuro la semilla aleatoria, ¿hay alguna forma de obtener el número de semilla para el modelo NN actual?
Además, ¿hay alguna manera de obtener el número de semilla histórico? Tengo un buen modelo, pero no sé cuál es la semilla y quiero repetir el modelo la próxima vez.
¡Gracias!
Mejor,
Jiaping
Re: Redes neuronalesLa semilla predeterminada es 0 para el primer ajuste. Puede especificar una semilla alternativa en este punto. El ajuste utiliza una serie de números pseudoaleatorios, que cambian la semilla a lo largo del camino. Los ajustes posteriores utilizan la última semilla. No puede especificarla después del primer ajuste.
Si guarda un script para Neural, se captura una semilla especificada por el usuario. Esta acción no se produce si utiliza la semilla predeterminada, pero siempre puede reproducir los ajustes utilizando la predeterminada la próxima vez.
No hay forma de obtener la semilla inicial de un ajuste antiguo.
Re: Redes neuronalesHola marcos,
¡Gracias por tu respuesta!
Cuando establecemos la semilla aleatoria, ¿determinamos la forma de realizar la validación cruzada?
Cuando establezco la semilla aleatoria en 1 y obtengo un modelo, obtengo una opción "ir" en el "inicio del modelo" superior. Después de hacer clic en "ir", se obtiene otro modelo con un R^cuadrado ligeramente diferente. ¿Qué es lo que genera la diferencia del R^2 del modelo en comparación con el anterior cuando hago clic en "Ir"?
Si no especifico la semilla aleatoria y hago clic en "Ir", ¿nos dará diferentes modelos con diferentes semillas aleatorias?
¡Gracias!
Re: Redes neuronalesLa semilla aleatoria determina el inicio de la secuencia de números aleatorios que utiliza el algoritmo de la plataforma. La semilla predeterminada de 0 indica a Neural que no desea determinar la secuencia. Por lo tanto, iniciar Neural más de una vez y ajustar con una semilla predeterminada de 0 no generará resultados reproducibles. Puede cambiar la semilla para reiniciar la secuencia. Si inicia Neural nuevamente y cambia la semilla al mismo valor distinto de cero, obtendrá el mismo ajuste.
Solo puedes configurar la semilla al principio. Para iniciar la misma secuencia utilizando la misma semilla inicial, deberás reiniciar Neural.