This is a algorithm that maps inputs to model the distribution of a output space.