The difference between these two types of can be described by the following analogy:
- Discriminative modeling: Observe paintings and determine the style of painting based on observations.
Here are a few steps that describe how we would do this in machine learning:
- First, we create a machine learning model that use convolutional layers or other learned features to understand the divisions in the data
- Next, we collect a dataset that has both a training set (60-90% of your data) and a validation dataset (10-40% of your data)
- Train the machine learning model using your data
- Use this model to predict which datapoint belongs to a particular class - in our example, which painting belongs to which author
- Generative modeling: Learn and reproduce paintings in various painters' styles and determine the painting style from the styles you learned.
Here are a few steps to describe a possible way to accomplish this type of modeling:
- Create a machine learning model that learns how to reproduce different painting styles
- Collect a training and validation dataset
- Train the machine learning model using the data
- Use this model to predict (inference) to produce examples of the paint author - use similarity metrics to verify the ability of the model to reproduce the painting style.