1. Course Identity:
Course Title: Machine Learning
Semester: 1st
Weekly Hours: 3
ECTS Credits: 6
2. Learning Objectives:
The purpose of the course is to provide students with a comprehensive overview of the field of machine learning, studying the main models and learning methods with or without supervision. Basic elements of learning theory are provided so that students gain an understanding of what is feasible from these models, their capabilities, and limitations in learning. Additionally, students are introduced to the theory and application of fuzzy systems and evolutionary algorithms.
3. Course Topics:
- Introduction: Basic concepts
- The concept of learning
- Learning Problems
- Types of Learning
- Generalization – Cross-validation
- Data and software for machine learning
Mathematical Background
- Linear algebra: vectors, matrices
- Optimization: Derivatives, gradient, potential descent
Linear Learning Models
- Least squares method
- Perceptron
- Logistic Regression and Softmax
- Fisher Linear Discriminant Analysis
Neural Networks
- Multilayer Perceptron
- MLP Training (Back-Propagation)
Deep Learning Models
- Deep Belief Networks
- Deep Auto-Encoders
- Convolutional Neural Networks
- Applications
Support Vector Machines
- Support Vector Machines (SVM)
- Support Vector Regression (SVR)
Bayesian Probabilistic Models
- Introduction to probability concepts
- Bayes rule
- Maximum a posteriori (MAP) Classification
- Bayesian Belief Networks
- Naive Bayes
Data Analysis
- Principal Component Analysis (PCA)
- Independent Component Analysis (ICA)
- Non-negative Matrix Factorization (NMF)
Clustering
- Estimation of probability distribution
- K-Means algorithm
- EM algorithm
- Hierarchical clustering
- DBSCAN algorithm
Fuzzy Systems
Evolutionary Algorithms
4. Teaching Method:
The course includes weekly theory lectures and laboratory lectures aiming to learn the Python language and related tools for deep learning model training. Students will be required to implement and evaluate machine learning models for pattern recognition or prediction in a mandatory final semester project.
5. Student Assessment Method:
The evaluation of students is based on a final written exam and the final project.
6. Equipment and Software Requirements:
The use of the Python language with packages such as TensorFlow/Keras is required. Students will be trained in using online training platforms such as Google Colab or Kaggle.
7. Recommended Bibliography:
- K. Diamantaras and D. Botsis, Machine Learning, Klidarithmos 2019.
- K. Diamantaras, Artificial Neural Networks, Klidarithmos 2007.
- Goodfellow Ian, Bengio Yoshua, and Courville Aaron, “Deep Learning,” MIT Press, 2016, http://www.deeplearningbook.org
- Theodoridis, Sergios, “Machine learning: a Bayesian and optimization perspective,” Academic Press, 2015
- C. Bishop, Pattern Recognition and Machine Learning, Springer 2006
- S. Haykin, Neural Networks and Learning Machines (3rd Edition), Prentice Hall, 2008
- J. Shawe-Taylor and N. Cristianini, Kernel Methods for Pattern Analysis, Cambridge University Press, 2004
- B. Schölkopf and A. J. Smola, Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond, MIT Press 2001
- R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification (2nd Edition), Wiley Interscience, 2000
- V. Vapnik, Statistical Learning Theory, Wiley Interscience, 1998
- K. Diamantaras and S. Y. Kung, Principal Component Neural Networks: Theory and Applications, Wiley Interscience, 1996