Learning with Bayesian Networks

186 Views

Download Presentation
## Learning with Bayesian Networks

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Learning with Bayesian Networks**Author: David Heckerman Presented By: Yan Zhang - 2006 Jeremy Gould – 2013 Chip Galusha -2014**Outline**• Bayesian Approach • Bayesian vs. classical probability methods • BayesTheorm • Examples • Bayesian Network • Structure • Inference • Learning Probabilities • Dealing with Unknowns • Learning the Network Structure • Two coin toss – an example • Conclusions • Exam Questions**Bayesian vs. the Classical Approach**• Bayesian statistical methods start with existing 'prior' beliefs, and update these using data to give 'posterior' beliefs, which may be used as the basis for inferential decisions and probability assessments. • Classical probability refers to the true or actual probability of the event and is not concerned with observed behavior.**Example**We start with two concepts: • Hypothesis (H) – He either is or is not a Martian spy. • Data (D) – Some set of information about the subject. Perhaps financial data, phone records, maybe we bugged his office…**Example**Frequentist Says Bayesian Says Given a hypothesis (He IS a Martian) there is a probability P of seeing this data: P( D | H ) (Considers absolute ground truth, the uncertainty/noise is in the data.) Given this data there is a probability P of this hypothesis being true: P( H | D ) (This probability indicates our level of belief in the hypothesis.)**Bayesian vs. the Classical Approach**• Bayesian approach restricts its prediction to the next (N+1) occurrence of an event given the observed previous (N) events. • Classical approach is to predict likelihood of any given event regardless of the number of occurrences. NOTE: The Bayesian approach can be updated as new data is observed.**Bayes Theorem**where In both cases, p(y) is a marginal distribution and can be thought of as a normalizing constant which allows us to rewrite the above as:**Example – Coin Toss**• I want to toss a coin n = 100 times. Let’s denote the random variable X as the outcome of one flip: • p(X=head) = θ • p(X=tail) =1- θ • Before doing this experiment we have some belief in our mind: the prior probability. Let’s assume that this event will have a Beta distribution (a common assumption):**Example – Coin Toss**Beta Distribution If we assume a fair coin we can fix α = β = 5 which gives: (Hopefully, what you were expecting!)**Example – Coin Toss**Now I can run my experiment. As I go I can update my beliefs based on the observed heads (h) and tails (t) by applying Bayes Law to posterior, we have:**Example – Coin Toss**Since we’re assuming a Beta distribution this becomes: …our posterior probability. Supposing that we observed h = 45, t = 55, we would get:**Integration**To find the probability that Xn+1= heads, we could also integrate over all possible values of θto find the average value of θ which yields: This might be necessary if we were working with a distribution with a less obvious Expected Value.**More than Two Outcomes**• In the previous example, we used a Beta distribution to encode the states of the random variable. This was possible because there were only 2 states/outcomes of the variable X. • In general, if the observed variable X is discrete, having r possible states {1,…,r}, the likelihood function is given by: • In this general case we can use a Dirichlet distribution instead: Prior Posterior**Vocabulary Review**• Prior Probability, P( θ | y ): Prior Probability of a particular value of θ given no observed data (our previous “belief”) • Posterior Probability, P(θ | D): Probability of a particular value of θ given that D has been observed (our final value of θ). • Observed Probability or “Likelihood”, P(D|θ): Likelihood of sequence of coin tosses D being observed given that θ is a particular value. • P(D): Raw probability of D**Bayesian Advantages**It turns out that the Bayesian technique permits us to do some very useful things from a mining perspective! 1. We can use the Chain Rule with Bayesian Probabilities: This isn’t something we can easily do with classical probability! Ex. P(A,B,C)=P(A|B,C)+P(B|C)+P(C) 2. As we’ve already seen using the Bayesian model permits us to update our beliefs based on new data.**Outline**• Bayesian Approach • BayesTherom • Bayesian vs. classical probability methods Coin toss – an example • Bayesian Network • Structure • Inference • Learning Probabilities • Dealing with Unknowns • Learning the Network Structure • Two coin toss – an example • Conclusions • Exam Questions**Bayesian Network**• To create a Bayesian network we will ultimately need 3 things: • A set of Variables X={X1,…, Xn} • A Network Structure S • Conditional Probability Table (CPT) • Note that when we start we may not have any of these things or a given element may be incomplete! • Probabilities encoded by a Bayesian network may be Bayesian of physical or both**A Little Notation**• S: The network structure • Sh: The hypothesis corresponding to network structure • Sc: A complete network structure • Xi: A variable and corresponding node • Pai: The variable or node corresponding to the parents of node Xi • D: A data set**Bayesian Network: Detecting Credit Card Fraud**Let’s start with a simple case where we are given all three things: a credit fraud network designed to determine the probability of credit fraud.**Bayesian Network: Setup**• Correctly identify goals • Identify many possible relevant observations • Determine what subset of those observations is worth modeling • Organize observations into variables and order**Set of Variables**Each node represents a random variable. (Let’s assume discrete for now.)**Network Structure**Each edge/arch represents a conditional dependence between variables.**Conditional Probability Table**Each rule represents the quantification of a conditional dependency.**Conditional Dependencies**Since we’ve been given the network structure we can easily see the conditional dependencies: P(A|F,A,S,G) = P(A) P(S|F,A,S,G) = P(S) P(G|F,A,S,G) = P(G|F) P(J|F,A,S,G) = P(J|F,A,S) Need to be careful with the order!**Note that the absence of an edge indicates conditional**independence: P(A|G) = P(A)**Important Note:**The presence of a of cycle will render one or more of the relationships intractable!**Inference**Now suppose we want to calculate (infer) our confidence level in a hypothesis on the fraud variable f given some knowledge about the other variables. This can be directly calculated via: (Kind of messy…)**Inference**Fortunately, we can use the Chain Rule to simplify! = This Simplification is especially powerful when the network is sparse which is frequently the case in real world problems. This shows how we can use a Bayesian Network to infer a probability not stored directly in the model.**Now for the Data Mining!**• So far we haven’t added much value to the data. So let’s take advantage of the Bayesian model’s ability to update our beliefs and learn from new data. • First we’ll rewrite our joint probability distribution in a more compact form:**Learning Probabilities in a Bayesian Network**• First we need to make two assumptions: • There is no missing data (i.e. the data accurately describes the distribution) • The parameter vectors are independent (generally a good assumption, at least locally).**Learning Probabilities in a Bayesian Network**If these assumptions hold we can express the probabilities as: Prior Posterior • This means we can update each vector of parameters θijindependently, just as one-variable case! • If each vector θij has the prior distribution Dir(θij |aij1,…, aijri)… • …Then the posterior distribution is: • Where nijkis the number of cases in D in which Xi=xikand Pai=paij**What if we are missing data?**• Distinguish if missing data is dependent on variable states or independent of state. • If independent of state: • Monte Carlo Methods -> Gibbs Sampling • Gaussian Approximations**Dealing with Unknowns**Now we know how to use our network to infer conditional relationships and how to update our network with new data. But what if we aren’t given a well defined network? We could start with missing or incomplete: • Set of Variables • Conditional Relationship Data • Network Structure**Unknown Variable Set**Our goal when choosing variables is to: “Organize…into variables having mutually exclusive and collectively exhaustive states.” This is a problem shared by all data mining algorithms: What should we measure and why? There is not and probably cannot be an algorithmic solution to this problem as arriving at any solution requires intelligent and creative thought.**Unknown Conditional Relationships**This can be easy. So long as we can generate a plausible initial belief about a conditional relationship we can simply start with our assumption and let our data refine our model via the mechanism shown in the Learning Probabilities in a Bayesian Network slide.**Unknown Conditional Relationships**However, when our ignorance becomes serious enough that we no longer even know what is dependent on what we segue into the Unknown Structure scenario.**Learning the Network Structure**Sometimes the conditional relationships are not obvious. In this case we are uncertain with the network structure: we don’t know where the edges should be.**Learning the Network Structure**Theoretically, we can use a Bayesian approach to get the posterior distribution of the network structure: Unfortunately, the number of possible network structure increase exponentially with n – the number of nodes. We’re basically asking ourselves to consider every possible graph with n nodes!**Learning the Network Structure**Two main methods for shortening the search for a network model: • Model Selection • To select a “good” model (i.e. the network structure) from all possible models, and use it as if it were the correct model. • Selective Model Averaging • To select a manageable number of good models from among all possible models and pretend that these models are exhaustive. The math behind both techniques is quite involved so I’m afraid we’ll have to content ourselves with a toy example today.**Two Coin Toss Example**P(X2|X1) p(H|H) = 0.1p(T|H) = 0.9p(H|T) = 0.9p(T|T) = 0.1 Sh1 Sh2 X1 X2 X1 X2 • Experiment: flip two coins and observe the outcome • Propose two network structures: Sh1 or Sh2 • Assume P(Sh1)=P(Sh2)=0.5 • After observing some data, which model is more accurate for this collection of data? p(H)=p(T)=0.5 p(H)=p(T)=0.5**Two Coin Toss Example**…. ….**Two Coin Toss Example**. . .**Outline**• Bayesian Approach • BayesTherom • Bayesian vs. classical probability methods • coin toss – an example • Bayesian Network • Structure • Inference • Learning Probabilities • Learning the Network Structure • Two coin toss – an example • Conclusions • Exam Questions**Conclusions**• Bayesian method • Bayesian network • Structure • Inference • Learning with Bayesian Networks • Dealing with Unknowns