Q:

How to assume the Probability function that will be used in Likelihood

We define Likelihood as follows:
$$ \mathcal{L}(\theta | X) = \prod P(x_{i}|\theta) $$
Question: How to assume the probability function $P$, specially in case of complex dataset?
I understand that if we are doing a Coin Toss, I can assume $P$ to be Bernoulli. But what if my dataset is complex (ex: financial data, flu cases) or I am working on some complex use case where I am using a Neural Network to classify images for example and then applying Bayesian inference for identifying the network weights $W$.
$$ P(W | D) \propto P(D | W) P(W)$$
where,
$$ P(W) = N(0, 1) $$
but how do we define / assume, 
$$  P(D | W) = ?? $$

A:

I found a wonderful resource online that describes this question in much detail. 
Bayesian Methods for Neural Networks: https://www.cs.cmu.edu/afs/cs/academic/class/15782-f06/slides/bayesian.pdf
Also, see chapter 10 of 'Neural Networks for Pattern Recognition' book by Bishop: http://cs.du.edu/~mitchell/mario_books/Neural_Networks_for_Pattern_Recognition_-_Christopher_Bishop.pdf#page=400

