Tentative Syllabus for Pattern Recognition Course
– This course mainly for 3rd or 4th level students (Those who didn’t take data science track)
– Prerequisite: Math 1, Math 2, Math 3, AI (Introduction to Machine Learning), Python
Grading criteria: 10 points Midterm, 15 points DataCamp activities, 5 points Lab Participation, 20 points final Project.
- Dipanjan Sarkar, Raghav Bali, Tushar Sharma, Practical Machine Learning with Python, A Problem-Solver’s Guide to Building Real-World Intelligent Systems, 2018.
- Jason Bell, Machine Learning, Hands-On for Developers and Technical Professionals, 2014
- Online courses:
Lab Syllabus: (Eng. Wael Eid)
Programming language and open-source libraries: Python 3.6, Tensorflow 1.4.0, Numpy, Scikit-learn 0.19.1, and Keras: The Python Deep Learning Library.
Tools: Anaconda (Open Data Science Core) , Spyder.
Data—Sets: IRIS , MNIST , CIFAR-10.
- Nick McClure “TensorFlow Machine Learning Cookbook”., February 2017.
- Online courses and documentation:
- Understand, Implement and use different machine learning algorithms such as KNN, SVM, ANN, and CNN.
- Learn how to install and use data science tools such as Anaconda.
- Know what are the up to date data science libraries such as keras and tensorflow in addition to machine learning libraries such as scikit-learn.
- Learn the intuition behind data science (extract knowledge from raw data).
- Introduce what is the deep learning and why it is important nowadays.
|Lectures||Topics (not limited to)||Labs||Topics(not limited to)|
|Lec 1 Lec1||-Introduction to the course.
-Machine learning overview
-Using Computer vision as our applying theme.
|Install environment, Numpy basics.|
The data-driven approach
Linear classification I
|Introduction to Tensorflow.|
|Lec 4,5||Loss Functions and Optimization
– Linear classification II
-Higher-level representations, image features
-Optimization, stochastic – – -gradient descent with its updates (Lec5)
|Read data-set and split it into training, testing , and validation sets
Working_with_Nearest_Neighbors (Implement t KNN using tensorflow)
|Lec 6,7||Introduction to Neural Networks
-Backpropagation (Lec 6)
-Multi-layer Perceptrons (Lec 7)
-The neural viewpoint (Lec 7)
|Implement KNN using Scikit-learn and introduce the idea of cross-validation(K-fold cross validation) to select hyperparameters.|
|Lec 8||Training Neural Networks I
-Activation functions, initialization, dropout, batch normalization
|Working_with_Linear_SVMs (Implementing Linear binary classifiers using Tensorflow).|
|Lec 9||Training Neural Networks II
-Update rules, ensembles, data augmentation, transfer learning
|Using_Multiple_Layers (Implement ANN using Tensorflow)|
|Lec 10,11||Convolutional Neural Networks
Convolution and pooling
ConvNets outside vision
|Implement ANN using Keras To Know the importance of using high levels APIs such as keras.|
|Lec 12||Deep Learning Software
Caffe, Torch, Theano, TensorFlow, Keras, PyTorch, etc && CNN Architectures
AlexNet, VGG, GoogLeNet, ResNet, etc (Just examples)
|Implement ANN using Keras (learn how to create checkpoints to select model that fit our data)
Save the learned weights.
Test the model and evaluate it.
|Lec 13||Detection and Segmentation
|Implement a simple CNN model in Keras.|
|Lec 14||Visualizing and Understanding
Feature visualization and inversion
DeepDream and style transfer
|Case Study :
AlexNet for image classification and detection.