Количество параметров в искусственной нейронной сети для АПК

11

Как я могу рассчитать количество параметров в искусственной нейронной сети, чтобы вычислить ее AIC?

Funkwecker
источник
Этот вопрос кажется мне совершенно понятным.
gung - Восстановить Монику
Вы можете использовать команду classifier.summary()из sklearкласса.
Шекхар Шинде

Ответы:

14

Каждое соединение, которое изучается в сети с прямой связью, является параметром. Вот изображение общей сети из Википедии:

введите описание изображения здесь

(3×4)+(4×2)знак равно20

Gung - Восстановить Монику
источник
Соединения могут быть неуникальными (см. Ieeexplore.ieee.org/document/714176 ). Следовательно, это нормально, просто посчитать соединения? Может быть, мы должны различать параметр и гиперпараметр?
Funkwecker
Общее количество соединений составило бы 26, если бы были включены узлы смещения.
agcala
0

Нейронная сеть - это просто функция функций функций ... (как продиктовано архитектурой модели). Если результирующая функция не может быть упрощена, то общее количество параметров (сумма всего количества параметров от каждого узла) в модели - это число, которое вы хотите для расчета AIC.

bonez001
источник
0

Для полностью подключенной сети 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
agcala
источник