Python Code for a Basic Neural Network
Test the code of a basic neural network with some random inputs and see if it's built properly.
We'll cover the following...
Neural network class
Let’s pause to check what the code for the neural network class we’re building up looks like. It should look something like this:
Press + to interact
# neural network class definitionclass neuralNetwork:# initialise the neural networkdef __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):# set number of nodes in each input, hidden, output layerself.inodes = inputnodesself.hnodes = hiddennodesself.onodes = outputnodes# link weight matrices, wih and who# weights inside the arrays are w_i_j, where link is from node i to node j in the next layer# w11 w21# w12 w22 etcself.wih = numpy.random.normal(0.0, pow(self.hnodes, -0.5), (self.hnodes, self.inodes))self.who = numpy.random.normal(0.0, pow(self.onodes, -0.5), (self.onodes, self.hnodes))# learning rateself.lr = learningrate# activation function is the sigmoid functionself.activation_function = lambda x: scipy.special.expit(x)pass# train the neural networkdef train():pass# query the neural networkdef query(self, inputs_list):# convert inputs list to 2d arrayinputs = numpy.array(inputs_list, ndmin=2).T# calculate signals into hidden layerhidden_inputs = numpy.dot(self.wih, inputs)# calculate the signals emerging from hidden layerhidden_outputs = self.activation_function(hidden_inputs)# calculate signals into final output layerfinal_inputs = numpy.dot(self.who, hidden_outputs)# calculate the signals emerging from final output layerfinal_outputs = self.activation_function(final_inputs)return final_outputs
That is just the class. Aside from that, we should be importing the numpy
and scipy.special
modules right at the top of the code in the cell.
Press + to interact
import numpy# scipy.special for the sigmoid function expit()import scipy.special
Note that the query()
function only needs the input_list
. It doesn’t need any other input.
That’s good progress, and now we’ll look at the missing piece, the train()
function. ...