Machine Learning Paper Checklist
- Collect training data
- Categorize and parse training data for machine learning
- Build program that parses APBNRR output data, categorizes it via human input, and constructs a CSV file for training, evaluation, or prediction
- Research neural network architectures
- Build neural network model with Keras and Tensorflow
- Train model with training data from up to 27 cases
- Evaluate the model with evaluation data from up to 3 cases
- Finalize paper
Feed-Forward Neural Network Architecture Construction Methods
Number of Neurons in Hidden Layers
- Trial and Error
- The simplest method, where a different number of neurons in each hidden layer is tried successively to reach a lower error rate. There are two main ways of going about doing this:
- Forward Approach: Start with few neurons in each layer and progressively add more until a desirable error rate has been achieved.
- Backward Approach: Start with many neurons in each layer, and progressively remove neurons until a desirable error rate has been achieved.
- Rules of Thumb
- There are three main rules of thumb for choosing the number of neurons in a hidden layer:
- The number of hidden neurons should be between the size of the input layer and the size of the output layer.
- The number of hidden neurons should be 2/3 the size of the input layer, plus the size of the output layer.
- The number of hidden neurons should be less than twice the size of the input layer.
- Pruning and Constructive Methods
- Pruning and constructive methods include several automatic algorithms for optimizing the size and speed of a neural network. These methods typically work by incrementally removing the least effective neurons. There are several pruning algorithms, and some of the more well-known are:
- Optimal Brain Damage: Works by incrementally removing the neuron that causes the least decrease of training error.
- Optimal Brain Surgeon: An improved version of Optimal Brain Damage. Works by incrementally removing the neuron that causes the least decrease of training error.
- Grid Search
- Brute force different number of neurons. Not practical for many real world problems.
- Neuroevolution and Genetic Algorithms
- Utilize evolutionary and genetic algorithms that can generate or optimize a neural network's topology and parameters. These are relatively newer than the previous ones.