This book presents ML concepts with a hands-on approach for physicists. The goal is to both educate and enable a larger part of the community with these skills. This will lead to wider applications of modern ML techniques in physics. Accessible to physical science students, the book assumes a famili
Machine Learning for Physicists: A hands-on approach
โ Scribed by Sadegh Raeisi, Sedighe Raeisi
- Publisher
- IOP Publishing
- Year
- 2023
- Tongue
- English
- Leaves
- 234
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
This book presents Machine Learning (ML) concepts with a hands-on approach for physicists. The goal is to both educate and enable a larger part of the community with these skills. This will lead to wider applications of modern ML techniques in physics. Accessible to physical science students, the book assumes a familiarity with statistical physics but little in the way of specialised computer science background. All chapters start with a simple introduction to the basics and the foundations, followed by some examples and then proceeds to provide concrete examples with associated codes from a GitHub repository. Many of the code examples provided can be used as is or with suitable modification by the students for their own applications.
Key Features:
Practical Hands-on approach: enables the reader to use Machine Learning
Includes code and accompanying online resources
Practical examples for modern research and uses case studies
Written in a language accessible by physics students
Complete one-semester course
The main target audience of this book is university students in physics or similar disciplines. This means that we are assuming that the audience has some basic understanding of undergraduate physics, statistics, and mathematics. Students with a strong statistics background will find many of the concepts in this book familiar. Many Machine Learning techniques have their roots in statistics. We will point out some of these concepts as we encounter them. In addition, the audience needs some basic understanding of linear algebra. This is needed in particular for understanding the mechanics of neural networks (NNs), and it has applications in other techniques such as principal component analysis (PCA) as well.
Another critical requirement of this book is proficiency in a programming language and, ideally, in Python. Different programming languages and tools such as R, MATLAB, Mathematica, and Java are used for Machine Learning. However, Python is arguably the most commonly used language for Machine Learning applications. This means that there is a large community of Python programmers who can help you find the answers to your questions. Also, many of the Machine Learning and Deep Learning tools are built for Python. Please note that this does not mean that Python is better than other programming languages, only that, from a practical view, it is more convenient.
For this book, basic familiarity with programming and basic Python syntaxes are essential. Additionally, there are libraries such as NumPy, Pandas, and Matplotlib that are extremely helpful for handling and visualization of the data and are used frequently in this context. The reader is thus encouraged to become familiar with them.
โฆ Table of Contents
PRELIMS.pdf
Outline placeholder
To Mom and Dad, Farah and HadiFor having our backs every step of the way and for being there for us all these years.
References
Acknowledgements
Author biographies
Sadegh Raeisi
Sedighe Raeisi
CH001.pdf
Chapter Preliminaries
1.1 Python
1.2 GitHub library
1.3 Datasets
References
CH002.pdf
Chapter Introduction
2.1 What is machine learning?
2.2 Applications of machine learning
2.3 Different types of machine learning
2.4 Structure of the book
References
CH003.pdf
Chapter Supervised learning
3.1 Definitions, notations, and problem statement
3.2 Ingredients of supervised learning
3.2.1 Data
3.2.2 Supervised learning models
3.2.3 Loss functions
3.2.4 Optimization techniques
3.3 Model evaluation and model selection
3.3.1 A good fit versus a good predictor: in-sample and out-sample errors
3.3.2 Over-fitting and under-fitting
3.3.3 Bias and variance trade-off
3.3.4 Model tuning
3.3.5 Metrics
3.3.6 Cross-validation
3.4 Summary
3.5 Questions
References
CH004.pdf
Chapter Neural networks
4.1 Introduction to neural networks
4.1.1 What is a neural network?
4.1.2 Notation
4.1.3 Intuition
4.1.4 Universality of neural networks
4.2 Training neural networks
4.3 Libraries for working with neural networks
4.4 Summary
References
CH005.pdf
Chapter Special neural networks
5.1 Convolutional neural network (CNN)
5.1.1 Convolution
5.2 Time-series and recurrent neural networks (RNNs)
5.2.1 Time series analysis
5.2.2 Classical models in time series forecasting
5.2.3 Recurrent neural network
5.2.4 Implementation of RNN
5.3 Graph neural network
5.3.1 Brief review of graphs
5.3.2 Different types of problems
5.3.3 GCN and embeddings
5.4 Summary
References
CH006.pdf
Chapter Unsupervised learning
6.1 Clustering
6.1.1 Mathematical definition
6.1.2 Different types of clustering
6.1.3 Evaluation of a clustering algorithm
6.1.4 Comparison of different clustering techniques
6.1.5 Implementation of clustering algorithms
6.2 Anomaly detection
6.2.1 Algorithms for anomaly detection
6.3 Dimensionality reduction
6.3.1 Auto-encoders
6.4 Summary
References
CH007.pdf
Chapter Generative models
Outline placeholder
Example: Gaussian data
7.1 Maximum likelihood estimation
7.2 Restricted Boltzmann machines
7.2.1 Training an RBM: contrastive divergence algorithm (CDA)
7.3 Generative adversarial networks (GAN)
7.4 Summary
References
๐ SIMILAR VOLUMES
Are you ready to dive into the world of Python machine learning? Look no further! "Python Machine Learning: A Beginner's Guide to Scikit-Learn" is the perfect guide for you. Written by experienced data scientist, Rajender Kumar, this book takes you on a journey through the basics of machine learn