1
resposta

Regressão: implemente uma rede neural com numpy - funçao propaga_uma_camada e treino

Olá, tudo bem?

Primeiramente, gostaria de falar que não achei esse curso nos filtros para adicionas as tags e não consegui abrir a dúvida pelo fórum do curso.

Link do meu notebook: https://colab.research.google.com/drive/1AuaAXgQb0enUOai-SnU1jaNSERGJSUYQ?usp=sharing

A dúvida que tenho é sobre estes 2 erros que não consigo resolver de jeito nenhum:

Não consigo somar o b_atual na função propaga_uma_camada e já pesquisei na documentação, já tentei um reshape, mas nada funciona. O que estou fazendo de errado e como conserto? Quando comento '#+ b_atual' consigo rodar o código, mas obviamente não está certo fazer isso porque acredito que estou apenas ignorando o bias. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Em seguida, recebo o mesmo erro quando estou fazendo o treino, e novamente não sei o que está dando errado visto que estou usando um dataset com 3 colunas, modelando no mesmo tamanho que o curso.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Tâmie! Tudo bem com você?

Desculpa a demora em te trazer um retorno.

O curso de redes neurais com numpy foi descontinuado da nossa plataforma devido ao grade tempo que ele está na plataforma sem atualização. No entanto, assim como você eu também tive dificuldades em construir um modelo neural (mesmo que simples) utilizando apenas numpy :/

Observando seu código disponibilizado no link, eu notei que aparentemente você conseguiu solucionar o problema e se você se sentir confortável, incentivo bastante você compartilhar aqui sua solução, pois vai poder ajudar mais pessoas que tenham a mesma dúvida que você.

Além disso, deixo aqui uma sugestão para os próximos códigos, caso você desenvolva novamente uma arquitetural neural apenas com numpy, recomendo fortemente o uso dos métodos de soma (np.sum), multiplicação (np.multiply) e outros cálculos matriciais que a própria biblioteca fornece, bem como, um bom uso do método reshape para sempre ajustar o tamanho do array.

Afirmo isso pois em minhas aplicações tive grandes problemas com os formatos dos arrays, que devido aos cálculos executados sem os métodos da biblioteca e a não estruturação do formato do array, estava obtendo erros de código por conta de diferenças no tamanho de linhas e colunas. Deixo aqui também uma documentação de um projeto de um modelo MLP simples de 1 camada que reproduz o comportamento de uma porta lógica XOR, caso tenha interesse.

Bons estudos!