39
Introduction Case Study Probabilistic Programming Conclusion Introduction to Model-Based Machine Learning Daniel Emaasit 1 1 Ph.D. Student Department of Civil and Environmental Engineering University of Nevada Las Vegas Las Vegas, NV USA [email protected] July 20 2016 1 / 39

Introduction to Model-Based Machine Learning

Embed Size (px)

Citation preview

Page 1: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Introduction to Model-Based MachineLearning

Daniel Emaasit1

1Ph.D. StudentDepartment of Civil and Environmental Engineering

University of Nevada Las VegasLas Vegas, NV USA

[email protected]

July 20 2016

1 / 39

Page 2: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Introduction

2 / 39

Page 3: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

3 / 39

Page 4: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Current Challenges in Adopting Machine Learning

I Generally, current challenges in adopting ML:I Overwhelming number of traditional ML methods to learnI Deciding which algorithm to use or whyI Some custom problems may not fit with any existing

algorithm

4 / 39

Page 5: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

What is Model-Based Machine Learning?

I A different viewpoint for machine learning proposed byBishop (2013)1, Winn et al. (2015)2

I Goal:I Provide a single development framework which supports the

creation of a wide range of bespoke models

I The core idea:I all assumptions about the problem domain are made

explicit in the form of a model

1Bishop, C. M. (2013). Model-Based Machine Learning. PhilosophicalTransactions of the Royal Society A, 371, pp 1–17

2Winn, J., Bishop, C. M., Diethe, T. (2015). Model-Based MachineLearning. Microsoft Research Cambridge. http://www.mbmlbook.com.

5 / 39

Page 6: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

What is a Model in MBML?

I A Model:I is a set of assumptions, expressed in mathematical/graphical

formI expresses all parameters, variables as random variablesI shows the dependency between variables

6 / 39

Page 7: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Key Ideas of MBML?

I MBML is built upon 3 key ideasI the use of Probabilistic Graphical Models (PGM)I the adoption of Bayesian MLI the application of fast, approximate inference algorithms

7 / 39

Page 8: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Key Idea 1: Probabilistic Graphical Models

I Combine probability theory with graphs (e.g Factor Graphs)

8 / 39

Page 9: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Key Idea 2: Bayesian Machine Learning

I Everything follows from two simple rules of probabilitytheory

9 / 39

Page 10: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Key Idea 3: Inference Algorithms

I the application of fast, deterministic inference algorithms bylocal message passing

I Variational BayesI Expectation Propagation

10 / 39

Page 11: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Stages of MBML

I 3 stages of MBMLI Build the model: Joint probability distribution of all the

relevant variables (e.g as a graph)I Incorporate the observed dataI Perform inference to learn parameters of the latent

variables

11 / 39

Page 12: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Special cases of MBML

12 / 39

Page 13: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Benefits of MBML

I Potential benefits of this approachI Provides a systematic process of creating ML solutionsI Allows for incorporation of prior knowledgeI Allows for handling uncertainity in a principled mannerI Does not suffer from overfittingI Custom solutions are built for specific problemsI Allows for quick building of several alternative modelsI Easy to compare those alternativesI It’s general purpose: No need to learn the 1000s of existing

ML algorithmsI Separates model from inference/training code

13 / 39

Page 14: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Case Study

14 / 39

Page 15: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

TrueSkillTM by Microsoft

I Objective: Determine the true skill of millions of playerson Xbox Live

I Why: So that players of the same skill can be matched witheach other

15 / 39

Page 16: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Stage 1: Build the Model

16 / 39

Page 17: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Stage 2: Incorporate Observed data

17 / 39

Page 18: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Stage 3: Learn the parameters

18 / 39

Page 19: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Convergence

19 / 39

Page 20: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Multiple players - Model

20 / 39

Page 21: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Team players - Model

21 / 39

Page 22: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Skill through time - Model

22 / 39

Page 23: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Probabilistic Programming

23 / 39

Page 24: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

What is Probabilistic Programming?

I A software package that takes the model and thenautomatically generate inference routines (even source code!)to solve a wide variety of models

I Takes programming languages and adds support for:I random variablesI constraints on variablesI inference

I Examples of PP software packagesI Infer.Net (C#, C++)I Stan (R, python, C++)I BUGSI churchI PyMC (python)

24 / 39

Page 25: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

How Probabilistic Programming works

I How infer.NET works

25 / 39

Page 26: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Conclusion

26 / 39

Page 27: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Closing Remarks

I Objective of webinar:I Introduce the basics of model-based machine learning,I Introduce probabilistic programming.

I Moving forward: Now you can look into specialized topicslike:

I Fast Bayesian inference techniques,I Model building,

27 / 39

Page 28: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

References

1. J. Winn, C. Bishop, and T. Diethe, Model-Based MachineLearning,Microsoft Research,2015.

2. C. M. Bishop, “Model-based machine learning” Phil Trans RSoc, A 371: 20120222, Jan. 2013

3. T. Minka, J. Winn, J. Guiver, and D. Knowles, Infer.NET,Microsoft Research Cambridge,2010.

4. Stan Development Team, “Stan Modeling Language UsersGuide and Reference Manual,” Version 2.9.0, 2016.

5. Stan Development Team, “RStan: the R interface to Stan,”Version 2.9.0”.

6. D. Emaasit, A. Paz, and J. Salzwedel (2016). “AModel-Based Machine Learning Approach for CapturingActivity-Based Mobility Patterns using Cellular Data”.IEEE ITSC 2016. Under Review.

28 / 39

Page 29: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Contact Me

I [email protected] github.com/EmaasitI www.danielemaasit.comI [@Emaasit](https://twitter.com/Emaasit)

29 / 39

Page 30: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Two players - Model

30 / 39

Page 31: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Two players - Code

31 / 39

Page 32: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Multiple players - Model

32 / 39

Page 33: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Multiple players - Code

33 / 39

Page 34: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Team players - Model

34 / 39

Page 35: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Team players - Code

35 / 39

Page 36: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Skill through time - Model

36 / 39

Page 37: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

Skill through time - Code

37 / 39

Page 38: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

y

w x

τ

N

M

y

N

dot

w x

µw αw µx αx

τ

ατ βτ

N N

G

N

M

Figure 1: PCA model as a Bayesian network and a directed factorgraph.

38 / 39

Page 39: Introduction to Model-Based Machine Learning

Introduction Case Study Probabilistic Programming Conclusion

X

T

θ

αθ

Multi

Multi

Dir

φ

αφ

Dir

∀1 ≤ i ≤ nd

∀d ∈ D

∀t ∈ T

Figure 2: Latent Dirichlet allocation as directed factor graph.

39 / 39