Bagaimana saya bisa menghitung jumlah parameter dalam jaringan saraf tiruan untuk menghitung AIC-nya?
classifier.summary()
dari sklear
kelas.
Bagaimana saya bisa menghitung jumlah parameter dalam jaringan saraf tiruan untuk menghitung AIC-nya?
classifier.summary()
dari sklear
kelas.
Jawaban:
Setiap koneksi yang dipelajari dalam jaringan feedforward adalah parameter. Berikut ini gambar jaringan generik dari Wikipedia:
Jaringan ini terhubung sepenuhnya, meskipun jaringan tidak harus (misalnya, merancang jaringan dengan bidang reseptif meningkatkan deteksi tepi dalam gambar). Dengan JST yang terhubung penuh, jumlah koneksi hanyalah jumlah produk dari jumlah node dalam lapisan yang terhubung. Pada gambar di atas, yaitu . Gambar itu tidak menunjukkan node bias, tetapi banyak JST yang memilikinya; jika demikian, sertakan simpul bias dalam total untuk lapisan itu. Lebih umum (misalnya, jika JST Anda tidak terhubung sepenuhnya), Anda dapat menghitung koneksi.
Jaringan saraf hanyalah fungsi dari fungsi fungsi ... (sebagaimana ditentukan oleh arsitektur model). Jika fungsi yang dihasilkan tidak dapat disederhanakan maka jumlah total parameter (jumlah semua jumlah parameter dari setiap node) dalam model adalah jumlah yang Anda inginkan untuk perhitungan AIC.
Untuk jaringan MLP yang terhubung sepenuhnya, Anda dapat menggunakan kode (Python) berikut:
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
maka jika Anda memiliki jaringan dengan konfigurasi lapisan berikut
input: 435
hidden: 166
hidden: 103
hidden: 64
output: 15
Anda cukup memanggil fungsi dengan
total_param([435,166,103,64,15])
97208