Simulation and machine learning are related in that they both revolve around models, but they are very different. In fact, simulation and machine learning are almost opposites. We'll dive into the differences between the two and how they are used.

### Simulation Characteristics

With simulation the model is often known. In other words, we know how to take input values, make a calculation, and determine the output.

Inputs are unknown. Inputs (at least some of them) are random variables and we don't know their values exactly. Historical data is used to fit a probability distribution to the input or a probability distribution is constructed from expert estimates.

The goal is to find a range of outcomes by randomly sampling input values and calculating output repeatedly.

### Machine Learning Characteristics

In a machine learning problem the model is unknown initially. We have no way of determining the output value based on input values. If we have a set of data where inputs and the corresponding output are known, we can use supervised learning to train a machine learning model. Supervised learning means we keep track of how well the machine learning model is predicting versus the known outputs. Each iteration of the learning process refines the model to improve prediction.

After the machine learning model is trained we now have a model to determine output, but there is some level of uncertainty in the predicted output. This uncertainty arises from the model. In prediction mode, we still have known inputs that are fed to the model.

## Summary - Differences Between Simulation and Machine Learning

Earlier it was stated that simulation and machine learning are almost opposites. By this, we are talking about inputs and the model. With simulation, the random variable inputs aren't known exactly, but the model is often known exactly. With machine learning, the inputs are known exactly, but the model is unknown prior to training.

Regarding output, the differences are more subtle. Both give an output, but the source of uncertainty is different. In simulation, the main source of uncertainty is in the inputs. We have to repeatedly simulate to get a range of possible outputs and make statements about outcome probabilities. In machine learning, the main source of uncertainty is in the model. When making a prediction, the model is often not 100% certain of the prediction.