Course description
This course provides an introduction to statistical modeling and machine learning. Topics include learning theory, supervised and unsupervised machine learning, statistical inference and prediction. A wide variety of algorithms will be presented, including K-nearest neighbors, naive Bayes, decision trees, support vector machines, logistic regression, K-means, mixtures of Gaussians, principal components analysis, Expectation Maximization. The course will also discuss modern applications of machine learning such as image segmentation and categorization, speech recognition, and text processing.
Administrative information
- Instructor
- Lorenzo Torresani | 109 Sudikoff | office hour: by appointment
- Teaching assistant
- Qingyuan Kong | 222 Sudikoff | office hour: Th 6-8pm or by appointment
- Course staff email
- cs134 -at- cs -dot- dartmouth -dot- edu
- Lectures
- T&Th 10-11:50am | x-hour (used occasionally to make up cancelled classes) W 3-3:50
006 Kemeny Hall - Lab
- Sudikoff 001: Linux machines with Matlab. As an alternative, you can use Matlab on your machine by following the instructions provided here.
- Textbook (recommended but not required)
- Christopher M. Bishop, Pattern Recognition and Machine Learning, Springer 2006
Grading and policies
Academic integrity
You may discuss the assignments with other current CS034/134 students, but your submission must be entirely your own work. That is, your code and any other solutions you submit must be created, written/typed, and documented by you alone. You may not copy anything directly from another student's work. For example, memorizing or copying onto paper a portion of someone else's solution would violate the honor code, even if you eventually turn in a different answer. Similarly, e-mailing a portion of your code to another student, or posting it on-line for them to see would violate the honor code. We do encourage discussion of assignments between students, subject to these rules.
You cannot make use of any code taken from outside references for your homeworks, unless explicitly authorized to do so by the instructor. As a rule of thumb, you should treat any external code as software written by another CS034/134 student: you are not allowed to copy it or to use it as a template to implement your solution.
You are allowed to use external software for your project. However, you should clearly report the use of external code and include pointers to such software in your project write-up. The project grade will be based on the novelty of your solution/application but also on the amount of new code written by you to implement the idea. So keep this in mind when considering to use software written by someone else.
These rules will be strictly enforced and any violation will be treated seriously