Coding Grandmaster ยท project 42 of 46 ยท premium, free for now
A perceptron learns AND
Train a perceptron on the AND truth table starting from zero weights, for the number of epochs, with each update using a learning rate of 1. Print the final weights and bias as w1 w2 b, then the four predictions.
Learn
The perceptron, from the 1950s, is the ancestor of neural networks. It multiplies each input by a weight, adds a bias, and outputs 1 if the total is above zero, otherwise 0. To learn, it checks each example: if it was wrong, it nudges each weight by the error ร the input (error = target โ output). Repeat over the examples a few times and, if a straight line can separate the answers, it finds the weights.
Your task
Train a perceptron on the AND truth table starting from zero weights, for the number of epochs, with each update using a learning rate of 1. Print the final weights and bias as w1 w2 b, then the four predictions.
Stretch challenge
Change the data to the XOR table and watch it never settle. Why can't one perceptron learn XOR?
Press Run to see what your program prints.
More in this module
Keep going in Coding Grandmaster
Predictions and error
Write predict(x, m, b) and mse(xs, ys, m, b). Print the prediction for each size and the mean squared error of the line with the given m and b, rounded to 2 decimal places.
Start โ38Training by searching
Try every m from 0 to 100 in steps of 5 and every b from 0 to 200 in steps of 10 with the same data. Print the best m, the best b and their error rounded to 2 decimal places.
Start โ39Gradient descent
Starting from m = 0, repeat steps times: compute the gradient, then do m = m - lr * gradient. Print the final m rounded to 4 decimal places and the final mean squared error rounded to 4.
Start โ40The straight-line formula
Compute the slope and intercept with these formulas, print them rounded to 3 decimal places, and print the prediction for new_x rounded to 2 places.
Start โ41Classifying by neighbours
Write classify(point, train, k): sort the training examples by distance to the point, take the k closest, and return the label that appears most among them (if tied, the label of the nearest one).
Start โPractise the idea
๐ Play Logic Gate Challenge
Predict the output of AND, OR, XOR, NAND and NOR gates from their inputs.
FAQ
A perceptron learns AND: common questions
I am stuck. What can I do?
Press Hint for a nudge, read the message next to each goal, and compare your code with the lesson text. If you still need it, Show answer reveals a model solution. Try to type it yourself rather than copy it.
Does my work get saved?
Your ticks and XP are saved in this browser, and in your account if you log in. The code you type is not stored on a server.
Start a conversation
Enjoying coding? Meet a teacher.
Tell us the learner's age, country and what they would like to build, and we will suggest a class. A parent or guardian can make the enquiry.
- Tell us the learnerโs age or grade and goals
- Weโll suggest a suitable class or learning path
- Weโll confirm format, timing and fees with a parent or guardian
Play it, don't just read it
Write some code right now
Free games that need no sign-up. Pick one and play for five minutes.
Pick a game
- Predict the OutputRead a short Python program and choose what it prints. Then watch it runโฆPlay
- Code BuilderThe lines of a Python program are mixed up. Tap them into the rightโฆPlay
- Bug HunterA Python program prints the wrong answer. Find the one line with theโฆPlay
- Code JungleWrite real Python to guide Miko the monkey to every banana. 24 levels:โฆPlay