forest learning from data

32
Forest Learning from Data Joe Suzuki July 17, 2017

Upload: joe-suzuki

Post on 29-Jan-2018

212 views

Category:

Science


1 download

TRANSCRIPT

Page 1: Forest Learning from Data

Forest Learning from Data

Joe Suzuki

July 17, 2017

Page 2: Forest Learning from Data

Road Map

PART-II: July 24, 2017 (based on PART-I)

1. Estimating Mutual Information (15 mins)

2. Learning Forests from Data (25 mins)

3. Learning Bayesian Networks from Data (5 mins)

4. Exercise (45 mins)

PART-I: July 17, 2017

A Bayesian Approach to Data Compression

Page 3: Forest Learning from Data

Entropy

Page 4: Forest Learning from Data

Mutual Information (MI)

Page 5: Forest Learning from Data

Correlation may not detect independence!

Page 6: Forest Learning from Data

ML Estimator of MI

Page 7: Forest Learning from Data
Page 8: Forest Learning from Data

Bayesian Testing of Independence

Page 9: Forest Learning from Data
Page 10: Forest Learning from Data

Bayesian Estimation of MI

From Stirling’s formula

For large n

Page 11: Forest Learning from Data

Experiments 500 trials for binary seq. of length n=200

Page 12: Forest Learning from Data

BNSL: a CRAN package (J. Suzuki and J. Kawahara, 2017)

Bayesian Network Learning Structure

https://cran.r-project.org/web/packages/BNSL/index.html

collects research results by Joe Suzuki.

install(“BNSL”)

library(BNSL)

n=200; p=0.5; x=rbinom(n,1,p); y=rbinom(n,1,p) # seqs are generated

mi(x,y, proc=9) # I_n

mi(x,y) # J_n

Page 13: Forest Learning from Data

Tree Approximation

Page 14: Forest Learning from Data

Factorization w.r.t. A Tree

Page 15: Forest Learning from Data

Find E s.t. D(P||P’) is minimized

Page 16: Forest Learning from Data

Kruskal’s Algorithm

Page 17: Forest Learning from Data

Chow-Liu Algorithm

Page 18: Forest Learning from Data
Page 19: Forest Learning from Data
Page 20: Forest Learning from Data
Page 21: Forest Learning from Data
Page 22: Forest Learning from Data

Experiments using Asia data set

• library(BNSL)

• mm=mi_matrix(asia, proc=9) # I_n is used

• edge.list=kruskal(mm)

• g=graph_from_edgelist(edge.list, directed=FALSE)

• plot(g)

• mm=mi_matrix(asia) # J_n is used

• edge.list=kruskal(mm)

• g=graph_from_edgelist(edge.list, directed=FALSE)

• plot(g)

Page 23: Forest Learning from Data

Asia (8 variables)

S. Lauritzen, D. Spiegelhalter. Local

Computation with Probabilities on

Graphical Structures and their

Application to Expert Systems (with

discussion). Journal of the Royal

Statistical Society: Series B

(Statistical Methodology), 50(2):157-224, 1988

Page 24: Forest Learning from Data

Asia Data Set

Page 25: Forest Learning from Data

I. A. Beinlich, H. J. Suermondt, R. M. Chavez, and G. F. Cooper. The ALARM Monitoring System: A Case Study with Two Probabilistic Inference Techniques for Belief Networks. In Proceedings of the 2nd European Conference on Artificial Intelligence in Medicine, pages 247-256. Springer-Verlag, 1989.

Alarm (37 varibles)

Page 26: Forest Learning from Data

Alarm Data Set

Page 27: Forest Learning from Data

Learning Bayesian Networks from Data

The # of candidate structures with p nodes is more than exponential with p

Page 28: Forest Learning from Data

25 DAGs exist for p=3 but only 11 BNs are considered

Page 29: Forest Learning from Data
Page 30: Forest Learning from Data

7 local scores and 11 global scores

Page 31: Forest Learning from Data

• Estimating Mutual Information

• Learning Forests from Data

• Learning Bayesian Networks from Data

Summary

Page 32: Forest Learning from Data

Problem Set #2