07. OR & NOT Perceptron Quiz
OR Perceptron
The OR perceptron is very similar to an AND perceptron. In the image below, the OR perceptron has the same line as the AND perceptron, except the line is shifted down. What can you do to the weights and/or bias to achieve this? Use the following AND perceptron to create an OR Perceptron.

SOLUTION:
- Increase the weights
- Decrease the magnitude of the bias
NOT Perceptron
Unlike the other perceptrons we looked at, the NOT operations only cares about one input. The operation returns a 0
if the input is 1
and a 1
if it's a 0
. The other inputs to the perceptron are ignored.
In this quiz, you'll set the weights (weight1
, weight2
) and bias bias
to the values that calculate the NOT operation on the second input and ignores the first input.
Start Quiz:
import pandas as pd
# TODO: Set weight1, weight2, and bias
weight1 = 0.0
weight2 = 0.0
bias = 0.0
# DON'T CHANGE ANYTHING BELOW
# Inputs and outputs
test_inputs = [(0, 0), (0, 1), (1, 0), (1, 1)]
correct_outputs = [True, False, True, False]
outputs = []
# Generate and check output
for test_input, correct_output in zip(test_inputs, correct_outputs):
linear_combination = weight1 * test_input[0] + weight2 * test_input[1] + bias
output = int(linear_combination >= 0)
is_correct_string = 'Yes' if output == correct_output else 'No'
outputs.append([test_input[0], test_input[1], linear_combination, output, is_correct_string])
# Print output
num_wrong = len([output[4] for output in outputs if output[4] == 'No'])
output_frame = pd.DataFrame(outputs, columns=['Input 1', ' Input 2', ' Linear Combination', ' Activation Output', ' Is Correct'])
if not num_wrong:
print('Nice! You got it all correct.\n')
else:
print('You got {} wrong. Keep trying!\n'.format(num_wrong))
print(output_frame.to_string(index=False))
We have a perceptron that can do AND, OR, or NOT operations. Let's do one more, XOR. In the next section, you'll learn how a neural network solves more complicated problems like XOR.