Neural-Network
A Basic ANN implementation using Python, Numpy, and the NetworkX graph library. Currently it exclusively uses a genetic algorithm to train, but that will change in the future.
Usage
It's essentially just a reimplementation of a generic neural network for ML that can employ the use of a Genetic Algorithm and Monte-Carlo Markov Chains (MCMC), though more methods may be available in the future. The program has some options for configury, but for the most part they are coded directly in so, in order to use them, you need to go and change some variable in the script itself.
Configuration:
- You can change the
num_hidden_layers
,layer_size
,input_shape
, andoutput_shape
through parameters in the constructor of the Network class. - You can change the
generation_size
,num_generations
,filter_size
(Parameters of the genetic algorithm) in the section labeled 'Configuring training' ofmain.py
. - You can change up the data itself in the area of
main.py
labeled 'Loading in Dataset' (will likely automate process soon).
Scripts + Analytics:
- The
main.py
script will train and store the model to a file. - The
Draw_network.py
script will write a visual graph-based representation of the model into a .png file. - The
Display_metrics
script will display the time complexity, and plot some graphs to show the models performance.