Comment puis-je calculer le nombre de paramètres dans un réseau neuronal artificiel afin de calculer son AIC?
classifier.summary()
de la sklear
classe.
Comment puis-je calculer le nombre de paramètres dans un réseau neuronal artificiel afin de calculer son AIC?
classifier.summary()
de la sklear
classe.
Réponses:
Chaque connexion apprise dans un réseau à action directe est un paramètre. Voici une image d'un réseau générique de Wikipedia:
Le réseau neuronal n'est qu'une fonction de fonctions de fonctions ... (comme dicté par l'architecture du modèle). Si la fonction résultante ne peut pas être simplifiée, le nombre total de paramètres (somme de tous les paramètres de chaque nœud) dans le modèle est le nombre souhaité pour le calcul AIC.
Pour un réseau MLP entièrement connecté, vous pouvez utiliser le code (Python) suivant:
def total_param(l=[]):
s=0
for i in range(len(l)-1):
s=s+l[i]*l[i+1]+l[i+1]
return s
alors si vous avez un réseau avec la configuration de couche suivante
input: 435
hidden: 166
hidden: 103
hidden: 64
output: 15
vous appelez simplement la fonction avec
total_param([435,166,103,64,15])
97208