c CS 675
CS 675: Introduction to Machine learning
Fall 2018

Instructor: Usman Roshan
Office: GITC 4214B
Ph: 973-596-2872
Office hours: Tu 2-3, W 2-4, Th 2-3
Email: usman@njit.edu

TA: Meiyan Xie
Email: mx42@njit.edu

Grader: Aradhya Chouhan
Email: ac853@njit.edu

Textbooks:
Introduction to Machine Learning by Ethem Alpaydin (Not required but strongly recommended)
Learning with kernels by Scholkopf and Smola (Recommended)
Foundations of Machine Learning by Rostamizadeh, Talwalkar, and Mohri (Recommended)


Grading: 25% mid-term, 30% final exam, 10% course project, 35% programming assignments
Course Overview: This course is a hands-on introduction to machine learning and contains both theory and application. We will cover classification and regression algorithms in supervised learning such as naive Bayes, nearest neighbor, decision trees, random forests, linear regression, logistic regression, neural networks, and support vector machines. We will also cover dimensionality reduction, unsupervised learning (clustering), feature selection, kernel methods, hidden Markov models, gradient descent, big data methods, and representation learning. We will apply algorithms to solve problems on real data such as digit recognition, text document classification, and prediction of cancer and molecular activity.

Course plan:

Topic
Date
Notes
Introduction, Bayesian learning, and Python
09/05/18 Introduction
Background Unix and login to NJIT machines
Bayesian learning
09/10/18 Bayesian learning
Bayesian decision theory example problem
Textbook reading: 4.1 to 4.5, 5.1, 5.2, 5.4, 5.5
Python
09/12/18 Python
More on Python
Python cheat sheet
Python practice problems
Python example 1
Python example 2
Python example 3
Nearest means and naive-bayes
09/17/18 Nearest mean algorithm
Naive Bayes algorithm
Assignment 1
Kernel nearest means
09/19/18 Nearest means in Python (part 1)
Nearest means in Python (part 2)
Datasets
Balanced error
Balanced error in Perl
Kernels
More on kernels
Kernel nearest means
Script to compute average test error
Script to compute average test error
Textbook reading: 13.5, 13.6, 13.7
Separating hyperplanes and least squares
09/24/18 Mean balanced cross-validation error on real data
Hyperplanes as classifiers
Least squares
Textbook reading: 10.2, 10.3, 10.6, 11.2, 11.3, 11.5, 11.7
Multi-layer perceptrons
09/26/18 Multi-layer perceptrons
Assignment 2: Implement gradient descent for least squares
Predicted labels for least squares ionosphere trainlabels.0 training, eta=.0001, stop=.001
Least squares in Perl
Approximations by superpositions of sigmoidal functions (Cybenko 1989)
Approximation Capabilities of Multilayer Feedforward Networks (Hornik 1991)
Support vector machines
10/01/18 Textbook reading: 13.1 to 13.3
Support vector machines
Assignment 3: Implement hinge loss gradient descent
Predicted labels for hinge loss on ionosphere trainlabels.0 training, eta=.001, stop=.001
Efficiency of coordinate descent methods on huge-scale optimization problems
Hardness of separating hyperplanes
Learning Linear and Kernel Predictors with the 01 Loss Function
More on kernels
10/03/18 Kernels
Multiple kernel learning by Lanckriet et. al.
Multiple kernel learning by Gonen and Alpaydin
Logistic regression
10/08/18 Logistic regression
Solver for regularized risk minimization
Textbook reading: 10.7
Assignment 4: Implement logistic discrimination algorithm
Predicted labels for logistic on climate trainlabels.0 training, eta=.001, stop=.001
Empirical and regularized risk minimization
10/10/18 Empirical risk minimization
Regularized risk minimization
Regularization and overfitting
Solver for regularized risk minimization
Mid-term exam review
10/15/18 Midterm exam review sheet
Mid-term exam
10/17/18
Feature selection
10/22/18 Feature selection
Feature selection (additional notes)
A comparison of univariate and multivariate gene selection techniques for classification of cancer datasets
Feature selection with SVMs and F-score
Ranking genomic causal variants with chi-square and SVM
Dimensionality reduction
10/24/18 Unsupervised dimensionality reduction
Dimensionality reduction (additional notes)
Proof of JL Lemma
Textbook reading: Chapter 6 sections 6.1, 6.3, and 6.6
Course project
Training dataset
Training labels
Test dataset
Dimensionality reduction
10/29/18 Supervised dimensionality reduction
Maximum margin criterion
Laplacian linear discriminant analysis
Assignment 5: Adaptive step size for least squares and hinge
Decision trees, bagging, boosting, and stacking 10/31/18 Decision trees, bagging, boosting, and stacking
Decision trees (additional notes)
Ensemble methods (additional notes)
Assignment 6: Implement a decision stump in Python
Univariate vs. multivariate trees
Gradient boosted trees: Slides by Tianqi Chen
Textbook reading: Chapters 9 and 17 sections 9.2, 17.4, 17.6, 17.7
Ensemble methods, random projections, and stacking 10/31/18 Stacking
Random projections in dimensionality reduction
Assignment 7: Implement a bagged decision stump in Python
Regression 11/05/18 Regression
Textbook reading: Chapter 4 section 4.6, Chapter 10 section 10.8, Chapter 13 section 13.10
Unsupervised learning - clustering
11/07/18 Clustering
Assignment 8: Implement k-means clustering in Python
Tutorial on spectral clustering
K-means via PCA
Convergence properties of k-means
Textbook reading: Chapter 7 sections 7.1, 7.3, 7.7, and 7.8
Clustering
11/12/18
Clustering
11/14/18
Feature learning 11/19/18 Random Bits Regression: a Strong General Predictor for Big Data
Learning Feature Representations with K-means
Analysis of single-layer networks in unsupervised feature learning
On Random Weights and Unsupervised Feature Learning
Feature learning with k-means

Assignment 9 (optional extra credit)
Random hyperplanes
Results with random hyperplanes
Hidden Markov models 11/26/18 Hidden Markov models
Textbook reading: Chapter 15 (all of it)
Big data 11/28/18 Big data
Mini-batch k-means
Stochastic gradient descent
Mapreduce for machine learning on multi-core
Comparison of classifiers and big data, ROC, multiclass, statistical significance in comparing classifiers 12/03/18 Comparing classifiers Comparison of classifiers
Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
An Empirical Comparison of Supervised Learning Algorithms
Statistical Comparisons of Classifiers over Multiple Data Sets
Time series data, text document classification, and other topics 12/05/18 Time series methods
Text encoding
Weekly sales transaction dataset (Time series contest)
Semi-supervised and self-supervised classification
Missing data (A study on missing data methods)
Some advanced topics and papers
12/10/18 Classification boundaries(Code)

Convolutional neural networks for image recognition
Gradient based learning applied in document recognition

Representation learning

Geometrical and Statistical properties of systems of linear inequalities with applications in pattern recognition (Cover 1965)
ImageNet classification with deep neural networks (Krizhevsky et. al. 2012)
Random projections preserve margin
Random projections preserve margin II

Python Image Library
Final review 12/12/18 Review of most things covered in the course
Final exam for review sheet
Final TBA