Spring 2018

 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 

Grades: grades_pattern_2018

please if you have any complaint about your grades send me an email before 12/5


The dataset for computer vision Examples 




Main Reference:

  • Books:
    • 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

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.


Main References:

  • Books:
    • Nick McClure “TensorFlow Machine Learning Cookbook”., February 2017.




Course objective:

  1. Understand, Implement and use different machine learning algorithms such as KNN, SVM, ANN, and CNN.
  2. Learn how to install and use data science tools such as Anaconda.
  3. 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.
  4. Learn the intuition behind data science (extract knowledge from raw data).
  5. 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.
Lec 2,3
Image Classification

The data-driven approach

K-nearest neighbor

Linear classification I

Introduction to Tensorflow.
Lec 4,5


Lec5_ (1)

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 Lec6_


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.
self-reading Training Neural Networks I

-Activation functions, initialization, dropout, batch normalization


Working_with_Linear_SVMs (Implementing  Linear binary classifiers using Tensorflow).
self-reading Training Neural Networks II

-Update rules, ensembles, data augmentation, transfer learning

Using_Multiple_Layers (Implement ANN using Tensorflow)
Lec 7


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.
self-reading 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 8

Lec8_ (1)

Detection and Segmentation

Semantic segmentation

Object detection

Instance segmentation

Implement a simple CNN model in Keras.
Lec 9


Visualizing and Understanding

Feature visualization 

Case Study :

AlexNet for image classification and detection.