Objetivo: Quero comprovar que uma implementação específica do algoritmo de backpropagation está correta e funciona adequadamente para minimizar o erro em qualquer dataset/problema. Busco uma confirmação sólida de que a implementação segue os passos corretos e se comporta de acordo com os fundamentos do backpropagation.
Pra eu comprovar que uma implantação do algoritmo do backpropagation de redes neurais realmente está funcionando e que o código está correto. Quais passos eu preciso seguir? Pra obter firme certeza?
Comprovar, no meu caso, significa saber se a implementação do backpropagation é capaz de minimizar o erro em qualquer dataset/problema. Ou seja, estou apenas tentando comprovar o algoritmo em si da implementação do backpropagation, para descobrir se ele realmente funciona, se está implementado de forma correta, e se sempre irá funcionar como qualquer outra implementação considerada correta. Quero comprovar se a implementação do backpropagation está seguindo os passos corretos e se comportando corretamente. Em caso afirmativo, teria certeza absoluta de que a implementação está correta.
Eu gostaria muito de ter uma resposta detalhada para ser capaz de comprovar se uma implementação específica do backpropagation está correta ou não, e assim, obter uma certeza sólida de que a implementação vai funcionar em qualquer problema/dataset, sabendo que está correta. Preciso de uma resposta com muitos detalhes, que me dê um norte de como testar, o que procurar, e identificar para alcançar tal confiança de que a implementação está correta.
Detalhamento do Teste
Para facilitar meus testes, gostaria de obter dicas e sugestões de como testar uma implementação específica do backpropagation, usando apenas um único dataset dividido em treino e teste. Quais testes eu poderia fazer no modelo e como fazer, e observações que eu poderia fazer no código, nos resultados, no erro ao longo das épocas, e nos dados do dataset, buscando consistência nos resultados, comportamentos e insights que poderiam comprovar de uma vez por todas que a implementação realmente está correta, segue os passos corretos do backpropagation e seus fundamentos, e que, portanto, seria capaz de resolver qualquer problema que outras implementações também conseguem.
Quero encontrar uma forma de testar essa implementação específica do backpropagation de modo que, se ela passar nesse teste, eu tenha uma certeza sólida de que está correta. Entendem?
PERGUNTAS:
(1) Se eu quero comprovar se a implementação do backpropagation que tenho em mãos está correta, preciso obrigatoriamente testar minha rede neural em vários datasets para só depois conseguir ter certeza?
(2) Ou posso testar bem a implementação com apenas um único dataset e conseguir ter certeza se está correta ou não, apenas com base nos resultados do meu modelo?
(3) Quais comportamentos e características um código do backpropagation, e sua execução, precisam ter/demonstrar para ser considerado correto?
(4) Evitando Resultados por Sorte ou Azar: Nesse teste, como posso me livrar de dúvidas se os resultados estariam sendo mera sorte ou azar? Quais características devo procurar no dataset para provar que os dados são adequados para esse teste, a fim de comprovar se a implementação está correta?
Eu gostaria muito de realizar um único teste bem feito, seguindo critérios rígidos e confiáveis, usando apenas um único dataset, conforme descrito acima, para ser capaz de provar de uma vez por todas que uma implementação do backpropagation está correta ou não.
Por favor, poderiam me ajudar a planejar esse teste? De modo que, assim, eu poderia ter certeza sólida de que a implementação específica do backpropagation está correta, caso ela passe nesse teste?
Existem comportamentos e características que, se uma determinada implementação do backpropagation demonstrar, já estaria provado que está correta?
Por favor, poderiam me orientar como fazer um teste desse tipo que descrevi? Um passo a passo que eu possa seguir, e que, quando terminar, eu possa ter tal certeza?