Número de parâmetros em uma rede neural artificial para AIC

11

Como posso calcular o número de parâmetros em uma rede neural artificial para calcular sua AIC?

Funkwecker
fonte
Esta pergunta parece perfeitamente clara para mim.
gung - Restabelece Monica
Você pode usar o comando classifier.summary()da sklearclasse
Shekhar Shinde 23/02

Respostas:

14

Toda conexão aprendida em uma rede de feedforward é um parâmetro. Aqui está uma imagem de uma rede genérica da Wikipedia:

insira a descrição da imagem aqui

Essa rede está totalmente conectada, embora as redes não precisem estar (por exemplo, projetar uma rede com campos receptivos melhora a detecção de bordas nas imagens). Com uma RNA totalmente conectada, o número de conexões é simplesmente a soma do produto do número de nós nas camadas conectadas. Na imagem acima, isto é . Essa imagem não mostra nenhum nó de viés, mas muitas RNAs os possuem; Nesse caso, inclua o nó de polarização no total dessa camada. De maneira mais geral (por exemplo, se o seu RNA não estiver totalmente conectado), você pode simplesmente contar as conexões. (3×4)+(4×2)=20

- Reinstate Monica
fonte
As conexões podem ser não exclusivas (consulte ieeexplore.ieee.org/document/714176 ). Portanto, não há problema em simplesmente contar as conexões? Talvez devêssemos distinguir entre parâmetro e hiperparâmetro?
Funkwecker 24/07/19
O número total de conexões seria 26 se nós de viés fossem incluídos.
agcala 9/01
0

A rede neural é apenas uma função das funções das funções ... (como ditado pela arquitetura do modelo). Se a função resultante não puder ser simplificada, o número total de parâmetros (soma de todo o número de parâmetros de cada nó) no modelo é o número desejado para o cálculo da AIC.

bonez001
fonte
0

Para uma rede totalmente conectada ao MLP, você pode usar o seguinte código (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

se você tiver uma rede com a seguinte configuração de camada

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

você acabou de chamar a função com

total_param([435,166,103,64,15]) 
97208
agcala
fonte