Create jupyter notebook file: Intro_NN_XORGATE.ipynb
****Exercise****
# Uncomment the xor_gate line and find out which neurons besides the or_gate neuron the
# network should have in its hidden and output layer to produce the right values.
in[]class Network():
def __init__(self, gate1, gate2, out_gate):
self.hidden_neuron1 = gate1
self.hidden_neuron2 = gate2
self.out_neuron = out_gate
def activate(self, x1, x2):
z1 = self.hidden_neuron1.activate(x1, x2)
z2 = self.hidden_neuron2.activate(x1, x2)
return self.out_neuron.activate(z1, z2)
#xor_gate = Network(…, …, and_gate)
make_truth_table(xor_gate)
****Exercise****
# Finish this version of an XOR gate that more closely resembles a neural network by determining the shapes the #weights and biases need to have.
#W1 = np.array(…)
#b1 = np.array(…)
#W2 = np.array(…)
#b2 = np.array(…)
in[?]hidden_layer = Layer(W1, b1)
output_layer = Layer(W2, b2)
in[]class Network():
def __init__(self, hidden, output):
self.hidden = hidden
self.output = output
def activate(self, X):
z = self.hidden.activate(X)
return self.output.activate(z)
xor_gate = Network(hidden_layer, output_layer)
xor_output = xor_gate.activate(X)
np.round(xor_output)