Developing a code for doing neural networks with back propagation

One can identify a set of key steps when using neural networks to solve supervised learning problems:

  1. Collect and pre-process data
  2. Define model and architecture
  3. Choose cost function and optimizer
  4. Train the model
  5. Evaluate model performance on test data
  6. Adjust hyperparameters (if necessary, network architecture)