¿Cómo puedo calcular el número de parámetros en una red neuronal artificial para calcular su AIC?
neural-networks
aic
Julian
fuente
fuente
classifier.summary()
de lasklear
clase.Respuestas:
Cada conexión que se aprende en una red feedforward es un parámetro. Aquí hay una imagen de una red genérica de Wikipedia:
Esta red está completamente conectada, aunque las redes no tienen que estarlo (por ejemplo, diseñar una red con campos receptivos mejora la detección de bordes en las imágenes). Con un ANN completamente conectado, el número de conexiones es simplemente la suma del producto del número de nodos en las capas conectadas. En la imagen de arriba, es decir . Esa imagen no muestra ningún nodo de sesgo, pero muchos ANN los tienen; si es así, incluya el nodo de sesgo en el total de esa capa. De manera más general (por ejemplo, si su ANN no está completamente conectada), simplemente puede contar las conexiones.(3×4)+(4×2)=20
fuente
La red neuronal es solo una función de funciones de funciones ... (según lo dictado por la arquitectura del modelo). Si la función resultante no se puede simplificar, el número total de parámetros (suma de todos los parámetros de cada nodo) en el modelo es el número que desea para el cálculo de AIC.
fuente
Para una red MLP totalmente conectada , puede usar el siguiente código (Python):
entonces si tiene una red con la siguiente configuración de capa
simplemente llama a la función con
fuente