Starting and learning
Machine learning for high school students
Machine learning teaches a computer to recognise patterns from examples, such as telling clothing items apart in photos, sorting penguins by species from their measurements or recognising hand-drawn sketches. With algebra, basic probability and some Python you can build and test your own models.
How machine learning is used: examples for high school students
Recognising drawings
A neural network looks at the strokes of a sketch and predicts what it shows, after learning from many drawings people have made. This is image classification, the same idea used to read handwriting.
Real exampleQuick, Draw!Google's Quick, Draw! asks a neural network to recognise your doodle and adds drawings to a large doodle dataset shared publicly for machine learning research.
Identifying birds from their songs
A recording is turned into a spectrogram, a picture of the sound, and a neural network predicts which species is singing. Thousands of people use apps like this to record wildlife for scientists.
Real exampleBirdNETBirdNET is an open-source project that uses deep learning to recognise over 11,000 species globally from their sounds, with an app for citizen scientists.
Predicting the shapes of proteins
A protein's 3D shape decides what it does, and measuring it in a lab is slow and expensive. Deep learning models predict the shape from the sequence of amino acids, which helps biologists and medical researchers.
Real exampleAlphaFold (Nature, 2021)DeepMind's paper 'Highly accurate protein structure prediction with AlphaFold' describes a neural network that predicts a protein's 3D structure from its amino acid sequence.
Telling clothing items apart
Many students start by training a model to sort small greyscale photos of clothes into categories. It is a good first project because the data is clean and the result is easy to check.
Real exampleFashion-MNISTFashion-MNIST, from Zalando Research, has 70,000 greyscale images of clothing in 10 categories and was designed as a drop-in replacement for the MNIST digits benchmark.
Can high school students learn machine learning?
Yes. With school algebra, some probability and basic Python you can train and test real models on public datasets. Start with Python, then tables of data and simple models, and add neural networks for images once you are comfortable.
- PythonVariables, loops, lists and functions in a notebook, with small exercises you can check yourself.Learn it in Python
- Data and plotsLoad a dataset with pandas, look at its columns and plot it before you train anything.Learn it in Data Tools
- The maths behind predictionsFunctions and graphs, the dot product and the idea of error, which connect directly to the algebra you study at school.Learn it in Maths
- Your first modelsClassify penguins by species from their measurements and check accuracy on data the model has not seen.Learn it in Machine Learning
Going further with machine learning after school
If you already work in the field
If you enjoy a school subject such as biology, physics or geography, use it: build a small project on a public dataset from that subject. A project you can explain, shown at a science fair or shared on GitHub, says more than a list of courses.
If you come from data science or ML
If you already code and have trained a model or two, add the maths: linear algebra, calculus and probability are what separate using models from understanding them. A degree in mathematics, computer science or a science keeps the most options open.
Roles that do this workData scientistMachine learning engineerResearch scientist
Tools you will use
| Tool | What you use it for |
|---|---|
| Teachable Machine | Trains an image classifier from webcam pictures in minutes, a quick way to see how labels work. |
| Google Colab | Runs Python notebooks free in the browser with nothing to install on a school computer. |
| Python | The language used for nearly all machine learning tutorials, libraries and course exercises. |
| scikit-learn | Trains simple classifiers and measures their accuracy on test data with a few lines of code. |
Public data to practise on
- Fashion-MNIST: Small greyscale images of ten clothing types, a standard first image classification task.
- Palmer Penguins: Measurements of three penguin species for practising charts and a first classifier on a table.
Your first project
Download Fashion-MNIST, classify the clothing images with logistic regression in scikit-learn, and compare it with always guessing one class using accuracy on the test images.
Common questions
What subjects should I take for a career in machine learning?
Mathematics is the most useful, followed by computer science and a science you enjoy. Statistics and further maths help because machine learning relies on probability, algebra and calculus.
Is machine learning too hard for high school students?
No. Training a model with a library takes a few lines of Python, and the ideas of examples, labels and testing are easy to grasp. The deeper maths comes later and builds on what you study now.
Do I need to pay for software to learn machine learning?
No. Python, scikit-learn and PyTorch are free and open source, and free notebook services such as Google Colab run in a browser.
Courses for these skills
- Deep Learning with PyTorchUnderstand nonlinear hidden layers and network training.Syllabus available · lessons open as produced
- Python for AI and Machine LearningBuild the basic programming skills used to handle image records.33 published lessons · all planned lessons open
- Data Tools: NumPy, pandas, Matplotlib and scikit-learnUnderstand table columns, array shapes and row alignment.23 published lessons · all planned lessons open
- Practical Machine Learning in PythonLearn how features and targets define a supervised task.51 published lessons · more lessons in production
- Maths for Machine LearningConnect vectors and linear boundaries to separability.26 published lessons · all planned lessons open
New to programming or maths? Start with Python, or follow the machine learning path in order. Published lessons are free to read; compare Free and Pro.