This is an old revision of the document!
Links to MS Teams Events:
Lecture videos are available from the Canvas home page.
To use jupyter notebooks on our CS department machines, you must add this line to your .bashrc file:
export PATH=/usr/local/anaconda/bin:$PATH
This is a tentative schedule of CS545 topics for Fall, 2020. This will be updated during the summer and as the fall semester continues.
Week  Topic  Material  Reading  Assignments 

Week 1: Aug 24  Aug 28  Overview of course and the machine learning field. Reminder of how python is used in machine learning.  01 Introduction to CS545 02 Searching for Good Weights in a Linear Model  From Python to Numpy, Chapters 1  2 Scipy Lectures, Section 1 Visualization with Matplotlib Deep Learning, Chapters 1  5.1.4 
Week  Topic  Material  Reading  Assignments 

Week 2: Aug 31  Sept 4  Help with A1. Review of gradients. Gradient descent with SGD, Adam and SCG,  03 Fitting Simple Models Using Gradient Descent in the Squared Error  A1.4 Polynomial Model due Friday, Sept 4th, at 10:00 PM  
Week 3: Sept 7  Sept 11  Implementing neural networks with numpy to predict realvalued variables. Deriving gradients.  04 Scaled Conjugate Gradient 05 Introduction to Gradient Descent for Neural Networks  
Week 4: Sept 14  Sept 18  Error gradients for neural networks as matrix equations. Discussion of A2. Introduction to dashboards with python using streamlit.  06 Introduction to Streamlit  streamlit.io  
Week 5: Sept 21  25  Use of Optimizers for neural networks. Introduction to Pytorch and automatic differentation.  07 Collect Weights in Vector for Optimizers 08 Pytorch autograd, nn.Module  A2.2 Multilayer Neural Network due Friday, Sept 25th, at 10:00 PM. Good examples of solutions are available here. 
Week  Topic  Material  Reading  Assignments 

Week 6: Sept 28  Oct 2  Neural Network class.  09 Initial Steps towards Defining a NeuralNetwork Class  
Week 7: Oct 5  Oct 9 Oct 8 Lecture will not meet, but recording will be available.  Help with A3. Dimensionality reduction.  10 Help with A3 11 LowDimensional Representations of Data  A3.3 Neural Network Class due Monday, Oct 12, 10:00 PM Examples of good solutions are available here. 

Week 8: Oct 12  Oct 16  Brief overview of notes 11. Introduction to Classification  12 Classification with Neural Networks  
Week 9: Oct 19  Oct 23  Convolutional neural networks in numpy.  13 NeuralNetwork_Pytorch 14 Introduction to Convolution  
Week 10: Oct 26  Oct 30  Fullyconnected and Convolutional Neural Nets in Pytorch  15 Convolutional Neural Networks 16.1 Convolutional Neural Networks in Pytorch  A4.1 Neural Network Classifier due Tuesday Oct 27, at 10:00 PM Good examples of solutions are available here. 
Week  Topic  Material  Reading  Assignments 

Week 11: Nov 2  Nov 6  Comparing network performance. Introduction to Reinforcement Learning. Deep Reinforcement Learning  17 Partitioning Data to Compare Neural Network Performance 18 Introduction to Reinforcement Learning 19 Reinforcement Learning with Neural Network as Q Function  Reinforcement Learning: An Introduction, by Richard Sutton and Andrew Barto, 2nd edition  
Week 12: November 9  13  Deep reinforcement learning on simulated physical control problem.  20 Reinforcement Learning to Control a Marble  
Week 13: Nov 16  Nov 20  A5 Neural Networks in Pytorch due Wednesday, Nov 18 at 10:00 PM  
Nov 23  Nov 27  Fall Recess! 
Week  Topic  Material  Reading  Assignments 

Week 14: Nov 30  Dec 4  Clustering  22 KMeans Clustering, KNearestNeighbor Classification 23 Support Vector Machines  
Week 15: Dec 7  Dec 11  
Finals Week: Dec 14  Dec 18  A6 Reinforcement Learning to Control a Robot due Tuesday, Dec 15th, 10:00 PM. Here is A3mysolution.tar, a neural network implementation you may choose to use for A6. 