Як можна обчислити кількість параметрів у штучній нейронній мережі, щоб обчислити її AIC?
classifier.summary()
з sklear
класу.
Як можна обчислити кількість параметрів у штучній нейронній мережі, щоб обчислити її AIC?
classifier.summary()
з sklear
класу.
Відповіді:
Кожне з'єднання, яке вивчається у мережі подачі, є параметром. Ось зображення родової мережі з Вікіпедії:
Ця мережа повністю пов'язана, хоча мереж не повинно бути (наприклад, проектування мережі із сприйнятливими полями покращує виявлення краю в зображеннях). При повністю з'єднаній ANN кількість з'єднань - це просто сума добутку чисел вузлів у з'єднаних шарах. На зображенні вище, тобто . На цьому зображенні немає жодних упереджених вузлів, але багато ANN мають їх; якщо це так, включіть вузол зміщення в загальний для цього шару. Більш загально (наприклад, якщо ваш ANN не повністю підключений), ви можете просто порахувати з'єднання.
Для повністю підключеної мережі MLP ви можете використовувати наступний (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
то якщо у вас є мережа з конфігурацією наступного рівня
input: 435
hidden: 166
hidden: 103
hidden: 64
output: 15
ви просто викликаєте функцію за допомогою
total_param([435,166,103,64,15])
97208