#### Overview of this book

Simulation modeling helps you to create digital prototypes of physical models to analyze how they work and predict their performance in the real world. With this comprehensive guide, you'll understand various computational statistical simulations using Python. Starting with the fundamentals of simulation modeling, you'll understand concepts such as randomness and explore data generating processes, resampling methods, and bootstrapping techniques. You'll then cover key algorithms such as Monte Carlo simulations and Markov decision processes, which are used to develop numerical simulation models, and discover how they can be used to solve real-world problems. As you advance, you'll develop simulation models to help you get accurate results and enhance decision-making processes. Using optimization techniques, you'll learn to modify the performance of a model to improve results and make optimal use of resources. The book will guide you in creating a digital prototype using practical use cases for financial engineering, prototyping project management to improve planning, and simulating physical phenomena using neural networks. By the end of this book, you'll have learned how to construct and deploy simulation models of your own to overcome real-world challenges.
Preface
Section 1: Getting Started with Numerical Simulation
Free Chapter
Chapter 1: Introducing Simulation Models
Chapter 2: Understanding Randomness and Random Numbers
Chapter 3: Probability and Data Generation Processes
Section 2: Simulation Modeling Algorithms and Techniques
Chapter 4: Exploring Monte Carlo Simulations
Chapter 5: Simulation-Based Markov Decision Processes
Chapter 6: Resampling Methods
Chapter 7: Using Simulation to Improve and Optimize Systems
Section 3: Real-World Applications
Chapter 8: Using Simulation Models for Financial Engineering
Chapter 9: Simulating Physical Phenomena Using Neural Networks
Chapter 10: Modeling and Simulation for Project Management
Chapter 11: What's Next?
Other Books You May Enjoy

# Deepening our knowledge of stochastic gradient descent

As we mentioned in the Exploring the gradient descent technique section, the implementation of the gradient descent method consists of initially evaluating both the function and its gradient, starting from a configuration chosen randomly in the space of dimensions.

From here, we try to move in the direction indicated by the gradient. This establishes a direction of descent in which the function tends to a minimum and examines whether the function actually takes on a value lower than that calculated in the previous configuration. If so, the procedure continues iteratively, recalculating the new gradient. This can be totally different from the previous one. After this, it starts again in search of a new minimum.

This iterative procedure requires that, at each step, the entire system status is updated. This means that all the parameters of the system must be recalculated. From a computational point of view, this equates to an...