Class activities will be recorded here.

This page is the one key spot to look to see what we have already done, what is planned for the current week, and what is planned for the remainder of the semester. Since the lectures are almost entirely built around Jupyter Notebooks you will see links to these notebooks. These can be easily opened with and one extra mouse click if you setup your browser to associate `ipynb` files with Google Colab. Here is a short video where I demonstrate doing this in Chrome.

My setup example video

The approach is similar in other browsers. The punchliine of the video is you need a Google ID that you setup once to access Google Colaboratory and from then on links to ipynb files will just work.

Week 1 : August 22 - August 28
  • Tuesday
    Introduction
    Brief course introduction and a quick review of Python in the context of Jupyter
    Thursday
    Python Basics
    One language dominates modern ML - Python. This lecture is a whirl wind review
Week 2 : August 29 - September 4
  • Tuesday
    Python Basics Continued
    Continue Introduction to Python
    Thursday
    Introduction to Numpy
    Numpy is the backbone of much ML programming
Week 3 : September 5 - September 11
  • Tuesday
    Numpy Continued
    Continue workking through aspects and useful elements of Numpy
    Thursday
    Labeled Data
    Loading common datasets and understanding the relationship between features and labels
Week 4 : September 12 - September 18
  • Tuesday
    Vectors and Dot Products
    Practical motivation from images to motivate basics of understanding vectors/points
    Thursday
    MatPlotLib
    Introduction to visualizing data through plots and histograms using MatPlotLib
Week 5 : September 19 - September 25
  • Tuesday
    Lines, Planes and Hyperplanes
    Linear decision boundaries expressed as lines, planes and hyperplanes
    Thursday
    The Preceptron
    One of the first and easiest to understand learning algorithms for linearly separable two class problems
Week 6 : September 26 - October 2
  • Tuesday
    Nearest Neighbor Classifiers
    Nearest Neighbor Classifer basics and a start at understanding generalization
    Thursday
    More Nearest Neighbors
    Continued explanation of Nearest Neighbor Classifiers with regression example
Week 7 : October 3 - October 9
  • Tuesday
    High Dimensional kNN and PCA
    Showing how Principal Component Analysis may be Coupled with kNN classifiers
    Thursday
    Bridge from NN to Regression
    Using a Nearest Neighbor Strategy to suggest how regression is NOT classification
Week 8 : October 10 - October 16
  • Tuesday
    Introduction to Linear Regression
    Fitting a parametric model to sample data to capture structure and make predictions
    Thursday
    Derivatives, Least-Squares and Outliers
    Using linear regression to motivate cover basics of least-squares optimization and outlier detection
Week 9 : October 17 - October 23
  • Tuesday
    Multivariate Linear Regression
    Predicting a value from a vector using a linear function with learned parameters
    Thursday
    Linear Regression with Gradient Descent
    Multivariate linear regression is an excellent opportunity to develop deeper insights into gradient descent
Week 10 : October 24 - October 30
  • Tuesday
    Overfitting and Regularization
    In the context of polynomial regression illustrate risk of overfitting and also how regularization can help
    Thursday
    Cross-validation and Measuring Performance
    Cross validatio and stratification including visualizations then ways to measure accuracy
Week 11 : October 31 - November 6
  • Tuesday
    More on Performance Measurement
    A more careful assessment of what it means to say an algorithm made a mistake
    Thursday
    Introduction to Neural Networks
    Starting simply and building up the essential with a multi-layer Perceptron
Week 12 : November 7 - November 13
  • Tuesday
    Neural Networks Using Keras
    Modern ML APIs such as Keras are fantastically useful but also require a degree of commitment to learn API idioms
    Thursday
    One Hot Encoding and Softmax on MNIST
    Using a classic example problem with characters to motivate one hot encoding and softmax activations
Week 13 : November 14 - November 20
  • Tuesday
    Dense Networks and Image Recognition
    Begin to explore more complex dense networks on classic tasks starting with character recognition
    Thursday
    Convolutional Neural Networks
    Using the CIFAR10 dataset to motivate and illustrate convolutional neural networks
Week 14 : November 21 - November 27
  • Tuesday
    Fall Break
    Thursday
    Fall Break
Week 15 : November 28 - December 4
  • Tuesday
    Decision Trees
    Classifers that work like a game of twenty questions
    Thursday
    Ensemble methods and Support Vectors
    Combining the opinions of many classifiers - each in its own way flawed - can tap into wisdom of the crowd
Week 16 : December 5 - December 11
  • Tuesday
    Course Wrapup
    Student led question and answer about topics covered this semester
    Thursday
    Current Research on Embodied Agents
    A brief overview of our work building embodied agents able to communicate using sight and speech