# CSCI 6971/4971 Large Scale Matrix Computations and Machine Learning, Spring 2018

## Overview

Modern machine learning routinely deals with millions of points in high-dimensional spaces. Classical numerical linear algebra algorithms can be prohibitively costly in such applications, as they aim at machine precision and scale super-linearly in the size of the input data. Fortunately, machine precision is seldom necessary, and recent developments have established that randomization can be used to bring the costs of matrix algorithms closer to linear in the size of the input data; this is done by sacrificing, in a principled manner, computational accuracy for increased speed. This course surveys modern randomized numerical linear algebra and its applications to machine learning, with the goal of providing a solid foundation for developing and analyzing the performance of randomized matrix algorithms.

Topics will include fast matrix multiplication, fast linear regression, column subset selection, fast approximate low- rank decompositions, fast k-means and spectral clustering, fast approximate kernel methods, and promising research directions in the field.

## Course Information

The syllabus is available as an archival pdf, and is more authoritative than this website.

** Course Text**: Lecture notes.

** Grading Criteria**:

- Homeworks, 50%
- In-class Pop Quizzes, 20%
- Project, 30%

Students are expected to have writing supplies on hand in each class to complete the in-class pop quizzes. If you are an athlete or for some other reason are not able to attend each class, make alternative arrangements with the instructor in the first two weeks of the course.

Letter grades will be computed from the semester average. Maximum lower bound cutoffs for A, B, C and D grades are 90%, 80%, 70%, and 60%, respectively. These bounds may be moved lower at the instructors discretion.

## Topics and Schedule

- Lecture 1, Thursday 1/18: Large-scale considerations in ML, supervised and unsupervised learning
- Lecture 2, Monday 1/22: Kernel learning, review of SVD
- Lecture 3, Thursday 1/25: Linear algebra review, approximate matrix multiplication, using randomization to speed up direct and iterative solvers
- Lecture 4, Monday 1/29: Kaczmarz algorithm introduction
- Thursday 2/1, Lecture is canceled
- Lecture 5, Monday 2/5: Review of expectations, conditional expectation; Kaczmarz algorithm and convergence rate with uniform row sampling
- Lecture 6, Thursday 2/8: Central Limit Theorem, Berry-Esseen Theorem, asymptotic vs Non-asymptotic tail bounds, Markov's inequality
- Lecture 7, Monday 2/12: Moment inequalities, moment generating functions, Laplace transform method, sub-gaussian r.v.s, Hoeffding bound for sub-gaussian sums;
*see the supplementary material* - Lecture 8, Thursday 2/15: Sub-exponential r.v.s, Bernstein's inequality, sub-gaussian random vectors, the sub-gaussian JLT;
*see the supplementary material* - Lecture 9, Tuesday 2/19: the matrix Bernstein inequality
- Lecture 10, Thursday 2/22: matrix Bernstein inequality application to proving the number of rows needed for column sampling to give subspace embedding, motivations for low-rank approximation, Eckart-Young theorem and truncated SVD cost
- Lecture 11, Monday 2/26: column subset selection and CX algorithms, fast subspace embeddings

## Homeworks

All assignments must be typed (preferably in LaTeX) and are due at the start of class (defined as the first 15 minutes) via email.
*Late assignments will be penalized and accepted at the instructor's discretion.*

- Self-assessment, due Monday 1/22 (in class, you can write in the answers)
- HW1, due Monday 2/5. Get started early, as you will need to familiarize yourself with Python+Numpy and you will need run the experiments.
- HW2, due Thursday 2/22.
*Only problem 1 is due, as we did not cover the matrix Bernstein inequality in time.* - HW3, due Thursday 2/29 (ignore the date in the pdf).
*Problem 2 is now due.*

## Supplementary Materials

- Lectures 7 and 8 drew from the first and second of Vershynin's excellent lectures on probabilistic methods for data science
- We mentioned that sums of gaussians are gaussian