Anzahl der Parameter in einem künstlichen neuronalen Netzwerk für AIC

11

Wie kann ich die Anzahl der Parameter in einem künstlichen neuronalen Netzwerk berechnen, um dessen AIC zu berechnen?

julianisch
quelle
Diese Frage scheint mir völlig klar zu sein.
Gung - Reinstate Monica
Sie können den Befehl classifier.summary()from sklearclass verwenden.
Shekhar Shinde

Antworten:

14

Jede Verbindung, die in einem Feedforward-Netzwerk gelernt wird, ist ein Parameter. Hier ist ein Bild eines generischen Netzwerks aus Wikipedia:

Geben Sie hier die Bildbeschreibung ein

(3×4)+(4×2)=20

gung - Monica wieder einsetzen
quelle
Verbindungen können nicht eindeutig sein (siehe ieeexplore.ieee.org/document/714176 ). Ist es daher in Ordnung, einfach die Verbindungen zu zählen? Vielleicht sollten wir zwischen Parameter und Hyperparameter unterscheiden?
Julian
Die Gesamtzahl der Verbindungen wäre 26, wenn Bias-Knoten enthalten wären.
Agcala
0

Das neuronale Netz ist nur eine Funktion von Funktionen von Funktionen ... (wie durch die Architektur des Modells vorgegeben). Wenn die resultierende Funktion nicht vereinfacht werden kann, ist die Gesamtzahl der Parameter (Summe aller Parameter von jedem Knoten) im Modell die Anzahl, die Sie für die AIC-Berechnung benötigen.

Bonez001
quelle
0

Für ein vollständig verbundenes MLP-Netzwerk können Sie den folgenden (Python-) Code verwenden:

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

dann, wenn Sie ein Netzwerk mit der folgenden Schichtkonfiguration haben

input:  435
hidden: 166 
hidden: 103 
hidden:  64
output:  15

Sie rufen einfach die Funktion mit auf

total_param([435,166,103,64,15]) 
97208
Agcala
quelle