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
-
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. |