Skip to main content

Course Information

In this web page we provide the syllabus of the course Introduction to data science and machine learning II, offered by the Department of Physics.

The list of the courses offered during the current accademic year is available here

The list of all courses offered by the Department of Physics is available here.

Code Φ-253
Title Introduction to data science and machine learning II
Category C
ECTS 6
Hours 6
Level Undergraduate
Semester Spring
Teacher G. Neofotistos
Program Monday 17:00-20:00, Computer Room 2
Friday 17:00-20:00 Computer Room 2
Course Webpage
Goal of the Course

In modern science, technology, economics, medicine, social media, search engines, etc., a large amount of data is produced (big data), requiring specialized mathematical and computational methods to be analyzed and used. Data science is the interdisciplinary field that integrates fields such as mathematical and statistical analysis, information science, data analysis, machine learning, and other related to analyze, categorize, predict, and interpret phenomena from available data. Modern machine learning methods have played an important role in the advancement of data science. Sub-fields, such as neural network-based methods, have played a key role in recent advances in many areas such as speech recognition, machine translation, and robotics.
This course aims for the students of the Department of Physics to deepen their knowledge in the field of machine learning, using the most modern computational tools of data science with active learning methods. The course will present the mathematical concepts of machine learning and highlight their correlations with statistical physics. At the same time, we will focus on computational (hands-on) applications of these methods using data from the fields of physics and the natural sciences in general.The students will be trained in modern computing tools and programming languages ​​(Google Colab, Jupyter-Notebooks, Python, modern ML open-source computing packages). Through Google Colab, students will be able to get acquainted with the use of a state-of-the-art and constantly evolving platform, which provides them with free access to state-of-the-art processors (CPUs - GPUs and TPUs) without needing anything more than an electronic device on the Internet.

Syllabus Week 1. Introduction. Setting-up the computational environment: Introduction to Google Colaboratory and Python.

Week 2. Fully Connected Neural Networks using TensorFlow/Keras. 

Week 3. Deep Computer Vision (Ι). Convolutional Neural Networks (CNN). 

Week 4. Deep Computer Vision (ΙΙ). Pre-trained Models for Transfer Learning. 

Week 5. Unsupervised Learning (I). Autoencoders. 

Week 6. Unsupervised Learning (II). Generative Adversarial networks (GANs). 

Week 7. Time-series Analysis (Ι). Recurrent Neural Networks και CNN. 

Week 8. Time-series Analysis (ΙΙ). Natural Language Processing with RNNs. 

Week 9. Physics Informed Neural Networks. 

Week 10. Reinforcement Learning. Markov Decision Processes, Q-learning, Deep Q-learning. 

Week 11. Boltzmann Machines.
Week 12. Preparation of Final Project.

Week 13. Submission of Final Project.
Bibliography Bibliography available online, as well as:
1. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, 2nd Edition by Aurelien Geron (2019).
2. Deep Learning with Python, Manning Publications by Francois Chollet, (2017).
3. Deep Learning, by Goodfellow, Bengio and Courville (2016).