COMP3670: Introduction to Machine Learning

From Hitchhiker's Guide to CS
This is the approved revision of this page, as well as being the most recent.
Jump to navigation Jump to search


This course was introduced in 2019 as a whirlwind tour to get people up-to-speed with the mathematics they need to tackle the notoriously brutal and theory-heavy Statistical Machine Learning (SML), while also giving them a first taste of real machine learning.

While it may be straightforward compared to SML, this course is still mathematically challenging, especially if your only exposure to university-level mathematics has been MATH1005. If you’re planning your degree out from the beginning and want to study machine learning, consider taking at least MATH1013 + MATH1014 (or better yet, MATH1115 + MATH1116) in addition to MATH1005/MATH2222. That way, you’ll be setting yourself up for a much easier time in 3670.

If you’re already well into your degree, don’t panic - this course is still doable. Try and come into the course with some experience writing Python already, so you can blast through the practical exercises and take the time to really understand the theoretical concepts.

The maths this course covers includes linear algebra, principal component analysis, a bit of probability theory and some vector calculus among other things. The textbook for these topics is Mathematics for Machine Learning, freely available online, and you could try reading the first 3 chapters to learn a bit of linear algebra before the course. The course sometimes doesn’t do a great job of motivating why all this maths is necessary. Just trust that it’ll all be useful eventually, so try your best to stay motivated! For example, matrix multiplication and differentiation turn out to become the backbone of neural networks, which underlie algorithms for everything from speech recognition to radiology to machine translation.

Of course, you may have no idea whether machine learning is the CS subfield for you. After two years of study, you’ve probably had a taste of theory, computer systems, software engineering, and security. You may not have been exposed to machine learning yet though - in that case, 3670 might just give you enough exposure to work out whether you want to go down that path. One caveat: if you're mildly interested, but the application examples seem unexciting, stick with it - later applied ML courses will raise that bar.

Got through Intro to ML and want more? The next step in ML theory is SML (and then Advanced ML if you’re really keen); if you feel like it’s time for some applications, try Data Mining, Data Wrangling, or the more interesting Document Analysis or Bio-Inspired.