Miguel Á. Carreira-Perpiñán
Electrical Engineering and Computer Science
School of Engineering
University of California, Merced
Office: 217, Science & Engineering Building 2
Office hours: Tuesdays/Wednesdays 2:45-3:45pm (SE2-217).
TA: Yerlan Idelbayev, yidelbayev-[at]-ucmerced.edu. TA hours: Mondays 3:30-4:30pm (AOA142).
Lectures: Mondays/Wednesdays 1:30-2:45pm (COB265).
Lab class: Fridays 1:30-4:20pm (Linux Lab, SE1-138).
Course web page: http://faculty.ucmerced.edu/mcarreira-perpinan/teaching/CSE176
Survey of techniques for the development and analysis of software that learns from experience. Specific topics include: supervised learning (classification, regression); unsupervised learning (clustering, dimensionality reduction); reinforcement learning; computational learning theory. Specific techniques include: Bayesian methods, mixture models, decision trees, instance-based methods, neural networks, kernel machines, ensembles, and others.
Prerequisites: CSE31 Computer Organization and Assembly Language, MATH24 Linear Algebra and Differential Equations, MATH32 Probability and Statistics. Essentially, you need to know the fundamentals of linear algebra, multivariate calculus and probability, and have good programming skills. It is also recommended to have taken CSE100 Algorithm Design and Analysis. You also need to know (or be able to learn quickly) Matlab programming at a reasonably proficient level.
More specifically, these are the most important concepts you need to know:
I emphasize that a solid knowledge of these concepts is strictly necessary to do well in this course. Below I give some resources you can use the help you refresh this knowledge if necessary; make sure to do so from day one.
Required textbook (get the errata and additional errata):
The companion site for the book has additional materials (lecture slides, errata, etc.).
Other books recommended as additional reading at undergraduate level:
If you want to refresh your knowledge of linear algebra, multivariate calculus or probability, the following are helpful (any edition or similar book is fine):
The textbook has an appendix on probability. Some of the other books have similar appendices on linear algebra, multivariate calculus or probability. Also, Stanford's machine learning class provides nice reviews of linear algebra and probability theory.
Before each class, you should have read the corresponding part of the textbook and the notes. I will teach the material in the order below (which is more or less the order in the book).
Textbook reading (table of contents):
The notes to accompany the textbook (bring the corresponding part to each class):
Carreira-Perpiñán, M. Á. (2016): CSE176 Introduction to Machine Learning: Lecture notes. University of California, Merced, 2015-2016. See also last year's notes.
The lecture notes are intended to summarize and sometimes expand or explain differently the main concepts, but they are not a substitute for the book.
Each lab consists of an assignment to be done in groups of 3 students. Your solution to the assignment is due by Thursday 11:59pm on the week following the lab by email to the TA as a single compressed file (e.g. lab10.tar.gz). Late work will receive a grade of zero. During the lab session, the TA will explain the assignment and demonstrate what the solution should work like, so it is important you attend the lab session. You can work during the rest of the lab session and throughout the week on the assignment. If you have questions, ask the TA during the lab or TA office hours, or by email.
The following directories contain supporting material for the labs:
Some practical advice for the labs, including Matlab tips.
Homework (to do on your own, graded):
Late homeworks will receive a grade of zero. You can submit your homework solutions in (legibly) handwritten paper, no need to type it or scan it. We'll give it back to you with the grades and any corrections.
Optional project (to do on your own, for extra credit), in groups of 4 students, due Dec. 14 11:59pm PST by email to the TA.
Note: to pass the course, your grades in both the labs and the exams cannot be too low (that is, they cannot be compensated by higher grades in, say, the homeworks or the project).
While I encourage you to discuss your work with other students, the homeworks, lab assignments, project and exams must be the result of your own work without collaboration. See the Academic Dishonesty Statement and the UC Merced Academic Honesty Policy.
Grade curves (exams): midterm, final.
Matlab tutorials: if you have never used Matlab, there are many online tutorials, for example:
Also see Matlab courses from Engineering Service Learning at UC Merced.
UC Merced | EECS | MACP's Home Page