I. Prediction problems
Nearest neighbor
A taxonomy of prediction tasks
II. Generative models for classification
The generative approach to classification
Gaussian generative models
III. Linear prediction
Linear regression
Logistic regression
Perceptron and support vector machines
Kernels
Multiclass classification and structured output prediction
IV. Trees, forests, and ensembles
Decision trees
Boosting
Bagging and random forests
V. Representation learning
Clustering
Linear projections: PCA and SVD
Embeddings and manifold learning
Autoencoders
VI. Deep learning
Feedforward networks
Convolutional networks
Recurrent networks
Wed 1-2p in CSE 2154
1. Ability to write simple programs in Python: functions, control structures, string handling, arrays and dictionaries.
2. Familiarity with basic probability, at the level of CSE 21 or CSE 103.
3. Familiarity with basic linear algebra, at the level of Math 18 or Math 20F.
1. Programming exercises should be done in Python. I recommend using Jupyter notebooks.
2. There is no required text for the course. But here are some useful references. The first is available as an e-book through the library website; the rest are on reserve at Geisel:
Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The elements of statistical learning (2nd edition).
Gilbert Strang. Linear algebra and its applications .
Kevin Murphy, Machine learning: a probabilistic perspective.
Richard Duda, Peter Hart, and David Stork, Pattern classification (2nd edition).
There will be regular homeworks, to be turned in (typed and in PDF format) on Gradescope. These will be a mix of mathematical exercises and programming projects.
No late homeworks will be accepted; however, the lowest homework score will be dropped.
There will be five in-class quizzes. There will be no makeup quizzes; however, the lowest quiz score will be dropped.
Homeworks: 50% (lowest score will be dropped)
Quizzes: 50% (lowest score will be dropped)