Giter Club home page Giter Club logo

davissml's Introduction

UC Davis Statistics 208 : Statistical Machine Learning

A Course on the Principles of Statistical Machine Learning with Examples in Python

Machine learning is how to get computers to automatically learn and improve with experience. Experience comes in the form of data, improvement is with respect to some performance metric, and learning is done by a learning algorithm. There are always computational constraints, such as the architecture, computation time, bandwidth limitations, and so on. So we can more precisely restate the goal thus: to construct learning algorithms that use data to improve with respect to a performance metric and do so under computational constraints.

We will focus on principles of statistical machine learning in the prediction problems, regression and classification. Conspicuously absent is most Bayesian methodology and advanced concepts such as reinforcement learning. This course is not a broad overview of all of machine learning, but rather a tour of the key ideas in machine learning as told through these prediction tasks. Typically, I have students tell me something along the lines of "I thought machine learning was about [insert random methodology here]". Machine learning is a field, like physical chemistry or creative literature. It is not defined by a couple of methods or a single task, and cannot be taught in a single quarter. With that said, I want this course to lay the foundation for a rich understanding of machine learning.

Instructions: The lectures will mostly be jupyter notebooks. To follow along with the slides use the following command in the lecture folder.

jupyter nbconvert lecture[# here].ipynb --to slides --post serve

Due to Covid-19, I have recorded all of my lectures and am uploading them to Youtube. They will be linked as they become available, and will be organized into playlists which correspond to a single lecture (between 1-2 hrs of content). I have structured the lecture so that there are exercises that you can do on your own as you listen to the lecture. Most of the exercises are at the end of a video and will be answered at the beginning of the next, but sometimes I will ask you to pause the video. After I ask the question you should take the time to complete the exercise, then go on to hear the answer.

Lecture Notes

Introduction to Machine Learning

Principles: Bias-Variance, training and testing, losses, OLS and KNN
Reading: ESL Chapter 2

Lecture 1Notebook-VideosIntroduction to machine learning
Lecture 2Notebook-VideosModel selection and bias-variance tradeoff

Regression (beyond Ordinary Least Squares)

Principles: Convex relaxation, computational intractability in subset selection
Reading: ESL Chapter 3, Boyd Chapter 1

Lecture 3Notebook-VideosOLS, Matrix Decompositions, Subset selection and ridge regression
Lecture 4Notebook-VideosConvex optimization, first order methods
Lecture 5Notebook-VideosThe Lasso

Classification

Principles: Surrogate losses, generative and discriminative methods
Reading: ESL Chapter 4

Lecture 6Notebook-VideosGenerative methods, naive Bayes, discriminant analysis, ROC, PR
Lecture 7Notebook-VideosLogistic regression, support vector machines, surrogate losses
Lecture 8Notebook-VideosOnline learning, stochastic gradient descent, perceptron

Unsupervised Learning and HMMs

Principles: HMMs, Clustering, Dimension Reduction Reading: ESL Chapter 14, "An Introduction to Hidden Markov Models and Bayesian Networks", Zoubin Ghahramani

Lecture 9Notebook-VideosClustering
Lecture 10Notebook-VideosDimension Reduction
Lecture 11Notebook-VideosHidden Markov Models

Non-linear methods

Principles: basis expansion, kernel trick, bagging, boosting, neural nets
Reading: ESL Chapter 5, 7, 8

Lecture 12Notebook-VideosBasis expansion and kernel trick
Lecture 13Notebook-VideosBootstrap, Decision Trees, and Random Forests
Lecture 14Notebook-VideosBoosting
Lecture 15Notebook-VideosNeural Networks

Deep Learning

Lecture 16Notebook-VideosConvolutional nets
Lecture 17Notebook-VideosRecurrent neural nets
Lecture 18Notebook-VideosTensorflow 1
Lecture 19Notebook-VideosTensorflow 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.