# Advanced Predictive Models and Applications for Business Analytics

IDS 576 (Spring 2019)

Document version: Jan 27 2019

## 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. Time permitting, we will also look at online and reinforcement learning problems and their role in sequential decision making problem areas such as transportaion and retail.

## Previous Editions

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

## Logistics

- Lecture times: Wednesdays 6.00 PM to 8.30 PM at BH 305
- Optional Recitations: Wednesdays 12 PM to 1 PM at Lecture Centre A2
- Staff
- Instructor: Dr. Theja Tulabandhula
- Teaching Assistant: Mehrnaz Amjadi

- Online communication: Forum (sign up needed!)
- Offline communication:
- Instructor Office Hours: Wednesdays 4 PM to 5.30 PM at UH 2404
- TA Office Hours: Wednesdays 1 PM to 2 PM at Lecture Centre A2
*and*Fridays 4.30 PM to 5.30 PM at UH 2401

## Textbook and Materials

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

## Software

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

## Schedule (*tentative*)

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

- Lecture note
- Notebook: Python review
- Notebook: Simple 2D data
- Notebook: Linear classifier with backprop
- Recitation: Python review

#### 01/23 : Feedforward Networks: Nonlinearities, Convolutional Neural Networks: Convolution, Pooling

- Lecture note
- Handwritten note
- Notebook: Feedforward net with backprop
- Notebook: Convolutional network run-through
- GPU setup video
- Lecture video

#### 02/06 : Jumpstarting Convolutional Neural Networks: Visualization, Transfer, Practical Models (VGG, AlexNet)

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

#### 02/13 : Text and Embeddings: Introduction to NLP, Word Embeddings, Word2Vec

- Lecture note
- Handwritten note
- Learning goal
- 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

#### 02/20 : Recurrent Neural Networks: Sequence to Sequence Learning, RNNs and LSTMs

- Lecture note
- Learning goal
- Additional Reading for RNNs and CNNs
- Pytorch tutorial on using RNN for sentence classification: notebook 1
- Basics of Pytorch
- Notebook: Pytorch Seq2seq translation model(original)
- Pytorch character RNN example
- Lecture video

#### 02/27 : Unsupervised Deep Learning: Generative Adversarial Networks, Variational Autoencoders

- Lecture note
- Learning goal
- Notebook: GAN example on CelebFaces Attributes (CelebA) Dataset(original, dataset)
- Lecture video

#### 03/13 : Graphical Models: How they complement Deep Learning

#### 03/20 : Graph Convolutional Networks

- Guest lecture by Mehrnaz Amjadi
- Lecture note
- Learning goal

#### 04/03 : Inference in Graphical Models: Belief Propagation, Markov Chain Monte Carlo

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

#### 04/10 : Learning Graphical Models: Maximum Likelihood Estimation, EM Algorithm

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

#### 04/17 : Online Learning: A/B Testing, Multi-armed Bandits, Contextual Bandits

- Lecture note
- Learning goal
- Bandit Implementations in Python: SMPyBandits
- Handwritten note
- Lecture video 1
- Lecture video 2

#### 04/24 : Reinforcement Learning: Policies, State-Action Value Functions, Q-Learning

#### 05/01 : Deep Reinforcement Learning: Function Approximation, DQN for Atari Games, AlphaGo Zero

- Lecture note
- Learning goal
- Implementations
- Flappy Bird RL
- Handwritten note
- Lecture video 1
- Lecture video 2

## Assignments

- 01/23 : Assignment 1. Due on 02/05. Example template file.
- 02/06 : Assignment 2. Due on 02/19
- 02/20 : Assignment 3. Due on 03/12
- 03/20 : Assignment 4. Due on 04/16

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. Use Blackboard for uploads.

## Project

There is a group project component to this course. More information is available here. Final code-bases with documentation are due to on 04/23.

## Exams

- 03/06 : Exam I (same venue as lectures, and during class hours)
- 05/08 : 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/) shoud 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.