EECS 445: Introduction to Machine Learning
University of Michigan, Fall 2015
Q. What’s difference between EECS 445 and EECS 545?
Q. What’s difference between EECS 445 and EECS 492?
Q. How much will the workload be?
Topics to be covered (tentative)
NOTE: Please note that this is a tentative syllabus and subject to change.
Lectures: MW 12pm-1:30pm, 1571 GG Brown
Discussion (3 sections):
Instructor: Honglak Lee
Instructor office hours: M 3-5pm, 3773 BBB
GSI: Changhan (Aaron) Wang (wangchh@umich.edu), Renhan Zhang (rhzhang@umich.edu)
GSI office hours: (please check the CTools calendar for the schedule), 1637 BBB
Contact: For all questions, please use Piazza (embedded in ctools; registration required).
The course is a programming-focused introduction to Machine Learning. Increasingly, extracting value from data is an important contributor to the global economy across a range of industries. The field of Machine Learning provides the theoretical underpinnings for data-analysis as well as more broadly for modern artificial intelligence approaches to building artificial agents that interact with data; it has had a major impact on many real-world applications.
The course will emphasize understanding the foundational algorithms and “tricks of the trade” through implementation and basic-theoretical analysis. On the implementation side, the emphasis will be on practical applications of machine learning to computer vision, data mining, speech recognition, text processing, bioinformatics, and robot perception and control. Real data sets will be used whenever feasible to encourage understanding of practical issues. The course will provide an opportunity for an open-ended research project. On the theoretical side, the course will give a undergraduate-level introduction to the foundations of machine learning topics including regression, classification, kernel methods, regularization, neural networks, graphical models, and unsupervised learning.
Recommended Textbooks
Other relevant (and advanced) books
* NOTE: Please see the instructor if you do not satisfy the above math requirements. In particular, if you haven't taken linear algebra or if you haven’t taken at least two of linear algebra, multivariate calculus, and probability courses, it is recommended that you finish them first before taking this course. We will have some review lectures and discussion sessions to refresh your knowledge on these topics. However, they are not meant to be replacement of the regular prerequisite courses.
Discussion sections are designed to facilitate understanding of specific topics through problem solving, practical hands-on tutorials on implementation of learning algorithms, and interactive QnAs.
Linear Algebra and Matrix Calculus Notes: http://cs229.stanford.edu/section/cs229-linalg.pdf
There will be four or five problem sets to implement the algorithms we learned about class and also strengthen the understanding of the fundamental concepts, mathematical formulations, algorithms. The substantial portion of problem sets will include programming assignments to implement algorithms covered in the class.
You are given 7 late days during this semester. You can use at most 3 days per homework. In other words, All assignments beyond 3 days will be graded zero. If you use all your 7 late days, you can use more days for 20% grade deduction per additional late days (beyond the 7 late days). Nonetheless, no assignments will be accepted 3 days after the deadline as we intend to make solutions available 3 days after submission.
This course offers an opportunity for getting involved in open-ended research in machine learning. Students are encouraged to develop new algorithms in machine learning, or apply existing algorithms to new problems. Please talk to the instructor before deciding about the project topic. Students will be required to complete their project proposals, progress reports, poster presentations and the final report.
The project will be a group assignment. Students are required to form into groups of 4 or 5 people.
Check resource page in ctools for more detailed information.
1. Regarding study groups for homeworks, you are allowed to form a group of maximum 4 people, as stated in the syllabus. This means that you are welcome to form a group of 3 or less at your convenience. In any case, you should be writing your own solution independently. For example, submitting the same solution with other group members is not allowed. No code sharing (or copying) among the group members will be allowed.
2. For mini projects (that will be handed later in this class), the same policy applies as 1. You are expected to do your own mini-project independently. No code sharing (or copying) among the group members will be allowed.
3. For final projects, you are allowed to form a group of 4 or 5 people. In grading, we will not penalize the score because the team size is bigger, so we implicitly encourage the group size of 5. To make sure that you do approximately an equal share, you will be asked to write a statement in your report on how each member contributed to the project (details of work done, percentage of contribution to the project, etc.).
Homework: 30%
Mini-project: 15%
Midterm: 30%
Project: 25% (progress report 10%; final project 15%)
Extra credit: 2 % for active class participations.
EECS 445 is more implementation and application oriented, and it will cover fewer topics, but more implementation details. It's more geared towards undergraduate or graduate students outside EECS.
In contrast, EECS 545 will cover more theoretical aspects and advanced techniques.
NOTE:
EECS 445 will focus on details of machine learning algorithms (such as logistic regression, support vector machines, neural networks, etc.), so you will learn more about detailed techniques and implementation of these algorithms. There will be also an opportunity to get involved in projects that will deal with real-world problems. If you are interested in data mining, data analysis/prediction, and pattern recognition, this course will be a better fit.
EECS 492 will cover more broad topics in artificial intelligence, such as search, logic, knowledge representation and reasoning, planning. There will be some overlap since EECS 492 will also cover a few lectures of machine learning.
In terms of workload, it will be 4 unit course with heavier load than other courses. This means that you would spend on average 18~20 (or more) hours per week for this course (i.e., all activities such as, attending lectures, discussion sections, homeworks, projects, studying for exams, etc.). In particular, proficiency in math (linear algebra, probability, etc.) are strongly recommended. If you don't have reasonable math skills (such as linear algebra), you may feel higher workload. Therefore, we strongly recommend taking 445 after you take linear algebra courses first.
For your reference, EECS Undergraduate Workload Survey Results are available below
https://www.eecs.umich.edu/eecs/undergraduate/survey/
* indicates advanced topics
The schedule is tentative and subject to change.