Difference between revisions of "MSc: Advanced Machine Learning"

From IU
Jump to navigation Jump to search
(Created page with "= Advanced Machine Learning = * <span>'''Course name:'''</span> Advanced Machine Learning * <span>'''Course number:'''</span> DS-02 == Course Characteristics == === Key con...")
 
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
 
= Advanced Machine Learning =
 
= Advanced Machine Learning =
  +
* '''Course name''': Advanced Machine Learning
  +
* '''Code discipline''': DS-02
  +
* '''Subject area''':
   
  +
== Short Description ==
* <span>'''Course name:'''</span> Advanced Machine Learning
 
  +
This course covers the following concepts: Advanced topics in machine learning; To develop research interest in the theory and application of machine learning.
* <span>'''Course number:'''</span> DS-02
 
   
== Course Characteristics ==
+
== Prerequisites ==
   
=== Key concepts of the class ===
+
=== Prerequisite subjects ===
   
* Advanced topics in machine learning
 
* To develop research interest in the theory and application of machine learning
 
   
  +
=== Prerequisite topics ===
=== What is the purpose of this course? ===
 
   
This course is designed for graduate students to provide comprehensive and advance topics in machine learning. Student will learn to implement the machine learning models in Python programming environment from data science prospective. In this course, we will cover Neural Network Architectures (CNN, LSTM, Attention, RNN), Regularization, Genetic algorithm, Graphical Models (HMM), Generative models, Reinforcement learning, Collaborative filtering and recent trends in machine learning. The end of the day they will able to apply machine learning algorithms to solve real-world problems.
 
   
=== Course objectives based on Bloom’s taxonomy ===
+
== Course Topics ==
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Neural Networks ||
  +
# Neural Network Architectures
  +
# Recurrent Neural Networks
  +
# LSTM and Attention
  +
|-
  +
| Graphical Models and Evolutionary Computation ||
  +
# Hidden Markov Model
  +
# Decoding and inferencing in graphical models
  +
# Evolutionary Computation - Genetic Algorithm
  +
|-
  +
| Collaborative Filtering and Generative Models ||
  +
# Collaborative Filtering
  +
# Simple GAN
  +
# Conditional GAN
  +
# Time-series prediction
  +
|-
  +
| Reinforcement Learning ||
  +
# Value-based Reinforcement Learning
  +
# Policy-based Reinforcement Learning
  +
# Q-Learning
  +
# Policy Gradients
  +
# Deep Q Network (DQN)
  +
|}
  +
== Intended Learning Outcomes (ILOs) ==
   
=== - What should a student remember at the end of the course? ===
+
=== What is the main purpose of this course? ===
  +
This course is designed for graduate students to provide comprehensive and advance topics in machine learning. Student will learn to implement the machine learning models in Python programming environment from data science prospective. In this course, we will cover Neural Network Architectures (CNN, LSTM, Attention, RNN), Regularization, Genetic algorithm, Graphical Models (HMM), Generative models, Reinforcement learning, Collaborative filtering and recent trends in machine learning. The end of the day they will able to apply machine learning algorithms to solve real-world problems.
   
  +
=== ILOs defined at three levels ===
By the end of the course, the students should be able to apply machine learning models in real-world applications.
 
   
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Understanding of in depth details about the machine learning models
 
* Understanding of in depth details about the machine learning models
 
* Solve the problem in hand by apply machine learning models
 
* Solve the problem in hand by apply machine learning models
 
* Ability to analyze the models capacity and performances.
 
* Ability to analyze the models capacity and performances.
   
=== - What should a student be able to understand at the end of the course? ===
+
==== Level 2: What basic practical skills should a student be able to perform? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to choose the correct machine learning model.
 
 
 
* Suitability of different machine learning models in different scenarios
 
* Suitability of different machine learning models in different scenarios
 
* Ability to choose the right model for the given problem
 
* Ability to choose the right model for the given problem
   
=== - What should a student be able to apply at the end of the course? ===
+
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to deploy and developed models.
 
 
 
* Hands on experience to implement different models to know inside behavior
 
* Hands on experience to implement different models to know inside behavior
 
* Sufficient exposure to train and deploy model for the given task
 
* Sufficient exposure to train and deploy model for the given task
* Fine tune the deployed model in the real-world settings
+
* Fine tune the deployed model in the real-world settings
  +
== Grading ==
 
=== Course evaluation ===
 
   
  +
=== Course grading range ===
{|
 
  +
{| class="wikitable"
|+ Course grade breakdown
 
  +
|+
!
 
!
 
!align="center"| '''Proposed points'''
 
 
|-
 
|-
  +
! Grade !! Range !! Description of performance
| Labs/seminar classes
 
| 20
 
|align="center"| 20
 
 
|-
 
|-
  +
| A. Excellent || 90-100 || -
| Interim performance assessment
 
| 30
 
|align="center"| 50
 
 
|-
 
|-
  +
| B. Good || 75-89 || -
| Exams
 
| 50
+
|-
  +
| C. Satisfactory || 60-74 || -
|align="center"| 30
 
  +
|-
  +
| D. Poor || 0-59 || -
 
|}
 
|}
   
  +
=== Course activities and grading breakdown ===
=== Grades range ===
 
  +
{| class="wikitable"
 
{|
+
|+
|+ Course grading range
 
!
 
!
 
!align="center"| '''Proposed range'''
 
 
|-
 
|-
  +
! Activity Type !! Percentage of the overall course grade
| A. Excellent
 
| 90-100
 
|align="center"| 90-100
 
 
|-
 
|-
  +
| Labs/seminar classes || 20
| B. Good
 
| 75-89
 
|align="center"| 75-89
 
 
|-
 
|-
  +
| Interim performance assessment || 50
| C. Satisfactory
 
| 60-74
 
|align="center"| 60-74
 
 
|-
 
|-
| D. Poor
+
| Exams || 30
| 0-59
 
|align="center"| 0-59
 
 
|}
 
|}
   
  +
=== Recommendations for students on how to succeed in the course ===
=== Resources and reference material ===
 
  +
  +
  +
== Resources, literature and reference materials ==
   
  +
=== Open access resources ===
 
* Handouts supplied by the instructor
 
* Handouts supplied by the instructor
 
* Materials from the interment and research papers shared by instructor
 
* Materials from the interment and research papers shared by instructor
*
 
*
 
*
 
   
== Course Sections ==
+
=== Closed access resources ===
   
The main sections of the course and approximate hour distribution between them is as follows:
 
   
  +
=== Software and tools used within the course ===
{|
 
  +
|+ Course Sections
 
  +
= Teaching Methodology: Methods, techniques, & activities =
!align="center"| '''Section'''
 
  +
! '''Section Title'''
 
!align="center"| '''Teaching Hours'''
+
== Activities and Teaching Methods ==
  +
{| class="wikitable"
  +
|+ Activities within each section
 
|-
 
|-
  +
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4
|align="center"| 1
 
| Neural Networks
 
|align="center"| 16
 
 
|-
 
|-
  +
| Development of individual parts of software product code || 1 || 1 || 1 || 1
|align="center"| 2
 
| Graphical Model and Evolutionary Computation
 
|align="center"| 12
 
 
|-
 
|-
  +
| Homework and group projects || 1 || 1 || 1 || 1
|align="center"| 3
 
| Collaborative Filtering and Generative Models
 
|align="center"| 8
 
 
|-
 
|-
  +
| Midterm evaluation || 1 || 1 || 1 || 1
|align="center"| 4
 
  +
|-
| Reinforcement Learning
 
  +
| Testing (written or computer based) || 1 || 1 || 1 || 1
|align="center"| 8
 
|}
+
|-
  +
| Discussions || 1 || 1 || 1 || 1
  +
|}
  +
== Formative Assessment and Course Activities ==
   
=== Section 1 ===
+
=== Ongoing performance assessment ===
 
==== Section title: ====
 
 
Neural Networks
 
 
=== Topics covered in this section: ===
 
 
* Neural Network Architectures
 
* Recurrent Neural Networks
 
* LSTM and Attention
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# What is the role of activation function in artificial neural network?
 
# How Recurrent neural network can efficiently utilize the sequential information?
 
# How you will evaluate the models that it learns the concept correctly?
 
# How you distinguish different neural networks?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Implementation of neural networks for classification and regression problems
 
# Implement neural networks of natural language processing task
 
# Fine tune the neural networks for given problem
 
# Find the optimal hyper-parameters to converge the neural network
 
 
=== Test questions for final assessment in this section ===
 
   
  +
==== Section 1 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || What is the role of activation function in artificial neural network? || 1
  +
|-
  +
| Question || How Recurrent neural network can efficiently utilize the sequential information? || 1
  +
|-
  +
| Question || How you will evaluate the models that it learns the concept correctly? || 1
  +
|-
  +
| Question || How you distinguish different neural networks? || 1
  +
|-
  +
| Question || Implementation of neural networks for classification and regression problems || 0
  +
|-
  +
| Question || Implement neural networks of natural language processing task || 0
  +
|-
  +
| Question || Fine tune the neural networks for given problem || 0
  +
|-
  +
| Question || Find the optimal hyper-parameters to converge the neural network || 0
  +
|}
  +
==== Section 2 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || Calculate the probabilities for making decisions || 1
  +
|-
  +
| Question || Draw the graphical models for given problem || 1
  +
|-
  +
| Question || Perform the classification task through graphical models || 1
  +
|-
  +
| Question || Comparison of the models and gold standard test || 1
  +
|-
  +
| Question || Implement graphical models || 0
  +
|-
  +
| Question || Perform decoding task || 0
  +
|-
  +
| Question || Implement inferencing task for the given problem || 0
  +
|-
  +
| Question || Calculate the performance measures || 0
  +
|-
  +
| Question || Analyze the model performance. || 0
  +
|}
  +
==== Section 3 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || how to find the equilibrium point in GANs? || 1
  +
|-
  +
| Question || How you can define discriminator and generator? || 1
  +
|-
  +
| Question || How you can make suitable setting to train the model correctly? || 1
  +
|-
  +
| Question || How you will evaluate your model? || 1
  +
|-
  +
| Question || What are the effects of different loss functions? || 1
  +
|-
  +
| Question || Implement GAN for given task || 0
  +
|-
  +
| Question || Implement conditional GAN || 0
  +
|-
  +
| Question || Analysis of different loss functions || 0
  +
|-
  +
| Question || Experiments to look-inside for network convergence || 0
  +
|}
  +
==== Section 4 ====
  +
{| class="wikitable"
  +
|+
  +
|-
  +
! Activity Type !! Content !! Is Graded?
  +
|-
  +
| Question || What are the different kinds of Reinforcement Learning? || 1
  +
|-
  +
| Question || What is the relationship between the agent and state? || 1
  +
|-
  +
| Question || How you define fully and partially observed states? || 1
  +
|-
  +
| Question || Explain Markov decision process in fully observed situations || 1
  +
|-
  +
| Question || Implement Q learning algorithm || 0
  +
|-
  +
| Question || Analyze the performance of DQN || 0
  +
|-
  +
| Question || Understand the loss functions and network architecture details || 0
  +
|-
  +
| Question || Apply reinforcement learning to a given task || 0
  +
|}
  +
=== Final assessment ===
  +
'''Section 1'''
 
# Calculate the parameters for the given dataset
 
# Calculate the parameters for the given dataset
 
# Analyze the problem and choose the correct neural network for the given problem
 
# Analyze the problem and choose the correct neural network for the given problem
Line 171: Line 233:
 
# Different learning rates and initialization
 
# Different learning rates and initialization
 
# Batch processing and GPU consideration
 
# Batch processing and GPU consideration
  +
'''Section 2'''
 
=== Section 2 ===
 
 
==== Section title: ====
 
 
Graphical Models and Evolutionary Computation
 
 
=== Topics covered in this section: ===
 
 
* Hidden Markov Model
 
* Decoding and inferencing in graphical models
 
* Evolutionary Computation - Genetic Algorithm
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# Calculate the probabilities for making decisions
 
# Draw the graphical models for given problem
 
# Perform the classification task through graphical models
 
# Comparison of the models and gold standard test
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Implement graphical models
 
# Perform decoding task
 
# Implement inferencing task for the given problem
 
# Calculate the performance measures
 
# Analyze the model performance.
 
 
=== Test questions for final assessment in this section ===
 
 
 
# Design and analyze the graphical models
 
# Design and analyze the graphical models
 
# Dry run the model to make decisions for classification tasks
 
# Dry run the model to make decisions for classification tasks
 
# Calculate the performance measures
 
# Calculate the performance measures
 
# Perform the analysis over the given dataset
 
# Perform the analysis over the given dataset
  +
'''Section 3'''
 
=== Section 3 ===
 
 
==== Section title: ====
 
 
Collaborative Filtering and Generative Models
 
 
==== Topics covered in this section: ====
 
 
* Collaborative Filtering
 
* Simple GAN
 
* Conditional GAN
 
* Time-series prediction
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# how to find the equilibrium point in GANs?
 
# How you can define discriminator and generator?
 
# How you can make suitable setting to train the model correctly?
 
# How you will evaluate your model?
 
# What are the effects of different loss functions?
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
# Implement GAN for given task
 
# Implement conditional GAN
 
# Analysis of different loss functions
 
# Experiments to look-inside for network convergence
 
 
==== Test questions for final assessment in this section ====
 
 
 
# Design and define the generative models for the given task
 
# Design and define the generative models for the given task
 
# What are the possible solutions to make the training fast?
 
# What are the possible solutions to make the training fast?
 
# How you can initialize the data distribution and its impact.
 
# How you can initialize the data distribution and its impact.
 
# What are the possible solutions if discriminator is two strong?
 
# What are the possible solutions if discriminator is two strong?
  +
'''Section 4'''
  +
# Calculate the next move of the agent in fully observed state
  +
# Explain the model outcome in reinforcement learning scenarios
  +
# What kind of tasks we can solve through reinforcement learning models?
  +
# Calculate the value of an agent for the next move
   
=== Section 4 ===
+
=== The retake exam ===
  +
'''Section 1'''
   
==== Section title: ====
+
'''Section 2'''
   
  +
'''Section 3'''
Reinforcement Learning
 
   
  +
'''Section 4'''
==== Topics covered in this section: ====
 
 
* Value-based Reinforcement Learning
 
* Policy-based Reinforcement Learning
 
* Q-Learning
 
* Policy Gradients
 
* Deep Q Network (DQN)
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# What are the different kinds of Reinforcement Learning?
 
# What is the relationship between the agent and state?
 
# How you define fully and partially observed states?
 
# Explain Markov decision process in fully observed situations
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
# Implement Q learning algorithm
 
# Analyze the performance of DQN
 
# Understand the loss functions and network architecture details
 
# Apply reinforcement learning to a given task
 
 
==== Test questions for final assessment in this section ====
 
 
# Calculate the next move of the agent in fully observed state
 
# Explain the model outcome in reinforcement learning scenarios
 
# What kind of tasks we can solve through reinforcement learning models?
 
# Calculate the value of an agent for the next move
 

Latest revision as of 11:36, 29 August 2022

Advanced Machine Learning

  • Course name: Advanced Machine Learning
  • Code discipline: DS-02
  • Subject area:

Short Description

This course covers the following concepts: Advanced topics in machine learning; To develop research interest in the theory and application of machine learning.

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Neural Networks
  1. Neural Network Architectures
  2. Recurrent Neural Networks
  3. LSTM and Attention
Graphical Models and Evolutionary Computation
  1. Hidden Markov Model
  2. Decoding and inferencing in graphical models
  3. Evolutionary Computation - Genetic Algorithm
Collaborative Filtering and Generative Models
  1. Collaborative Filtering
  2. Simple GAN
  3. Conditional GAN
  4. Time-series prediction
Reinforcement Learning
  1. Value-based Reinforcement Learning
  2. Policy-based Reinforcement Learning
  3. Q-Learning
  4. Policy Gradients
  5. Deep Q Network (DQN)

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

This course is designed for graduate students to provide comprehensive and advance topics in machine learning. Student will learn to implement the machine learning models in Python programming environment from data science prospective. In this course, we will cover Neural Network Architectures (CNN, LSTM, Attention, RNN), Regularization, Genetic algorithm, Graphical Models (HMM), Generative models, Reinforcement learning, Collaborative filtering and recent trends in machine learning. The end of the day they will able to apply machine learning algorithms to solve real-world problems.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Understanding of in depth details about the machine learning models
  • Solve the problem in hand by apply machine learning models
  • Ability to analyze the models capacity and performances.

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • Suitability of different machine learning models in different scenarios
  • Ability to choose the right model for the given problem

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Hands on experience to implement different models to know inside behavior
  • Sufficient exposure to train and deploy model for the given task
  • Fine tune the deployed model in the real-world settings

Grading

Course grading range

Grade Range Description of performance
A. Excellent 90-100 -
B. Good 75-89 -
C. Satisfactory 60-74 -
D. Poor 0-59 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 20
Interim performance assessment 50
Exams 30

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Handouts supplied by the instructor
  • Materials from the interment and research papers shared by instructor

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3 Section 4
Development of individual parts of software product code 1 1 1 1
Homework and group projects 1 1 1 1
Midterm evaluation 1 1 1 1
Testing (written or computer based) 1 1 1 1
Discussions 1 1 1 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question What is the role of activation function in artificial neural network? 1
Question How Recurrent neural network can efficiently utilize the sequential information? 1
Question How you will evaluate the models that it learns the concept correctly? 1
Question How you distinguish different neural networks? 1
Question Implementation of neural networks for classification and regression problems 0
Question Implement neural networks of natural language processing task 0
Question Fine tune the neural networks for given problem 0
Question Find the optimal hyper-parameters to converge the neural network 0

Section 2

Activity Type Content Is Graded?
Question Calculate the probabilities for making decisions 1
Question Draw the graphical models for given problem 1
Question Perform the classification task through graphical models 1
Question Comparison of the models and gold standard test 1
Question Implement graphical models 0
Question Perform decoding task 0
Question Implement inferencing task for the given problem 0
Question Calculate the performance measures 0
Question Analyze the model performance. 0

Section 3

Activity Type Content Is Graded?
Question how to find the equilibrium point in GANs? 1
Question How you can define discriminator and generator? 1
Question How you can make suitable setting to train the model correctly? 1
Question How you will evaluate your model? 1
Question What are the effects of different loss functions? 1
Question Implement GAN for given task 0
Question Implement conditional GAN 0
Question Analysis of different loss functions 0
Question Experiments to look-inside for network convergence 0

Section 4

Activity Type Content Is Graded?
Question What are the different kinds of Reinforcement Learning? 1
Question What is the relationship between the agent and state? 1
Question How you define fully and partially observed states? 1
Question Explain Markov decision process in fully observed situations 1
Question Implement Q learning algorithm 0
Question Analyze the performance of DQN 0
Question Understand the loss functions and network architecture details 0
Question Apply reinforcement learning to a given task 0

Final assessment

Section 1

  1. Calculate the parameters for the given dataset
  2. Analyze the problem and choose the correct neural network for the given problem
  3. Explanation of the model selection and designed architecture
  4. Different learning rates and initialization
  5. Batch processing and GPU consideration

Section 2

  1. Design and analyze the graphical models
  2. Dry run the model to make decisions for classification tasks
  3. Calculate the performance measures
  4. Perform the analysis over the given dataset

Section 3

  1. Design and define the generative models for the given task
  2. What are the possible solutions to make the training fast?
  3. How you can initialize the data distribution and its impact.
  4. What are the possible solutions if discriminator is two strong?

Section 4

  1. Calculate the next move of the agent in fully observed state
  2. Explain the model outcome in reinforcement learning scenarios
  3. What kind of tasks we can solve through reinforcement learning models?
  4. Calculate the value of an agent for the next move

The retake exam

Section 1

Section 2

Section 3

Section 4