Skip to content

This is to facilitate the “Machine Learning in Physics” course that I am teaching at Sharif University of Technology for winter-19 semester. For more information, see the course page at

Notifications You must be signed in to change notification settings

sraeisi/MachineLearning_Physics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



Machine Learning in Physics

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

http://sharif.edu/~sraeisi/ML


Classes

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


Reading Materials

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

Assignments

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

Course Materials

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 Colab Video 1
Video 2
Video 3
Data Data Colab Video 1
Video 2
Model Model Colab Video 1
Video 2
Video 3
Loss Functions Loss Functions Colab Video 1
Video 2
Optimization Optimization Colab Video 1
Video 2
Video 3
Model Evaluation Model Evaluation Colab Video 1
Video 2
Video 3
Video 4
Section 2 Neural Networks
Introduction: Feed Forward Introduction Colab Video 1
Video 2
Back Propagation Back Propagation Colab Video 1
Video 2
NN Libraries Colab Video 1
Video 2
Examples: Model Evaluationa & Tuning Colab
Section 3 More on Neural Networks
Convolutional Neural Networks Convolutional Neural Networks Colab
Implementation of CNN Colab
Transfer Learning Colab
Recurrent Neural Networks Recurrent Neural Networks Colab

Project

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.

Marking Scheme

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%


Requirements:

  • 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


Cheat sheets and guides

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.

About

This is to facilitate the “Machine Learning in Physics” course that I am teaching at Sharif University of Technology for winter-19 semester. For more information, see the course page at

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published