CS074/CS174, Winter 2016
Machine Learning and Statistical Data Analysis
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 supervised and unsupervised algorithms will be introduced, including K-nearest neighbors, naive Bayes, linear regression, support vector machines and kernel methods, logistic regression, neural networks, decision trees, ensemble methods, clustering methods, dimensionality reduction . The course will also discuss various modern applications of machine learning.
Canvas & Piazza
Lecture notes and homework are posted on Canvas.
We use Piazza to manage student discussions and questions (link). Please do not email the questions to me or the TAs individually, since other students may have the same or similar problems, and will be helped by seeing the discussion.
Textbook and Reading
There is no required textbook for the class. However, useful books on the subject for supplementary reading include:
This course will use Matlab. If you are not familiar with Matlab, there are a number of tutorials on the web:
Grading and policies
The course grade will be based 33% on the homework assignments, 34% on the term project, and 33% on the final exam. The homeworks will require answering questions and implementing some algorithms in Matlab; we will present a tutorial covering the basics of Matlab during an x-hour (see schedule).
Any homework turned in later will be penalized: You will get 80%, 60%, 20% of the credit for the first three days, and no credit for more than three late days. Any portion of a late day is counted as one full day (i.e., even one minute late counts as a full day, no exceptions!).
We have a no-laptop policy in class (texting, sleeping or engaging in other activities unrelated to the lecture is also forbidden). This policy will be strictly enforced so as to encourage active participation by all students and to avoid distracting people that are focusing on the lecture. Class attendance is highly recommended and considered necessary to do well in the course. However, it is not mandatory. If you come to class you are expected to obey this policy. A penalty of 5% will be applied to the final grade every time this policy is violated.
Dartmouth's honor code applies to this course, and academic misconduct policies will be strictly enforced.
You may discuss the assignments with other current CS074/174 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 CS074/174 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.
You cannot collaborate or copy in any way during the exams. The exam will be will be closed-book, closed-notes, closed laptop.
These rules will be strictly enforced and any violation will be treated seriously.