Course Code |
CSC368 |
Course Title |
Machine Learning |
Credit Hours |
3+0 |
Prerequisites by Course(s) and Topics |
Good knowledge of Mathematics, Statistics and probability Multivariable calculus, Linear algebra, Matrices programming, Preferably some knowledge of image processing |
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) |
SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
|
Course Coordinator |
Muhammad Faraz Manzoor |
URL (if any) |
|
Current Catalog Description |
|
Textbook (or Laboratory Manual for Laboratory Courses) |
1. Elements of Statistical Learning 2. Pattern Recognition & Machine Learning, 1st Edition, Chris Bishop 3. Machine Learning: A Probabilistic Perspective, 1st Edition, Kevin R Murphy 4. Applied Machine Learning, online Edition, David Forsyth, |
Reference Material |
http://luthuli.cs.uiuc.edu/~daf/courses/LearningCourse17/learning-book-6-April-nn- revision.pdf |
Course Goals |
The aim of this course is to study, learn, and understand Machine learning / Deep learning. It enables computers to learn from examples and understand Machine learning / Deep learning Deep learning techniques have been used successfully for variety of applications, including: automatic speech recognition, image recognition, natural language processing, age estimation, crack detection, etc. |
Course Learning Outcomes (CLOs): |
At the end of the course the students will be able to: | Domain | BT Level* |
Understand and describe how computers can learn from experience |
BT |
1 |
Use statistical techniques for classification and measuring their accuracy |
BT |
2 |
Apply supervised learning techniques for classification |
BT |
3 |
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain |
|
|
|
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures) |
Week | Lecture | Topics Covered |
Week 1 |
1 |
● Class introduction ● Class overview: Class organization, topics overview, software etc. |
|
2 |
● Introduction: what is ML; Problems, data, and tools; Python (I) |
Week 2 |
3 |
● Machine Learning Fundamentals |
|
4 |
● Examples/Applications |
Week 3 |
5 |
● Linear regression; Logistic regression, Neural Networks |
|
6 |
● gradient descent; features ● Overfitting and complexity; training, validation, test data |
Week 4 |
7 |
Introduction to Neural Networks (model of a biological neuron, activation functions, neural net architecture, Perceptron) |
|
8 |
Building Neural Networks (data preprocessing, loss functions, weight initialization, regularization, dropout, batch normalization, Linear classification, Soft max) and Regularization, Gradient Descent & Stochastic Gradient Descent (SGD), Back propagation |
Week 5 |
9 |
Classification problems; decision trees, |
|
10 |
nearest neighbor methods |
Week 6 |
11 |
Linear classifiers, Bayes' Rule |
|
12 |
Naive Bayes Model |
Week 7 |
13 |
Unsupervised learning: clustering |
|
14 |
k-means Clustering Latent space methods; PCA |
Week 8 |
1 hours |
Mid Term |
Week 9 |
15 |
Support vector machines and large-margin classifiers Time series; |
|
16 |
Markov models; |
Week 10 |
17 |
Midterms` |
|
18 |
Introduction to Convolutional Neural Networks (CNN) and its components (Convolution and Pooling Layers), |
Week 11 |
19 |
Convolutional Neural Network case studies (Imagenet/ AlexNet/ Minist/Iris), |
|
20 |
Introduction to Natural Language Processing (NLP) |
Week 12 |
21 |
Learning word and sentences embedding |
|
22 |
Introduction to Natural Language Processing (NLP) |
Week 13 |
23 |
Learning word and sentences embedding (Continued) |
|
24 |
Case Study (Deep Learning based Chatbot) |
Week 14 |
25 |
Introduction to recurrent networks (RNNs, LSTMS, etc.) |
|
26 |
Applications of Recurrent neural networks to different NLP tasks |
Week 15 |
27 |
Autoencoders |
|
28 |
Autoencoders |
Week 16 |
29 |
GANs |
|
30 |
GANs |
Week 17 |
2 hours |
Final Term |
|
Laboratory Projects/Experiments Done in the Course |
None |
Programming Assignments Done in the Course |
None |