Bayes net inference

  1. 0rthodontist

    0rthodontist 1,253
    Science Advisor

    I don't understand this simple algorithm from Russel & Norvig for computing a distribution of X given certain observed values e:

    Code (Text):

    function Enumeration-Ask(X, e, bn) returns a distribution over X
        inputs: X, the query variable
            e, observed values for variables E
            bn, a Bayes net with variables {X} u E u Y /* Y = hidden variables */
       
        Q(X) <- a distribution over X, initially empty
        for each value xi of X do
            extend e with value xi for X
            Q(xi) <- Enumerate-All(Vars[bn], e)
        return Normalize(Q(X))
       
    function Enumerate-All(vars, e) returns a real number
        if Empty?(vars) then return 1.0
        Y <- First(vars)
        if Y has value y in e
            then return P(y | parents(Y)) * Enumerate-All(Rest(vars), e)
            else return the sum over y of P(y | parents(Y)) * Enumerate-All(Rest(vars), ey)
                where ey is e extended with Y = y
     
    I am having trouble understanding exactly what Enumerate-All does. Specifically I do not understand how P(y | parents(Y)) is computed. We don't know the values that the parents of Y take, do we?
     
  2. jcsd
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?

0
Draft saved Draft deleted