I would like to code bayesian networks in java to understand them better, and I have found some code of Artificial开发者_Go百科 Intelligence A Modern Approach (3rd Edition), "AIMA"
Do you recommend I read the code there and adapt to a particular problem, or how do I start? Could you please orient me where in how to use the code?
I found google has it here and here ,
I would say there is no need to look at existing code if you want to learn. You will probably learn more by doing it yourself.
A good start would be to write code that does the following:
Compute Condition Probabilities from Joint Probability table,
For example, from P(A,B,C) compute P(A|B)
Compute Joint Probability Table from complete set of Conditional Probabilities
For example, from P(A|B,C)*P(B)*P(C) compute P(A,B,C).
Given a DAG, compute if A is d-seperated from B
Do all of the above naively and then go back and try to make them efficient. It should give you a good understanding of what Bayesian Networks are (conditional probability tables) and what they are used for (reasoning about probability).
精彩评论