Part I Fundamentals
1.0 Introduction
1.1. Where machine learning can help engineers
1.2. Where machine learning cannot help engineers 1.3. Machine learning to correct idealized models
2. The Landscape of machine learning
2.1. Supervised learning
2.1.1. Regression
2.1.2. Classification
2.1.3. Time series
2.1.4. Reinforcement
2.2. Unsupervised Learning 2.3. Optimization
2.4. Bayesian statistics
2.5. Cross-validation 3. Linear Models
3.1. Linear regression
3.2. Logistic regression
3.3. Regularized regression
3.4. Case Study: Determining physical laws using regularized regression
4. Tree-Based Models
4.1. Decision Trees
4.2. Random Forests 4.3. BART
4.4. Case Study: Modeling an experiment using random forest models
5. Clustering data
5.1. Singular value decomposition
5.2. Case Study: SVD to standardize several time series
5.3. K-means
5.4. K-nearest neighbors
5.5. t-SNE
5.6. Case Study: The reflectance spectrum of different foliage
Part II Deep Neural Networks
6. Feed-Forward Neural Networks
6.1. Neurons 6.2. Dropout
6.3. Backpropagation
6.4. Initialization 6.5. Regression
6.6. Classification
6.7. Case Study: The strength of concrete as a function of age and ingredients 7. Convolutional Neural Networks
7.1. Convolutions
7.2. Pooling
7.3. Residual networks
7.4. Case Study: Finding volcanoes on Venus
8. Recurrent neural networks for time series data
8.1. Basic Recurrent neural networks
8.2. Long-term, Short-Term memory 8.3. Attention networks
8.4. Case Study: Predicting future system performance
Part III Advanced Topics in Machine Learning 9. Unsupervised Learning with Neural Networks
9.1. Auto-encoders
9.2. Boltzmann machines 9.3. Case study: Optimization using Inverse models
10. Reinforcement learning
10.1. Case study: controlling a mechanical gantry
11. Transfer learning
11.1. Case study: Transfer learning a simulation emulator for experimental measurements Part IV Appendices
A. SciKit-Learn
B. Tensorflow
About the Author: Ryan McClarren, Associate Professor of Aerospace and Mechanical Engineering at the University of Notre Dame, has applied machine learning to understand, analyze, and optimize engineering systems throughout his academic career. He has authored numerous publications in refereed journals on machine learning, uncertainty quantification, and numerical methods, as well as two scientific texts: Uncertainty Quantification and Predictive Computational Science: A Foundation for Physical Scientists and Engineers and Computational Nuclear Engineering and Radiological Science Using Python. A well-known member of the computational engineering community, Dr. McClarren has won research awards from NSF, DOE, and three national labs. Prior to joining Notre Dame in 2017, he was Assistant Professor of Nuclear Engineering at Texas A&M University, and previously a research scientist at Los Alamos National Laboratory in the Computational Physics and Methods group. While an undergraduate at the University of Michigan he won three awards for creative writing.