It’s not an exhaustive answer to your question, but here some aspects that might be helpful: A common problem in supervised learning where you will see KL-divergence used are classification tasks. Very often in those cases the data points in the training set are assumed to belong to a single class and the class membership is represented by one-hot encoding, which corresponds to P being 1 for the class the data point belongs to and 0 for all other classes. The loss function mosty used in this problems is the average categorical cross-entropy $E_p[-log(q)] = H(p) - D(p || q)$, which in the case of single-class membership reduces to the binary cross-entropy, because only one P value is non-zero and the cross-entropy becomes $-\log(q)$. The reverse KL-Divergence is strictly speaking not even defined in this case, as P needs to be absolute continuous w.r.t. Q. There are of course cases were class membership is probabilistic also in the training data and the above argument doesn't apply. From a more conceptual point of view, [this answer][1] summaries nicely the relation of cross entropy to maximizing the likelihood of the observed data under the model. Using the reverse cross-entropy would maximize the likelihood of a sample drawn from the model under the (empirical) distribution of the observed data. A small side note when you read the above link is that in the above described classification problem we have a probability model for the class membership for *each* point in the input space, this is why the average cross-entropy is minimized. Classification problems are of course just one case of supervised learning, so this answer might not fully cover your question. And sorry for the bit sloppy notation, I will correct that later when I have a bit more time.. [1]: https://datascience.stackexchange.com/questions/9302/the-cross-entropy-error-function-in-neural-networks