COMP3670: Difference between revisions

From Hitchhiker's Guide to CS
Jump to navigation Jump to search
(Import from AsciiDoc)
Tag: 2017 source edit
 
No edit summary
 
Line 1: Line 1:
{{DISPLAYTITLE:COMP3670: Introduction to Machine Learning}}
{{DISPLAYTITLE:COMP3670: Introduction to Machine Learning}}


This course was introduced in 2019, as a “whirlwind tour” to get people up-to-speed with the mathematics they need to tackle the notoriouly brutal and theory-heavy [[COMP4670|SML]], while also giving them a first taste of real machine learning.
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 [[COMP4670|Statistical Machine Learning (SML)]], while also giving them a first taste of real machine learning.


While it may be an “on-ramp” compared to SML, this course can still be 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]] instead of the CS default MATH1005, as you’ll be setting yourself up for a much easier time come third year.
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.
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.


Also, this 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, and try to stay motivated.
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 ''[https://mml-book.github.io/book/mml-book.pdf 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 / programming at scale, and security, but other than a tiny taste in [[COMP2420]], you probably haven’t been exposed to what’s certainly one of the “hottest” areas in CS among academics and industry alike. In that case, Intro to ML 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.
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 [[COMP4670|SML]] (and then [[COMP4680|Advanced ML]] if you’re really keen); if you feel like it’s time for some applications, try [[COMP3425|Data Mining]], [[COMP3430|Data Wrangling]], or the more interesting [[COMP4650|Document Analysis]] or [[COMP4660|Bio-Inspired]].
Got through Intro to ML and want more? The next step in ML theory is [[COMP4670|SML]] (and then [[COMP4680|Advanced ML]] if you’re really keen); if you feel like it’s time for some applications, try [[COMP3425|Data Mining]], [[COMP3430|Data Wrangling]], or the more interesting [[COMP4650|Document Analysis]] or [[COMP4660|Bio-Inspired]].

Latest revision as of 12:42, 8 January 2022


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.