In this undergraduate-level class on machine learning, students will learn about the theoretical foundations of machine learning and how to apply machine learning to solve new problems. Machine learning is an exciting and fast-moving field of Computer Science with many recent consumer applications (e.g., Microsoft Kinect, Google Translate, Iphone's Siri, digital camera face detection, Netflix recommendations, Google news) and applications within the sciences and medicine (e.g., predicting protein-protein interactions, species modeling, detecting tumors, personalized medicine). In the first part of the course, we will cover supervised prediction algorithms including linear and logistic regression, support vector machines, and nearest-neighbor methods. In the second part of the course, we will cover clustering (e.g., K-means), dimensionality reduction (e.g., PCA), recommender systems, density estimation, Bayesian networks, and time-series modeling (e.g., hidden Markov models).
Grading: about 7 homework assignments, a midterm and final exam.
Pre-requisites: Students must either have taken Basic Algorithms (CSCI-UA.0310) or be taking it concurrently. Students should be very comfortable with basic mathematical skills in addition to good programming skills. Some knowledge of linear algebra and multivariable calculus will be helpful.
Textbooks: No textbook is required for this class.
Readings: Excited about the class and want to get an early start on the reading? The assigned reading for the first week is the (freely available) first chapter Introduction to Machine Learning from Kevin Murphy's book.