370 likes | 445 Vues
Learning in Bayesian Networks. Known Structure Complete Data. Learning. Known Structure Incomplete Data. Unknown Structure Complete Data. Unknown Structure Incomplete Data. The Learning Problem. Known Structure Complete Data. Known Structure Incomplete Data.
E N D
Known Structure Complete Data Learning Known Structure Incomplete Data Unknown Structure Complete Data Unknown Structure Incomplete Data The Learning Problem
CPTs A CPTs B Method A Method B Known Structure
+ CPTs A + CPTs B = PrA = PrB Known Structure Which probability distribution should we choose? Common criterion: Choose distribution that maximizes likelihood of data
Data D d1 d6 + CPTs A + CPTs B Likelihood of data given PrA PrA(D) = PrA (d1) … PrA (dm) Likelihood of data given PrB = PrA = PrB PrB(D) = PrB (d1) … PrB (dm) Known Structure
Complete Data: Unique set of CPTs which maximize likelihood of data Incomplete Data: No Unique set of CPTs which maximize likelihood of data Maximizing Likelihood of Data
Complete Data: Unique set of CPTs which maximize likelihood of data Incomplete Data: No Unique set of CPTs which maximize likelihood of data Maximizing Likelihood of Data
Data D d1 d6 Estimated parameter: Number of data points di with d b c = Number of data points di with b c Known Structure, Complete Data
Data D d1 d6 Known Structure, Complete Data Estimated parameter:
Network with: Nodes: n Parameters: k Data points: m Time complexity: O(m k )(straightforward implementation) Space complexity: O(k + mn)parameter count Complexity
Estimated parameters at iteration i+1 (using the CPTs at iteration i): Known Structure, Incomplete Data Pr0 corresponds to the initial Bayesian network (random CPTs)
Known Structure, Incomplete Data • EM Algorithm (Expectation-Maximization): • -Initial CPTs to random values • Repeat until convergence: • Estimate parameters using current CPTs (E-step) • Update CPTs using estimates (M-step)
Likelihood of data cannot get smaller after an iteration Algorithm is not guaranteed to return the network which absolutely maximizes likelihood of data It is guaranteed to return a local maxima: Random re-starts Algorithm is stopped when change in likelihood gets very small Change in parameters gets very small EM Algorithm
Network with: Nodes: n Parameters: k Data points: m Treewidth: w Time complexity (per iteration): O(m k n 2w)(straightforward implementation) Space complexity: O(k + nm + n 2w)parameter count + space for data + space for inference Complexity
Collaborative Filtering (CF) finds items of interest to a user based on the preferences of other similar users. Assumes that human behavior is predictable Collaborative Filtering
E-commerce Recommend products based on previous purchases or click-stream behavior Ex: Amazon.com Information sites Rate items based on previous user ratings Ex: MovieLens, Jester Where is it used?
Use the entire database of user ratings to make predictions. Find users with similar voting histories to the active user. Use these users’ votes to predict ratings for products not voted on by the active user. Memory-based Algorithms
Construct a model from the vote database. Use the model to predict the active user’s ratings. Model-based Algorithms
Use a Naïve Bayes network to model the vote database. m vote variables: one for each title. Represent discrete vote values. 1 “cluster” variable Represents user personalities Bayesian Clustering
C … V1 V2 V3 Vm Naïve Bayes
C … V1 V2 V3 Vm
Inference Evidence: known votes vk for titles k ÎI Query: title j for which we need to predict vote C … V1 V2 V3 Vm • Expected value of vote: w å = = Î p h Pr( v h | v : k I ) j j k = 1 h
Simplified Expectation Maximization (EM) Algorithm with partial data Initialize CPTs with random values subject to the following constraints: q » q » Pr( c ) Pr( v | c ) c v | c k k å å q = q = 1 1 v | c c k C v k Learning
MovieLens 943 users; 1682 titles; 100,000 votes (1..5); explicit voting MS Web – website visits 610 users; 294 titles; 8,275 votes (0,1) : null votes => 0 : 179,340 votes; implicit voting Datasets
User database is divided into: 80% training set and 20% test set. One-by-one select a user from the test set to be the active user. Predict some of their votes based on remaining votes Protocols
All-But-One Given-{Two, Five, Ten} Ia e e Q e e e e e e e e e e e Ia Q e Q e Q Q e Q Q Q e Q Q e Ia e Q Q e Q e e e e Q e e e e Ia Q Q Q Q e Q Q Q Q Q Q e Q Q
Average Absolute Deviation Ranked Scoring Evaluation Metric
Experiments were run 5 times and averaged Movielens Results
Prediction time: (Memory-based) 10 minutes per experiment; (Model-based) 2 minutes Learning time: 20 minutes per iteration n: number of data point; m: number of titles; w: number of votes per title;|C| number of personality types Computational Issues
Building networks: Nodes, Edges CPTs Inference: Posterior marginals MPE MAP Learning: EM Sensitivity Engine Demo of SamIam