O intuito é criar um Perceptron em JS que classifique caracteres manuscritos do Dataset MNIST.
features.csv
: Cada linha representa uma imagem em tons de cinza com dimensão de 8x8 pixels, totalizando 64 características.
labels.csv
: Contém as classes das imagens contidas no features.csv
, de 0 a 9, correspondendo ao digito representado.
Execute npm install
para instalar as dependências.
Abra o arquivo exercise.js
e preencha os trechos indicados por comentários, começando pelo PASSO 1.
Após preencher, execute usando node exercise.js
e veja o resultado no console.
Dica: Observe o Delta no console. Ele deverá diminuir a cada iteração, indicando que o aprendizado está convergindo.
Se você fizer corretamente, o programa irá imprimir algo parecido com Score on test data: 99.27%
.
A sua função de calcular gradiente não está retornando um gradiente numérico válido.
É comum o Delta crescer em algumas iterações, mas se ele está subindo a quase toda iteração, o seu cálculo do gradiente deve estar errado.
Tudo bem, você pode conferir a versão resolvida no arquivo answer.js