


Neuron Network Builder


MAIN PAGE
jNeuron_V provides an example of a simple neuron network using a dataset of lottery numbers. The user is exposed to a single layer one node - one input network and a two node - two input network using that dataset. After observing the network operation, the user can proceed to build a network with upto five nodes and five inputs using their own dataset. The application also provides several methods for generating a lottery number sequence that uses the incorporated dataset that represents data compiled from 2002.
The opening page information button gives a concise overview of the app. From this page the user can transition to the app menu by selecting the hamburger button in the top left corner.
MAIN PAGE
The menu of available functions are provided on the menu page by selecting the hamburger icon in the top left corner of the applications Main Page.
The user can choose to observe the network operation by selecting the One Layer - One Node or One Layer - Two Node page. From these pages the user can single step or run the entire dataset through the network.
The Build Neuron page allows the user to build a network by selecting upto five nodes and five inputs. The network will use the dataset entered by the user.
The NumberPicker page provides several methods for the user to generate their own sequence of numbers for the Mega Million lottery. The generator uses a dataset compiled from 2002 of drawn numbers and is continually updated.


SINGLE LAYER - ONE NODE PAGE
The neural network incorporated in this application is a regression network that uses a node consisting of a linear data input that generates a non linear output (Sigmod function). A single input (integer) with applied weight is passed to the sigmod function with a n added bias to produce an output which applies a further bias to generate a predicted ouput value (integer). This represents the forward progression through a neural network.
The network then applies Stochastic Gradient Descent to update the weights and bias used for the next forward progression through the network. This represents the back progression starting from the predicted output and the actual output of the dataset for the given input. This represents the cost function for the network and this change or difference is then applied through partial derivatives and the chain rule backward to calculate the change in the weights and biases to bring the difference in the cost function toward zero. This process is referred to as Stochastic Gradient Descent.
The user can choose to observe this process by selecting the Forward button which will select the first data item in the dataset for the input and it's corresponding output. In the case of this simple network the output is actualy the second number in the drawing sequence so that in effect the network is trying to predict that number. The weights and bias were pre-selected and will be displayed along with the input value and the generated values. The cost function or difference between what was predicted by the network and the actual value is also shown.
When the user selects the Back button, the weights and biases will be updated according to the calculations performed for the Stochastic Gradient Descent.
The user can proceed by single stepping (pressing the Forward button followed by the Back button) or can run through the entire dataset by selecting the Run button which will effectively sequence through each item in the dataset sequentially in a forward progression followed by a backward progression.
Note that the output of this network is meaningless and is only intended to show the operation of the network.
SINGLE LAYER - TWO NODE PAGE
The Two Node neural network works in the same fashion as the One Node networl. Two inputs fron the dataset are used which are each passed to the two nodes. The node input now becomes a summation of those inputs which are then passed to the Sigmod function. The output of each node is then summed in the output along with it's bias to generate the predicted value.
The network then applies Stochastic Gradient Descent to update the weights and bias used for the next forward progression through the network. This represents the back progression starting from the predicted output and the actual output of the dataset for the given input. This represents the cost function for the network and this change or difference is then applied through partial derivatives and the chain rule backward to calculate the change in the weights and biases to bring the difference in the cost function toward zero. This process is referred to as Stochastic Gradient Descent.
The user can choose to observe this process by selecting the Forward button which will select the first data item in the dataset for the input and it's corresponding output. In the case of this simple network the output is actualy the second number in the drawing sequence so that in effect the network is trying to predict that number. The weights and bias were pre-selected and will be displayed along with the input value and the generated values. The cost function or difference between what was predicted by the network and the actual value is also shown.
When the user selects the Back button, the weights and biases will be updated according to the calculations performed for the Stochastic Gradient Descent.
The user can proceed by single stepping (pressing the Forward button followed by the Back button) or can run through the entire dataset by selecting the Run button which will effectively sequence through each item in the dataset sequentially in a forward progression followed by a backward progression.
Note that the output of this network is meaningless and is only intended to show the operation of the network.





BUILD NEURON PAGE
The Build Neuron page allows the user to build their own neural network. The neural network will function in the same manner as described for the One Node and Two Node page descriptions. To build the network the user simply clicks on the input or node to be applied to the network. When successful upon clicking on an input or node the user will be presented with a message to indicate that the input or node is now part of the network. However, once a node or input is selected it can not be deselected. To correct the user would have to leave and then re-enter the Build Neuron Page.
The user will also be allowed to use their own dataset for the network. The constraint on the dataset is that the input and output values can only be integers and consist of five inputs and one output. To assist the user, an empty SQLite database is generated and at the pathway shown in the block beneath the network on the page. The user can then use the DBrowser app provided by the SQLite forum to enter the data manually or import from and Excel file. Note that the user only needs to enter the number of input values for the network built.
The user can also enter the dataset manually on this page. Each data item will be entered by selecting the ENTER button. Note that any data entered into the dataset will remain even after the app is closed. The dataset can be removed by deleting the "builddb" file in the folder at the pathway displayed on the page.
The user can choose to observe this process by selecting the Forward button which will select the first data item in the dataset for the input and it's corresponding output. The weights and bias are pre-selected and will be displayed along with the input values and all generated values. The cost function or difference between what was predicted by the network and the actual value is also shown.
When the user selects the Back button, the weights and biases will be updated according to the calculations performed for the Stochastic Gradient Descent.
The user can proceed by single stepping (pressing the Forward button followed by the Back button) or can run through the entire user dataset by selecting the Run button which will effectively sequence through each item in the dataset sequentially in a forward progression followed by a backward progression.
The user can also observe a response for a data item input against the dataset once it has been RUN through an epoch (propagating through the entire user entered dataset).

NUMBERS GENERATOR PAGE
The Numbers Generator page provides several methods for generating a lottery number sequence that uses the incorporated dataset that represents data compiled from 2002. Each item in the dataset represents the five number draw from lowest to highest number value drawn.
The User Number Selection allows the user to select each number in a sequence. When a selection button is pressed the user will be presented with a list of numbers in a descending fashion based on the frequency of that number being selected in the drawing. Once the user has made all five selections, the sequence can be checked for a previous selection made and will be presented with a message display accordingly. When that message is closed the user can select the Reset button to generate another sequence.
The Predictive Probability Algorithm Selection allows the user to select a sequence similar to the User Number Selection. The difference is in the numbers displayed in the list for each selection. The constraint is that the user must select the numbers in order of the sequence from 1st to 5th. When the user makes a selection for the 1st number, any of the numbers equal to or lower will be removed from the 2nd selection list. This process will continue until all five numbers are selected. Once the user has made all five selections, the sequence can be checked for a previous selection made and will be presented with a message display accordingly. When that message is closed the user can select the Reset button to generate another sequence.
The Most Likely Selection allows the user to enter a starting number and then provides a selection of most likely numbers, when the NEXT button is clicked, that would be associated if that number were picked as the lowest number in a sequence. When the user selects one of the selections the NEXT button will move to the right to be associated with the next number to be selected. The user will again be provided with a selection of most likely numbers associated with the previous number selection. The process will continue until all five numbers are selected after which the user can check to see if that sequence was previously selected. After checking the user can reset the selections to try another sequence.
The remaining five selections determine a sequence through logic in the application by selection the appropriate button. The Random selection will generate a random sequence each time the button is pressed.
The Mean button will generate a sequence based on the mean value for each number in the frequency list for that selection. The Medium button will generate a sequence based on the middle value in the frequency list for that selection. The SD Plus and SD Minus will generate a sequence based on the selected number in the frequency list being either one standard deviation above or below the mean value in the frequency lsist for that selection. Pressing the button again will not generate a new sequence.


EXTENDED NETWORK BYILDER
The Extended Network Build page alllows for as more flexible neural network build then the Neural Network Build page. It provides building up to a four node network with upto eight unique inputs. The user can set the bias and output weight for each node as well as the weights for each input.
The user enables the node by clicking on the node button which will turn it's color from blue to red. After the user has set the weights and biases they can choose to say the entries for future use. All that is required when re-starting the app is to select the APPLY gutton and then select the nodes. The user can also choose to remove the saved biases and wights by selecting the CLEAT gutton.
As with the Neural Network Build page, the user is provided with the path to the folder where the user's dataset chould be stored. The application will create the database (ExtBuildDB.db) for the user which can then be exited by entering data manually or by importing a CSV file with the user's dataset. Note that with this version of the app the user must include a numerical Id starting at one and increasing for each set of data entered. Each set of data entered must also include eight inputs and one result field.
Once a dataset has been entered, the user can proceed to step through their data or run the entire dataset. The resukt of weight and cias updates with each run will be dusplayed in the user entry fiekds. If desired, the user can save the wieghts and biases by clearing the saved data first.
As with the weights and biases, the user can set the learning rate to apply to all nodes activated along with the output weight for the network.
Once the user has run one epoch through their data, they can then test the network response by entering a set of data and clicking the RESPONSE button. The current version does not have a clear function for the data entered and does not perform a back progression to sllow another data run.
