Machine Learning

The Machine Learning course is given on the eighth semester of undergraduate studies.


Introduce students to the basic concepts, elements, and techniques of Machine Learning.


By the end of the course, the student can:

  • Define the following basic machine learning problems: Regression, Classification, Clustering, Dimensionality Reduction.
  • Explain the main differences between these problems.
  • Describe and implement important models and algorithms for each of these problems.
  • Apply them to real-world problems.
  • Compare their performances.
  • Derive the theory behind ML methods taught in the course.


Main topics of the course:

  1. Supervised Learning
    1. Linear Regression
    2. Regularization, Overfitting, and Model Selection
    3. Non-parametric approach (Nearest Neighbor and Kernel Regression)
    4. Maximum Likelihood method
    5. Logistic Regression
    6. Perceptron
    7. Naive Bayes
    8. SVM
    9. Ensemble Learning
    10. Practical advice for applying Machine Learning algorithms
  2. Unsupervised Learning
    1. Clustering
    2. Dimensionality Reduction
  3. Learning Theory
    1. Union and Chernoff/Hoeffding bounds
    2. Bias/Variance tradeoffs
    3. VC dimension