Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Machine Learning

Mahmood Amintoosi, Fall 2026

Computer Science Dept, Ferdowsi University of Mashhad

Required, 4 credits — M.Sc. Computer Science, Soft Computing and Artificial Intelligence track.


About this course

This course gives an integrated picture of machine learning foundations, hypothesis and model evaluation, and the use of methods on problems of moderate complexity. It is designed for new M.Sc. students from mixed undergraduate backgrounds: we start from shared concepts and standard evaluation, then move from simple models to more advanced ones, with enough mathematics to use classical methods carefully.

Learning paradigms: supervised, unsupervised, and semi-supervised learning.
Tasks: classification, regression, clustering, and ranking.
Themes: overfitting and underfitting, the bias–variance tradeoff, the curse of dimensionality, and principled model comparison.

Topics progress roughly as: local models (kNN) and k-means →\rightarrow high-dimensional data and dimensionality reduction (PCA, LDA) →\rightarrow linear models and gradient methods →\rightarrow neural networks (MLP, backpropagation) →\rightarrow kernel methods →\rightarrow Bayesian learning and decision theory →\rightarrow Gaussian mixtures and EM →\rightarrow Decision trees →\rightarrow learning to rank and learning theory →\rightarrow advanced topics and a project.

The Spring 2025 snapshot of this book is tagged 2025-spring.

Learning outcomes

By the end of the course, you should be able to:

Prerequisites

An introductory review of some material is included in the course. You do not need to have taken a full ML course before, but basic familiarity with the vocabulary helps.

Student work

Pre-class reading, class discussion, theoretical and practical exercises, algorithm implementation (Python / scikit-learn, and from scratch when needed), student seminars (learning to rank; computational learning theory and VC dimension), and an applied project (data preparation, comparison of several models, evaluation and report).

AI tools policy

AI tools are allowed but not a substitute for your own understanding. You may use them to learn concepts, debug code, brainstorm, review code, and improve writing. You may not present AI-generated content as your own independent work without reviewing and understanding it. You are responsible for scientific accuracy, code, results, and sources; in assessed work you may be asked to explain your process and technical decisions.

Assessment

Quizzes during the term and a final exam · assignments · project · student presentations/seminars · active participation in class.

Teaching method

Course notes and Jupyter notebooks in this book (GitHub), programming in Python and scikit-learn; in-class teaching and troubleshooting with discussion, Q&A, worked examples, and student presentations. Teaching is in person, with use of the VU system where needed.

Questions?

Office hours: Sunday 8:00–9:30, or email m.amintoosi@um.ac.ir, or talk after class, or book a slot.

Slack

Join the FUM CS Slack for course discussion.


Textbooks

  1. M. J. Zaki and W. Meira Jr., Data Mining and Machine Learning: Fundamental Concepts and Algorithms. Cambridge University Press, 2020.

  2. R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, 2nd ed. John Wiley & Sons, 2001.

  3. T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning, 2nd ed. Springer, 2009.

  4. C. M. Bishop, Pattern Recognition and Machine Learning. Springer, 2006.

  5. K. P. Murphy, Machine Learning: A Probabilistic Perspective. MIT Press, 2012.

  6. S. Theodoridis, Machine Learning: A Bayesian and Optimization Perspective, 2nd ed. Academic Press, 2020.

  7. J. VanderPlas, Python Data Science Handbook. O’Reilly Media, 2016. Jupyter notebooks on GitHub

In addition to the textbooks, selected research and survey papers will be used—on bias–variance and model complexity, the curse of dimensionality, dimensionality reduction (PCA/LDA), kernel methods, learning to rank, and computational learning theory (including VC dimension). For seminar sessions, a short reading list will be provided.


Part of the early material is adapted from the Open Machine Learning Course by Joaquin Vanschoren and others. Later chapters reuse and adapt notebooks from related FUM courses; we thank the original authors.