Machine Learning


Code 3.4.3403.7
Semester 7th
Category Obligatory by selection
Credits 5
Class Hours - Lab Hours 3 - 1
Lecturers Athanasios Rontogiannis, Giorgos Stamou, Athanasios Voulodimos, Paraskevi Tzouveli (T & R Associates)

Description

The syllabus of the course includes the following:

  1. Introduction to Machine Learning. Defining the main problems of Machine Learning. Review of elements of Probability Theory and Linear Algebra.
  2. Supervised learning. Linear regression and ridge regression. Bayes classifier, Bayes error. Maximum Likelihood Estimation, Logistic Regression, Gaussian Discriminant Analysis. k-nearest neighbor classifier. Neural networks (perceptron, multilayer perceptron (MultiLayer Perceptron-MLP)). Least Mean Square (LMS) algorithm. Decision trees, boosting. Kernel methods, Support Vector Machines.
  3. Learning Theory: bias/complexity tradeoff, Probably Approximately Correct learning (PAC learning), empirical risk minimization, Vapnik – Chervonenkis (VC) dimension.
  4. Overfitting/underfitting, regularization, optimization (momentum, RMSprop, Adam), model selection.
  5. Unsupervised learning. Clustering, k-means algorithm, Gaussian Mixture Models (GMMs), hierarchical clustering. Dimensionality reduction algorithms: Principal Component Analysis (PCA), Linear Discriminant Analysis (LDA).
  6. Introduction to deep learning. Deep feed-forward neural networks. Convolutional Neural Nets (CNN).
  7. Introduction to reinforcement learning. Markov Decision Processes (MDP), Bellman optimality criterion, value iteration, policy iteration.
  8. Social Impact of Machine Learning. Fairness, impartiality, explainability, privacy and trustworthiness in Machine Learning.
    The students prepare laboratory exercises in the above subjects (using Python and related libraries).
    Upon successful completion of the course, students will be able to: know the basics of Machine Learning; understand the fundamentals of supervised, unsupervised and reinforcement machine learning; understand, design and implement different models / techniques of supervised, unsupervised and reinforcement machine learning; have a critical awareness of the particular characteristics, capabilities and limitations of different machine learning techniques and choose the most appropriate ones for solving complex problems and applications; possess knowledge and skills for the pre-processing of heterogeneous data, training and performance evaluation of machine learning models in a wide range of applications.