# Stanford - The Modern Algorithmic Toolbox
- [The Modern Algorithmic Toolbox (CS168), Spring 2022](https://web.stanford.edu/class/cs168/index.html) (archived [The Modern Algorithmic Toolbox (CS168), Spring 2022](https://www.evernote.com/shard/s6/u/0/sh/ff8210c2-5e78-49cc-ace9-f06a9f39832e/1bff7fd9adb42204cacc1535a3b8e442))
Here is a hacker news:
- [CS 168: The Modern Algorithmic Toolbox | Hacker News](https://news.ycombinator.com/item?id=32788475)
This course goes through a lot of modern [[Algorithms]] and [[Data Structures]] for different domains:
- modern [[Hashing]]
- [[Consistent Hashing]]
- See also [Consistent Hashing | Algorithms You Should Know #1 - YouTube](https://m.youtube.com/watch?v=UF9Iqmg94tk)
- Property preserving lossing [[Compression Algorithm]]
- [[Bloom Filters]]
- [[count-min sketch]]
- similarity [[Search]]
- [[Jaccard similarity]]
- [[kd-trees]]
- distance preserving compression
- [[Jaccard similarity]] using MinHash
- [[Dimension Reduction]]
- [[Optimal Hashing]]
- [[Locality Sensitive Hashing]]
- Generalization and [[Regularization]]
- [[L1 regularization]]
- [[L2 regularization]]
- [[Training error]]
- [[Test error]]
- [[Principal Components Analysis]]
- Videos around these areas: [Steve Brunton - YouTube](https://www.youtube.com/c/Eigensteve)
- [[Eigenfaces]]
- [[Single Value Decomposition]]
- Spectral graph theory
- [[Laplacian of a graph]]
- [[Eigenvectors]] and [[Eigenvalues]]
- [[Graph coloring]]
- Sampling and estimation
- [[Reservoir Sampling]]
- [[Importance Sampling]]
- [[Markov Chains]]
- [[Stationary Distributions]]
- [[Markov Chain Monte Carlo]]
- [[Monte Carlo Methods]]
- [[Fourier Methods]]
- [[Fourier Transform]]
- [[Convolution]]
- [[Sparse Vector]]/[[Sparse Matrix]] Methods ([[Linear Algebra]])
- See [BOOK - Generalized Low Rank Models](https://web.stanford.edu/~boyd/papers/pdf/glrm.pdf)
- See also [Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares | Hacker News](https://news.ycombinator.com/item?id=18678314)
- This book focuses on concrete implementation of Linear Algebra concepts
- [[Compressive Sensing]]
- [[Linear Programming]]
- [[Convex Optimization]]
- Privacy Preserving Computation
- [[Differential Privacy]]
## Projects
- Project 1
- randomized [[Load Balancing]]
- [[count-min sketch]] implementation
- Project 2
- Similarity metrics
- [[Nearest Neighbor]] [[Classification]]
- [[Dimension Reduction]]
- [[Locality Sensitive Hashing]]
- Project 3
- [[Regression (statistics)]]
- [[Least-Squares Regression]]
- [[Gradient Descent]]
- [[Stochastic Gradient Descent]]
- [[Generalization (statistics)]]
- [[L2 regularization]]
- [[Stochastic Gradient Descent]]
- [[Double Descent]]
> [!quote] you will explore “double-descent”, a surprising phenomena whereby the performance of a model increases, then decreases, then increases, as the amount of training data increases.
- Project 4
- [[Principal Components Analysis]]
- [[Least-Squares Regression]]
- Project 5
- [[Single Value Decomposition]] for [[Word Embeddings]] ([[Natural Language Processing]])
- [[Single Value Decomposition]] for [[Image Processing]]
- Project 6
- [[Spectral Methods]]
- [[Laplacian of a graph]]
- [[Laplacian Matrix]]
- [[Eigenvectors]]
- [[Connected Components]]
- Project 7
- [[Markov Chains]]
- [[MCMC]], [[Traveling Salesman]]
- [[Optimization (algorithms)]]
- Project 8
- [[Fourier Transform]]
## Books
- [[BOOK - Machine Learning - Kevin P Murphy]] has a lot of resources about the statistical part of the lecture
- [[BOOK - Mining of Massive Datasets - Jure Leskovec Anand Rajaraman Jeffrey David Ullman]]
- [Chapter 3 - Finding Similar Items](http://infolab.stanford.edu/~ullman/mmds/ch3.pdf)