This is to facilitate the “Machine Learning in Physics” course that I am teaching at Sharif University of Technology for winter-21 semester. For more information, see the course page at
We have our sessions on Saturday and Monday, 15-16.30 Tehran time (GMT+3:30).
The course is presented on online and the link of the class is:
https://vc.sharif.edu/ch/sraeisi
-
Raeisi, S., & Raeisi, S. (2023). Machine Learning for Physicists: A hands-on approach. IOP Publishing.
-
Mehta, Pankaj, et al. "A high-bias, low-variance introduction to machine learning for physicists." Physics Reports (2019).
-
Nielsen, Michael A. Neural networks and deep learning. Vol. 25. San Francisco, CA, USA:: Determination press, 2015. (Available online )
-
Chollet, Francois. Deep learning with Python. Simon and Schuster, 2021.
-
Albon, Chris. Machine learning with python cookbook: Practical solutions from preprocessing to deep learning. " O'Reilly Media, Inc.", 2018.
-
Stevens, Eli, Luca Antiga, and Thomas Viehmann. Deep Learning with PyTorch. Manning Publications, 2020.
Assigment | Deadline and Submission link | Solutions |
---|---|---|
A1: Problem statement | Mehr 10th | |
A2: Data | Mehr 24th | |
A3: Model, Loss & Optimization | Aban 8th | |
A4: Optimization & Model Evaluation | Azar 5th |
The course material is posted here. If you come across a mistake or problem, please let me know.
Also, the videos of some(most) of the lectures are posted here. These videos are in Farsi.
Topic | Lecture notes | Notebook(s) | Videos |
---|---|---|---|
Section 1 | Basics of Machine Learning | ||
Introduction | Introduction to ML | Video 1 Video 2 Video 3 |
|
Data | Data | Video 1 Video 2 |
|
Model | Model | Video 1 Video 2 Video 3 |
|
Loss Functions | Loss Functions | Video 1 Video 2 |
|
Optimization | Optimization | Video 1 Video 2 Video 3 |
|
Model Evaluation | Model Evaluation | Video 1 Video 2 Video 3 Video 4 |
|
Section 2 | Neural Networks | ||
Introduction: Feed Forward | Introduction | Video 1 Video 2 |
|
Back Propagation | Back Propagation | Video 1 Video 2 |
|
NN Libraries | Video 1 Video 2 |
||
Examples: Model Evaluationa & Tuning | |||
Section 3 | More on Neural Networks | ||
Convolutional Neural Networks | Convolutional Neural Networks | ||
Implementation of CNN | |||
Transfer Learning | |||
Recurrent Neural Networks | Recurrent Neural Networks |
Milestone | Due date | Submission Link |
---|---|---|
Data | Mehr 30th | Submit here. |
Traditional ML techniques | Aban 30th | Submit here. |
Neural Networks: Same as MS2 but with NN | Azar 30th | Submit here. |
This is a tentative plan and we may change it as we move on.
-
Course Project: 40-60%
-
Assignments: 20-40%
-
Exam: 0-30%
-
Class Participation 5-10%
-
Decent understanding of programming and python and the following libraries
-
Numpy
-
Pandas
-
Plotting and graphical presentation tools in python
-
-
Git and Github (if you not familiar, let me know.)
-
Basic understanding of quantum mechanics and statistics.
-
Basic understanding of machine learning
See the files in the CheatSheet folder.
Item | Description |
---|---|
Jupyter | Jupyter provides an interactive environment for programming. We will be mostly using the python 3 kernel. |
Git and Github | Git provides a strong infrastructure for version control. Github is web-based hosting service for version control and it also provides services for collaboration. |
Python | It is the programming language that we will be mostly using for this course. |
NumPy | It’s a python library that provides strong and efficient tools for manipulation of high-dimensional arrays. |
SciPy | It’s a python library, built on NumPy for mathematical and scientific computing. |
Pandas_basics Pandas 2 Importing data |
It’s a python library, built on NumPy that provides efficient tools for handling and analysis of data. |
Matplotlib Seaborn |
These are two of the most common python library for visualization. |
Scikit-Learn | It’s a python library that provides a nice and fairly efficient implementation of most the machine learning techniques and ideas. |
Keras | It is python library that provides a high-level and easy-to-use interface for Tensorflow and some other deep learning libraries. |