DS 5230 Unsupervised Machine Learning and Data Mining / DS 4420 Machine Learning and Data Mining 2 - Fall 2018


Time: MW 2.50pm - 4.30pm
Room: Kariotis Hall 011


Jan-Willem van de Meent [personal page]
Phone: +1 617 373 7696
Office Hours: Monday 4.30pm - 6.00pm (or by appointment)

Teaching Assistant

Hao Wu [bio]
Office Hours: Wednesday 4.30pm - 6.00pm (or by appointment)


Blackboard: DS 5230 / DS 4420 (Homework problems and Grades)
Piazza: DS 5230 & DS 4420 (Discussion)
Midterm Prep: Topic List, Review Slides
Final Prep: Topic List, Review Slides

Course Overview

This course introduces a range of techniques in unsupervised machine learning and data mining:

  • Frequent itemset & association rule mining
  • Clustering Methods
  • Gaussian Mixtures and Expectation maximization
  • Dimensionality reduction
  • Topic Models
  • Social network analysis
  • Link analysis
  • Recommender systems

This course is designed for MS students in computer science. Lectures will focus on developing a mathematical and algorithmic understanding of the methods commonly employed to solve unsupervised machine learning and data mining problems. Homework problem sets will ask students to implement algorithms and/or work out examples.

Students will also collaborate on a project in which they must complete a data analysis taks from start to finish, including pre-processing of data, analysis, and visualization of results.


CS 5800 or CS 7800, or consent of instructor. Students without this prerequisite should e-mail a CV and transcripts to the instructor. If these materials are acceptable, then the student will be asked to complete the self-test prior to admission to the course.

In addition to the formal requirements, students are expected to have a good working knowledge of calculus, linear algebra, probability, statistics, and algorithms.


This class is not structured to directly follow the outline of a text book. The schedule will list chapters from a number of text books as background reading for each lecture, as well as additional additional materials. Students are expected to read the materials in preparation of each lecture.


  1. [HTF] Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning: Data Mining, Inference, and Prediction., Springer 2013. [pdf]

  2. [LRU] Jure Leskovec, Anand Rajaraman, Jeffrey D. Ullman, Mining of Massive Datasets, Cambridge University Press, 2014 [pdf]

  3. [TSK] Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining, 2005. [ch6, ch8]

  4. [Aggarwal] Charu C. Aggarwal, Data Mining, The Textbook, Springer 2015. [pdf]

The HTF and LRU books are freely available from the authors’ websites. The Aggarwal book is available online to Northeastern students.

Additional Materials


The homework in this class will consist of 4 problem sets. Submissions must be made via blackboard by 11.59pm on the due date. Please upload a single ZIP file containing both source code for programming problems as well as PDF files for math problems. Name this zip file:

Please follow the following guidelines:

Math Problems

Please submit math exercises as PDF files (preferably in LaTeX).

Programming Problems

The preferred language for this course is Python. However, you may use any programming language you like, as long as your submission contains clear instructions on how to compile and run the code.

  • Data File Path: Don’t use absolute path for data files in code. Please add a data folder to your project and refer to it using relative path.

  • 3rd Party Jars: If you are using any 3rd party jar, make sure you attach that to submission.

  • Clarity: When coding up multiple variants of an algorithm, ensure that your code is properly factored into small, readable and clearly commented functions.

The TAs can deduct points for submissions that do not meet these guidelines at their discretion.


The goal of the project is to gain hands-on experience with analysis of a dataset of your choice. You should select a problem and a dataset that can be analyzed using methods covered in class. The project should be conducted in groups of 2-4 people. Each group should work independently, but you are welcome to discuss technical issues on Piazza. Completion of the project will include a project proposal, two milestone project updates, a report, and a review of the project by another team.

Participation and Collaboration

Students are expected to attend lectures and actively participate by asking questions. While students are required to complete homework programming exercises individually, helping fellow students by explaining course material is encouraged. At the end of the semester, students will be able to indicate which of their peers most contributed to their understanding of the material, and bonus points will be awarded based on this feedback.


The final grade for this course will be weighted as follows:

  • Homework: 40%
  • Midterm Exam: 15%
  • Final Exam: 15%
  • Course Project: 30%

Class participation will be used to adjust the final grade upwards at the discretion of the instructor.


Students will be asked to indicate the amount of time spent on each homework, as well as the project. The will also be able to indicate what they think went well, and what they think did not go well. There will also be an opportunity to provide feedback on the class after the midterm exam.


Note: This schedule is subject to change and will be adjusted as needed throughout the semester.



Homework / Project


Wed Sep 05


Overview: Unsupervised Learning and Data Mining [slides]

Mon Sep 10


Math Review [slides]

Homework 1 Out

[CS 229 Linear Algebra Notes],
[Iain Murray Math Crib Sheet]

Wed Sep 12


Frequent Itemsets & Association Rules [slides]

Self-test Due (Fri)

[TSK Chapter 6]

Mon Sep 17


Maximum Likelihood, Maximum A Posteriori, Conjugacy [slides]

[CS 229 Probability Notes],
[Blei Exponential Family Notes]

Wed Sep 19


Predictive Distribution, Graphical Models, Exponential Families [slides]

[CS 229 Probability Notes],
[Blei Exponential Family Notes]

Mon Sep 24


Bayesian Regression [slides]

Homework 2 Out

Bishop [Ch 1.1-1.2, Ch 3.1-3.3], Optional: Rasmussen and Williams [Ch 1, Ch 2, Ch 4]

Wed Sep 26


Dimensionality Reduction 1 [slides]

[Survey Paper by Cunningham et al.]

Mon Oct 01


Dimensionality Reduction 2 [slides]

Homework 1 Due (Fri)

[t-SNE paper by van der Maaten et al.]

Wed Oct 03


Clustering 1 [slides]

Project Teams Due

[TSK Chapter 8]

Mon Oct 08

Columbus Day (No Class)

Wed Oct 10


Clustering 2 [slides]

Homework 2 Due (Fri)

[TSK Chapter 8]

Mon Oct 15


Clustering 3 [slides]

Homework 3 Out

[TSK Chapter 8]

Wed Oct 17


Clustering 4 [slides]

[TSK Chapter 8]

Mon Oct 22


Clustering 5 [slides]

Project Abstracts Due

[Lecture Notes by Grosse and Srivastava]

Wed Oct 24

Midterm Exam

Mon Oct 29


Topic Modeling 1 [slides]

[Review by Dave Blei]

Wed Oct 31


Topic Modeling 2 [slides]

Homework 3 Due (Fri)

[Review by Dave Blei]

Mon Nov 05


Topic Modeling 3 [slides]

Homework 4 Out

[Review by Dave Blei]

Wed Nov 07


Community Detection 1 [slides]

[Review by Fortunato], Leskovec Rajaraman & Ullman [Ch 10.1-10.4]

Mon Nov 12

Veteran’s Day (No Class)

Project Milestone 1 Due

Wed Nov 14


Link Analysis
Guest Lecturer: Nate Derbinsky [slides]

Homework 4 Due (Fri)

Leskovec Rajaraman & Ullman [Ch 5]

Mon Nov 19


Community Detection 2 [slides]

[Review by Fortunato], Leskovec Rajaraman & Ullman [Ch 10.1-10.4]

Wed Nov 21

Thanksgiving (No Class)

Mon Nov 26


Recommender Systems [slides]

Project Milestone 2 Due

Wed Nov 28


Mon Dec 03

Project Presentations

Wed Dec 05

(No Class)

Project Reports Due (Fri)

Mon Dec 10

(Start of Exam Week)

Wed Dec 12

Final Exam

Project Revuews Due (Fri)