Doing the Math

May 24, 2019
thesis nontech math education

My main task the past two weeks was to figure out the learning objectives for a Machine Learning course.

books

This is not an easy task considering that most courses you find online are designed for adults, more specifically adults with a background in computer science or another STEM field. Therefore, my work this week focused on the following three subtasks:

  1. Examine different ML online courses and summarize the main learning objectives
  2. Look into teaching contents of german math classes (grade 8 to 12)
  3. Merge these outcomes to compose the learning objectives for my course

One and Two were quite straightforward. Three? Not so much…

1. Examining existing ML courses

ML Coursera

The first course I examined is probably the most popular ML course in the history of mankind: Machine Learning by Andrew Ng (Stanford University). This is the curriculum in a nutshell:

This course is most definitely aimed at computer science students or someone with a computer science background. I guess if you’re very tech savvy and willing, you could do the course with no programming experience whatsoever. However, all the exercises are done in MATLAB/Octave which arguably is easier than learning Python or R. But in my opinion a basic knowledge of programming is required to master the tasks. Not to mention the mathematical understanding that exceeds the basic maths that are taught in German schools.

The Hundred-Page Machine Learning Book

The next work I looked at was a book called “The Hundred-Page Machine Learning Book” written by Andriy Burkov. This book was released in 2018 and has since been hyped as one the best ML books out there. Again, this book is designed for adults with a background in computer science or who work in tech already. Besides the basic introduction to ML and a guide for all the mathematical notations the book has a comprehensive chapter about fundamental algorithms:

Moreover, the author dedicates a whole chapter to Neural Networks and Deep Learning.

Posts on Medium

As a last step, I looked for ML tutorials and informative posts on Medium. With platforms like “Towards Data Science” and “Hackernoon”, different authors offer a lot of great posts about this topic. I tried to find posts and tutorials that were either very high level or focused on the mathematical side of things.

Machine Learning is Fun! by Adam Geitgey

This is a series consisting of 8 parts about neural networks and sample applications. It does a great job at explaining the basics of neural networks.

Cheat Sheets for AI, Neural Networks, Machine Learning, Deep Learning & Big Data by Stefan Kojouharov

Although the title could be easily summarized by just saying “Cheat Sheets for AI”, it a nice collection of cheat sheets which give you a good overview.

AI and Machine Learning: How to Learn them Visually by JavaScript Teacher

This tutorial includes a good visual representation of the maths behind neural networks.

Deep Dive into Math Behind Deep Networks by Piotr Skalski

Again, a great tutorial about the maths behind neural networks. However, as the title states, this is a deep dive for people with a computer science background.

2. Math Curriculum from Grade 8 to 12

For my thesis I decided to aim the course at teenagers from grade 8 to grade 12. There are attempts to teach kids how Machine Learning works. This is great for raising children’s awareness for the high-tech world they grow up in, but in my opinion this is a very different objective than the one my thesis pursues. I want teenagers or young adults to understand and apply ML algorithms, so that they feel comfortable/excited to pursue academic training in this field. Therefore, the students already need to have a basic knowledge of the mathematics of ML. To ensure that this is the case for my potential target audience, I examined the curriculum of Saxony for grade 8 to grade 12. Why just Saxony you may ask? Because for insane and idiotic reasons curricula are different in each state in Germany and comparing and summarizing the curricula of all states would go beyond the scope of this thesis. Since I study in Saxony and my focus group will most likely go to school in Saxony, this is the state I decided on. Fortunately, Saxony is also the right choice from a scientific standpoint, as students in Saxony have the best skills in mathematics compared to all other states.

The mathematics of ML can be summarized as follows:

This might sound a lot more complicated and sophisticated than it actually is. Of course, if you deep dive into the mathematics of ML it can get quite complicated. However, the fundamental basics are already taught in german high schools. Below I listed all learning objectives in math class from grade 8 to 12 in Saxony that I think are relevant for a ML course for high school students.

Grade 8:

Grade 9:

Grade 10:

Grade 11:

Grade 12:

This analysis shows that even after 12th grade students lack knowledge in multivariate calculus and linear algebra that are relevant for fully understanding ML algorithms. However, the fundamentals of linear algebra and probability theory are already taught in 8th grade. Ideally, the course could be taught in or right after grade 11, as students are introduced to very specific topics of ML mathematics. A hands-on ML course could even be beneficial for consolidating the knowledge gained in math class. That being said, the learning objectives can definitely be eased to accommodate students starting 9th grade.

3. The Learning Objectives

As I mentioned in the beginning of the post, composing the learning objectives for the course wasn’t easy. To be completely honest, I haven’t yet decided on the algorithms I want to include in the course. To me the process of the course is a lot clearer than the learning objectives.

The students should solve a problem with the help of ML algorithms. It is important to me that at least two algorithms, if not three, can be benchmarked in their performance. Furthermore, everything connected to the ML process like the preparation of the training data and the evaluation of the algorithms should be realized by the students.

The following algorithms are currently on my shortlist:

The next step will be to find an appropriate problem. The first thing I will attempt to implement is a line-following robot that can classify numbers depending on the path it took. Probably this is the disguised Hello World!, MNIST kind of problem. I’ll let you know if this is a sufficient task for some of the algorithms on my shortlist. See ya soon!

See ya