Liczba parametrów w sztucznej sieci neuronowej dla AIC

11

Jak obliczyć liczbę parametrów w sztucznej sieci neuronowej, aby obliczyć jej AIC?

Funkwecker
źródło
To pytanie wydaje mi się całkowicie jasne.
gung - Przywróć Monikę
Możesz użyć polecenia classifier.summary()z sklearklasy.
Shekhar Shinde

Odpowiedzi:

14

Każde połączenie, które uczy się w sieci feedforward, jest parametrem. Oto obraz ogólnej sieci z Wikipedii:

wprowadź opis zdjęcia tutaj

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

gung - Przywróć Monikę
źródło
Połączenia mogą być nietypowe (patrz ieeexplore.ieee.org/document/714176 ). Czy zatem wystarczy policzyć połączenia? Może powinniśmy rozróżnić parametr od hiperparametr?
Funkwecker
Całkowita liczba połączeń wynosiłaby 26, gdyby uwzględniono węzły stronniczości.
agcala
0

Sieć neuronowa to tylko funkcja funkcji funkcji ... (podyktowana architekturą modelu). Jeśli wynikowej funkcji nie można uprościć, wówczas całkowita liczba parametrów (suma wszystkich parametrów z każdego węzła) w modelu jest liczbą, która ma być obliczona na podstawie AIC.

bonez001
źródło
0

W przypadku w pełni połączonej sieci MLP możesz użyć następującego kodu (Python):

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

to jeśli masz sieć z następującą konfiguracją warstw

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

wystarczy wywołać funkcję za pomocą

total_param([435,166,103,64,15]) 
97208
agcala
źródło