Como posso calcular o número de parâmetros em uma rede neural artificial para calcular sua AIC?
neural-networks
aic
Funkwecker
fonte
fonte
classifier.summary()
dasklear
classeRespostas:
Toda conexão aprendida em uma rede de feedforward é um parâmetro. Aqui está uma imagem de uma rede genérica da Wikipedia:
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
fonte
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.
fonte
Para uma rede totalmente conectada ao MLP, você pode usar o seguinte código (Python):
se você tiver uma rede com a seguinte configuração de camada
você acabou de chamar a função com
fonte