Winter 2023

Stanford University

This comprehensive course covers various machine learning principles from supervised, unsupervised to reinforcement learning. Topics also touch on neural networks, support vector machines, bias-variance tradeoffs, and many real-world applications. It requires a background in computer science, probability, multivariable calculus, and linear algebra.

This course provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs, practical advice); reinforcement learning and adaptive control. The course will also discuss recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.

Students are expected to have the following background:

- Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy. (CS106A or CS106B, CS106X.)
- Familiarity with probability theory. (CS 109, MATH151, or STATS 116)
- Familiarity with multivariable calculus and linear algebra (relevant classes include, but not limited to MATH 51, MATH 104, MATH 113, CS 205, CME 100.) Stanford Math 51 course text can be found here.

No data.

No data

Lecture slides and notes available at Syllabus

Videos of autumn 2018 offering available on YouTube

Final project information available at CS229 Final Project Information

No other materials available

BackpropagationBias - VarianceExpectation MaximizationExponential familyFactor AnalysisFeature / Model SelectionGaussian Discriminant AnalysisGaussian Mixture Models (GMM)Generalized Linear ModelsIn-context LearningIndependent Component Analysis (ICA)Instruct TuningK-means clusteringKernel (operating system)Large Language Model (LLM)Linear AlgebraLogistic RegressionMulti-class ClassificationNeural networkNewton's MethodNumPyPrincipal Component Analysis (PCA)ProbabilityPromptingPythonRegularization (mathematics)Reinforcement Learning from Human Feedback (RLHF)Self-supervised LearningSupervised learningSupport Vector Machine (SVM)Unsupervised learningWeighted Least Squares