Skip to content

ECE449

ECE449/CS446 (Machine Learning) is a 3/4-credit-hour course that satisfies the Technical Elective requirements for ECE majors and satisfies an Advanced Computing Elective for CEs. It is offered in both the fall and spring semesters.

Content Covered

This course is an introduction to the techniques commonly used in ML. In particular, it covers topics such as linear/logistic regression, SVMs, Neural Networks, kMeans, GMMs, VAEs, PCA, and Q-Learning. However, this class does so from a very theoretical perspective and as such, you should be prepared to do many proofs and complex derivations. Despite this, about 30% of the work consists of implementing ML algorithms in code so there is some programming involved in this course. The lectures mainly consist of explaining the motivation behind using a certain technique and then deriving the math behind it and are typically pretty fast moving. Unless you are certain you want a rigorous mathematical treatment of Machine Learning, I would highly recommend CS498 AML which tends to be almost entirely programming and will most likely suffice if you want to do Data Science in industry.

Prerequisites

When to Take It

This class is offered every semester but it is recommended to take this you have the mathematical maturity to handle a very theoretical class like this. A good grasp of Linear Algebra and Probability Theory are a must to succeed in this course and as a result, most people in this course are either Seniors or Graduate students, but it is definitely possible to take this as early as your Sophomore year. If you are interested in pursuing research in Machine Learning, this is a great course to take early on in your academic career as many ML research groups require knowledge at or above CS446 level.

Course Structure

Your homework needs to be typed in LaTeX which adds a bit of time to properly document your solutions. Typically, there is a homework assignment due every 2 weeks which can take anywhere from 10-15 to 30-40 hours to complete, depending on your comprehension of statistics, probability, linear algebra, and LaTeX. There are typically 6 of these homework assignments throughout the semester and typically have 3-5 problems each with at least 1 being a coding question, while the rest are mostly more mathematical questions. There is also one Midterm exam and a Final which tend to be quite difficult. Fortunately, this course seems to have a generous curve which allows students to focus more on learning the content as opposed to stressing about the exams (a little less than half of students get some type of A, and rest B's.). There are some recommended textbooks for this course but they are usually quite dense and usually the lecture slides will suffice to do well on the homeworks and exams.

Instructors

The course instructors alternate through semesters; Professor Liangyan Gui teaches the course in the Fall, while Professor Shenlong Wang co-teaches the course with Professor Han Zhao in the spring.

Life After

If you enjoyed the material in this course, Professor Telgarsky teaches CS540 (Deep Learning Theory) which is a popular choice for people who do well in this course. In addition CS498DL is popular for people who enjoyed the Neural Net part of this course which discusses the applications of them and how to build more complicated ones. On the theory side, relevant courses include ECE490 (Introduction to Optimization) and ECE417, and on the programming side, related courses include CS441 (Applied Machine Learning) and CS444 (Deep Learning for Computer Vision).