# Advanced Predictive Models and Applications for Business Analytics

IDS 576

### Informal name: Deep Learning, Graphical Models and Reinforcement Learning

## Overview

The goal of this class is to cover a subset of advanced machine learning techniques, after students have seen the basics of data mining (such as in in IDS 572) and machine learning (such as in IDS 575). Broadly, we will cover topics spanning graphical models, deep learning and reinforcement learning. Graphical models are useful for inferring outcomes and making predictions conditional on preceding/related events, even when we do not have full information. They have found success in tracking, speech recognition, language modeling (Hidden Markov Models), image segmentation (Markov Random Fields) and other applications. Similarly, we will study popular deep learning architectures, their design choices and how they are trained. We will also study recurrent and convolutional architectures which achieve state of the art in challenging prediction tasks in text and computer vision applications. Finally, we will look at online and reinforcement learning problems and their role in sequential decision making problem areas such as transportation and retail.

## Previous Editions

- Spring 2019 (has videos!)
- Spring 2018 (has videos!)
- Spring 2017 (has videos!)

## Logistics

- Semester: Fall 2019
- Lecture times: Thursdays 6.30 PM to 9.00 PM at DH 210
- Optional Recitations: Wednesdays 1.00 PM to 2.00 PM at BSB 115
- Staff
- Instructor: Dr. Theja Tulabandhula
- Teaching Assistant: Danial Taheri

- Online communication: Forum (sign up needed!)
- Offline communication:
- Instructor Office Hours: Thursdays 2.00 to 3.00 PM at UH 2404
- TA Office Hours: Wednesdays 2.00 PM to 4.00 PM at L270 (ETMSW Bldg.)

## Textbook and Materials

- Deep Learning by Ian Goodfellow and Yoshua Bengio and Aaron Courville (2016).
- Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew G. Barto (2018).
- Bayesian Reasoning and Machine Learning by David Barber (2012).

## Software

- Python and Jupyter. Refer to this set of notes or this to get started in Python.

## Schedule (*tentative*)

#### 08/29 : Motivating Applications, Machine Learning Pipeline (Data, Models, Loss, Optimization), Backpropagation

- Lecture note
- Notebook: Python review
- Notebook: Linear classifier with backprop
- Notebook: Simple 2D data
- Lecture video 1
- Lecture video 2
- Lecture video 3

#### 09/05 : Feedforward Networks: Nonlinearities, Convolutional Neural Networks: Convolution, Pooling

- Lecture note
- Notebook: Feedforward net with backprop
- Notebook: Pytorch Basics
- Notebook: Convolutional network run-through
- University GPU setup video
- Lecture video 1
- Lecture video 2

#### 09/12 : Jumpstarting Convolutional Neural Networks: Visualization, Transfer, Practical Models (VGG, ResNet)

- Lecture note
- Notebook: Overfitting and Dropout example (original source)
- Lecture video 1
- Lecture video 2

#### 09/19 : Text and Embeddings: Introduction to NLP, Word Embeddings, Word2Vec

- Lecture note
- Spacy
- Additional Reading: Latent Dirichlet Allocation
- Additional Reading: CNN for sentence classification tasks. link1 and link2
- Pytorch tutorial on using CNN for sentence classification: notebook 4
- Lecture video 1
- Lecture video 2

#### 09/26 : Recurrent Neural Networks and Transformers: Sequence to Sequence Learning, RNNs and LSTMs, Attention and BERT

- Lecture note
- Git Workflow
- Attention Is All You Need and an annotated version
- BERT
- Attention
- Transformer in Pytorch
- SOTA Transformer Implementations
- Lecture video 1
- Lecture video 2

#### 10/03 : Unsupervised Deep Learning: Generative Adversarial Networks, Variational Autoencoders

- Lecture note
- Notebook: GAN example on CelebFaces Attributes (CelebA) Dataset (dataset)
- VAE in Pytorch from Pytorch examples repository
- A simple flask app for a Pytorch classification model (tutorial page)
- Lecture video 1
- Lecture video 2

#### 10/17 : *Project progress check-in with the TA: hand in a 1-page proposal sheet during class hours*

#### 10/24 : Online Learning: A/B Testing, Multi-armed Bandits, Contextual Bandits

- Lecture note
- Bandit Implementations in Python: SMPyBandits
- A blog post on Bandits by Lilian Weng
- Lecture video 1
- Lecture video 2

#### 10/31 : Reinforcement Learning: Policies, State-Action Value Functions, Q-Learning

#### 11/07 : Deep Reinforcement Learning: Function Approximation, DQN for Atari Games, AlphaGo Zero

#### 11/14 : Representing Graphical Models: Conditional Independences and How they complement Deep Learning

#### 11/21 : Inference in Graphical Models: Belief Propagation, Markov Chain Monte Carlo

- Lecture note
- Graphical models using package Pgmpy with additional documentation
- MCMC based inference using package PyMC3
- Lecture video 1
- Lecture video 2

#### 11/28: *Thanksgiving*

#### 12/05 : Learning Graphical Models: Maximum Likelihood Estimation, EM Algorithm

- Lecture note
- Gaussian Mixture Models: EM and Variational Inference in Scikit-Learn
- Gaussian Mixture Models: Example Code I and Example Code II
- Lecture video 1
- Lecture video 2

## Assignments

- 09/05: Assignment 1. Due 09/18. Example template file.
- 09/19: Assignment 2. Due 10/02
- 10/03: Assignment 3. Due 10/16
- 11/14: Assignment 4. Due 11/27

These involve reimplementing recent deep-learning techniques and understanding their behavior on interesting datasets. Always mention any sources that were relied on, in your assignment solutions. Submission deadline is BEFORE 11.59 PM on the concerned day. Late submissions will have an automatic 20% penalty per day without exceptions. Use Blackboard for uploads.

## Project

There is a group project component to this course. Additional details are provided here. An intermediate check point (to hand in a 1-page proposal in class) is 10/17. The final deadline to submit is 12/01.

## Exams

- 10/10 : Exam I (same venue as lectures, and during class hours)
- 12/12 : Exam II (same venue as lectures, and during class hours)

These are closed book, but one 8.5x11-inch handwritten cheatsheet is allowed. No computers and communication devices are allowed.

## Grades

- Assignments: 8% + 8% + 8% + 8%
- Project: 20%
- Exams: 20% (Exam I) + 20% (Exam II)
- Participation: 8% (online and offline)

## Miscellaneous Information

- This is a 4 credit graduate level course offered by the Information and Decision Sciences department at UIC.
- Please see the academic calendar for the semester timeline.
- Students who wish to observe their religious holidays (https://oae.uic.edu/religious-calendar/) should notify the instructor within one week of the first lecture date.
- Please contact the instructor at the earliest, if you require accommodations for access to and/or participation in this course.
- Please refer to the academic integrity guidelines set by the university.