Pat Langley Institute for the Study of Learning and Expertise Javier Sanchez CSLI / Stanford University Ljupco Todorovski Saso Dzeroski Jozef Stefan Institute.

Slides:



Advertisements
Similar presentations
Computational Revision of Ecological Process Models
Advertisements

TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
©2011 1www.id-book.com Evaluation studies: From controlled to natural settings Chapter 14.
1 Probability and the Web Ken Baclawski Northeastern University VIStology, Inc.
Pat Langley Dileep George Stephen Bay Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford,
Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, California
Pat Langley Arizona State University and Institute for the Study of Learning and Expertise Expertise, Transfer, and Innovation in.
Pat Langley Institute for the Study of Learning and Expertise Palo Alto, California and Center for the Study of Language and Information Stanford University,
Pat Langley Institute for the Study of Learning and Expertise Palo Alto, California and Center for the Study of Language and Information Stanford University,
Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, California
Pat Langley Center for the Study of Language and Information Stanford University, Stanford, California
Pat Langley School of Computing and Informatics Arizona State University Tempe, Arizona Computational Discovery.
Pat Langley Center for the Study of Language and Information Stanford University, Stanford, California
Pat Langley Center for the Study of Language and Information Stanford University, Stanford, California
Pat Langley Institute for the Study of Learning and Expertise 2164 Staunton Court, Palo Alto, California and School of Computing and Informatics Arizona.
Pat Langley School of Computing and Informatics Arizona State University Tempe, Arizona Computational Discovery of Explanatory Process Models Thanks to.
Pat Langley Institute for the Study of Learning and Expertise Palo Alto, California and Center for the Study of Language and Information Stanford University,
Pat Langley Computer Science and Engineering / Psychology Arizona State University Tempe, Arizona Challenges and Opportunities in Informatics Research.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLYING MONOMIALS TIMES POLYNOMIALS (DISTRIBUTIVE PROPERTY)
MULTIPLICATION EQUATIONS 1. SOLVE FOR X 3. WHAT EVER YOU DO TO ONE SIDE YOU HAVE TO DO TO THE OTHER 2. DIVIDE BY THE NUMBER IN FRONT OF THE VARIABLE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Objectives Uncertainty analysis Quality control Regression analysis.
Exponential Applications Exponential Growth and Decay Models.
Cancer-Focused News Coverage and Information Seeking Jeff Niederdeppe, Dominick Frosch & Robert Hornik Center of Excellence in Cancer Communication Research.
Warm-ups. Monday August 27 What do you want to learn about in science?
Evidence for Complex Causes
1 Panel Data Analysis – Advantages and Challenges Cheng Hsiao.
Solving Equations How to Solve Them
3.2 Chapter 3 Quadratic Equations. To solve quadratic equations by factoring, apply the which states that, if the product of two real numbers is zero,
Machine Learning: Intro and Supervised Classification
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
Science as a Process Chapter 1 Section 2.
Chapter 5 Test Review Sections 5-1 through 5-4.
Addition 1’s to 20.
25 seconds left…...
Connection Patterns & Functions.2
Test B, 100 Subtraction Facts
Introduction to Science and the Scientific Method
An Adaptive System for User Information needs based on the observed meta- Knowledge AKERELE Olubunmi Doctorate student, University of Ibadan, Ibadan, Nigeria;
Determining How Costs Behave
Week 1.
2.4 – Solving Equations with the Variable on Each Side.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 20 User Research.
Learning Outcomes Participants will be able to analyze assessments
Multiple Regression and Model Building
Chapter 14 Simulation. 2 What Is Simulation?  Simulation: A model of a complex system and the experimental manipulation of the model to observe the results.
Pat Langley School of Computing and Informatics Arizona State University Tempe, Arizona Institute for the Study of Learning and Expertise Palo Alto, California.
Research in Psychology. Questions What can we find out with research? Why should we believe scientists? Isn’t Psychology just common sense?
Chapter 1 The Nature of Science
Unit 2: Engineering Design Process
Scientific Method What is Science? Science is a process. Science often starts with a question.
Notes on Research Design You have decided –What the problem is –What the study goals are –Why it is important for you to do the study Now you will construct.
Section 2 Scientific Methods Chapter 1 Bellringer Complete these two tasks: 1. Describe an advertisement that cites research results. 2. Answer this question:
Math I Cluster Quiz Data. Math I Unit 2 Represent & Solve Equations & Inequalities Graphically.
A ______________ is a testable explanation hypothesis.
Science Terms TAKS Objective 1.
What is Science?. Science is: The study of processes/observations that determines information.
Science: A Way of Knowing Chapter 1 Great Idea: Science is a way of asking and answering questions about the physical universe.
Chapter 1: Section 1 What is Science?. What Science IS and IS NOT.. The goal of Science is to investigate and understand the natural world, to explain.
Helpful hints for planning your Wednesday investigation.
Chapter 1 MWHS IPC. Science is a method for studying the natural world. It is a process that uses observation and investigation to gain knowledge about.
Borrett et al Computational Discovery of Process Models for Aquatic Ecosystems August 2006 Ecological Society of America, Memphis, TN Natasa Atanasova.
Week 3 Vocabulary Science Scientific Method Engineering Method
منهج البحث العلمي ( Scientific Research Method )
1.2 Science in Context----Outline
Sociology: An Introduction
Presentation transcript:

Pat Langley Institute for the Study of Learning and Expertise Javier Sanchez CSLI / Stanford University Ljupco Todorovski Saso Dzeroski Jozef Stefan Institute Inducing Process Models from Continuous Data Supported by NTT Communication Science Laboratories, by Grant NCC from NASA Ames Research Center, and by EU Grant IST

Exploratory Research in Machine Learning define a challenging new problem for machine learning; define a challenging new problem for machine learning; show that established methods cannot solve the problem; show that established methods cannot solve the problem; present an initial approach that addresses the new task; and present an initial approach that addresses the new task; and outline an agenda for future research efforts in the area. outline an agenda for future research efforts in the area. Dietterich (1990) claims an exploratory research report should: In this talk, we explore the problem of inducing process models from continuous data.

process exponential_growth variables: P {population} variables: P {population} equations: d[P,t] = [0, 1, ] P equations: d[P,t] = [0, 1, ] P process logistic_growth variables: P {population} variables: P {population} equations: d[P,t] = [0, 1, ] P (1 P / [0, 1, ]) equations: d[P,t] = [0, 1, ] P (1 P / [0, 1, ]) process constant_inflow variables: I {inorganic_nutrient} variables: I {inorganic_nutrient} equations: d[I,t] = [0, 1, ] equations: d[I,t] = [0, 1, ] process consumption variables: P1 {population}, P2 {population}, nutrient_P2 variables: P1 {population}, P2 {population}, nutrient_P2 equations: d[P1,t] = [0, 1, ] P1 nutrient_P2, equations: d[P1,t] = [0, 1, ] P1 nutrient_P2, d[P2,t] = [0, 1, ] P1 nutrient_P2 d[P2,t] = [0, 1, ] P1 nutrient_P2 process no_saturation variables: P {number}, nutrient_P {number} variables: P {number}, nutrient_P {number} equations: nutrient_P = P equations: nutrient_P = P process saturation variables: P {number}, nutrient_P {number} variables: P {number}, nutrient_P {number} equations: nutrient_P = P / (P + [0, 1, ]) equations: nutrient_P = P / (P + [0, 1, ]) Inductive Process Modeling model AquaticEcosystem variables: nitro, phyto, zoo, nutrient_nitro, nutrient_phyto observables: nitro, phyto, zoo process phyto_exponential_growth equations: d[phyto,t] = 0.1 phyto equations: d[phyto,t] = 0.1 phyto process zoo_logistic_growth equations: d[zoo,t] = 0.1 zoo / (1 zoo / 1.5) equations: d[zoo,t] = 0.1 zoo / (1 zoo / 1.5) process phyto_nitro_consumption equations: d[nitro,t] = 1 phyto nutrient_nitro, equations: d[nitro,t] = 1 phyto nutrient_nitro, d[phyto,t] = 1 phyto nutrient_nitro d[phyto,t] = 1 phyto nutrient_nitro process phyto_nitro_no_saturation equations: nutrient_nitro = nitro equations: nutrient_nitro = nitro process zoo_phyto_consumption equations: d[phyto,t] = 1 zoo nutrient_phyto, equations: d[phyto,t] = 1 zoo nutrient_phyto, d[zoo,t] = 1 zoo nutrient_phyto d[zoo,t] = 1 zoo nutrient_phyto process zoo_phyto_saturation equations: nutrient_phyto = phyto / (phyto + 0.5) equations: nutrient_phyto = phyto / (phyto + 0.5) Induction training data background knowledge learned knowledge

Observed values for a set of continuous variables as they vary over time or situations Generic processes that characterize causal relationships among variables in terms of conditional equations Inductive Process Modeling A specific process model that explains the observed values and predicts future data accurately Induction training data background knowledge learned model

A Process Model of an Ice-Water System model WaterPhaseChange variables: temp, heat, ice_mass, water_mass observables: temp, heat, ice_mass, water_mass process ice-warming conditions: ice_mass > 0, temp 0, temp < 0 equations: d[temp,t] = heat / ( ice_mass) equations: d[temp,t] = heat / ( ice_mass) process ice-melting conditions: ice_mass > 0, temp == 0 conditions: ice_mass > 0, temp == 0 equations: d[ice_mass,t] = (18 heat) / 6.02, equations: d[ice_mass,t] = (18 heat) / 6.02, d[water_mass,t] = (18 heat) / 6.02 d[water_mass,t] = (18 heat) / 6.02 process water-warming conditions: ice_mass == 0, water_mass > 0, conditions: ice_mass == 0, water_mass > 0, temp >= 0, temp = 0, temp < 100 equations: d[temp,t] = heat / ( water_mass) equations: d[temp,t] = heat / ( water_mass) 0 Time temp ice_mass water_mass

Why Are Process Models Interesting? they incorporate scientific formalisms rather than AI notations; they incorporate scientific formalisms rather than AI notations; that are easily communicable to scientists and engineers; that are easily communicable to scientists and engineers; they move beyond descriptive generalization to explanation; they move beyond descriptive generalization to explanation; while retaining the modularity needed to support induction. while retaining the modularity needed to support induction. Process models are a crucial target for machine learning because: These reasons point to process models as an ideal representation for scientific and engineering knowledge. Process models are an important alternative to formalisms used currently in machine learning.

Challenges of Inductive Process Modeling process models characterize behavior of dynamical systems; process models characterize behavior of dynamical systems; variables are mainly continuous and data are unsupervised; variables are mainly continuous and data are unsupervised; observations are not independently and identically distributed; observations are not independently and identically distributed; process models contain unobservable processes and variables; process models contain unobservable processes and variables; multiple processes can interact to produce complex behavior. multiple processes can interact to produce complex behavior. Process model induction differs from typical learning tasks in that: Compensating factors include a focus on deterministic systems and the availability of background knowledge.

Can Existing Methods Induce Process Models? d[ice_mass,t] = (18 heat) / 6.02 d[water_mass,t] = (18 heat) / 6.02 equation discovery B>6 C>0 C> regression trees x =12, x =1 x =12, x =1 y =18, x =2 y =18, x =2 x =12, x =1 x =12, x =1 y =10, x =2 y =10, x =2 x =16, x =2 x =16, x =2 y =13, x =1 y =13, x =1 x =19, x =1 x =19, x =1 y =11, x =2 y =11, x = hidden Markov models explanation-based learning gcd(X,X,X). gcd(X,Y,D) :- X<Y,Z is Y–X,gcd(X,Z,D). gcd(X,Y,D) :- Y<X,gcd(Y,X,D). inductive logic programming

Facets of Inductive Process Modeling characteristics of the data (observations to be explained); characteristics of the data (observations to be explained); a representation for background knowledge (generic processes); a representation for background knowledge (generic processes); a representation for learned knowledge (process models); a representation for learned knowledge (process models); a performance element that makes predictions (a simulator); a performance element that makes predictions (a simulator); a learning method that induces process models. a learning method that induces process models. To describe a system that learns process models, we must specify: We will use an example from population dynamics to illustrate an initial approach to inductive process modeling.

Data for an Aquatic Ecosystem

Generic Processes for Population Dynamics process exponential_growth process exponential_decay variables: P {population} variables: P {population} variables: P {population} variables: P {population} equations: d[P,t] = [0, 1, ] P equations: d[P,t] = [0, 1, ] P equations: d[P,t] = [0, 1, ] P equations: d[P,t] = [0, 1, ] P process logistic_growth variables: P {population} variables: P {population} equations: d[P,t] = [0, 1, ] P (1 P / [0, 1, ]) equations: d[P,t] = [0, 1, ] P (1 P / [0, 1, ]) process constant_inflow variables: I {inorganic_nutrient} variables: I {inorganic_nutrient} equations: d[I,t] = [0, 1, ] equations: d[I,t] = [0, 1, ] process consumption variables: P1 {population}, P2 {population}, nutrient_P2 {number} variables: P1 {population}, P2 {population}, nutrient_P2 {number} equations: d[P1,t] = [0, 1, ] P1 nutrient_P2, equations: d[P1,t] = [0, 1, ] P1 nutrient_P2, d[P2,t] = [0, 1, ] P1 nutrient_P2 d[P2,t] = [0, 1, ] P1 nutrient_P2 process no_saturation variables: P {number}, nutrient_P {number} variables: P {number}, nutrient_P {number} equations: nutrient_P = P equations: nutrient_P = P process saturation variables: P {number}, nutrient_P {number} variables: P {number}, nutrient_P {number} equations: nutrient_P = P / (P + [0, 1, ]) equations: nutrient_P = P / (P + [0, 1, ])

Process Model for an Aquatic Ecosystem model AquaticEcosystem variables: nitro, phyto, zoo, nutrient_nitro, nutrient_phyto observables: nitro, phyto, zoo process phyto_exponential_growth equations: d[phyto,t] = 0.1 phyto equations: d[phyto,t] = 0.1 phyto process zoo_logistic_growth equations: d[zoo,t] = 0.1 zoo / (1 zoo / 1.5) equations: d[zoo,t] = 0.1 zoo / (1 zoo / 1.5) process phyto_nitro_consumption equations: d[nitro,t] = 1 phyto nutrient_nitro, equations: d[nitro,t] = 1 phyto nutrient_nitro, d[phyto,t] = 1 phyto nutrient_nitro d[phyto,t] = 1 phyto nutrient_nitro process phyto_nitro_no_saturation equations: nutrient_nitro = nitro equations: nutrient_nitro = nitro process zoo_phyto_consumption equations: d[phyto,t] = 1 zoo nutrient_phyto, equations: d[phyto,t] = 1 zoo nutrient_phyto, d[zoo,t] = 1 zoo nutrient_phyto d[zoo,t] = 1 zoo nutrient_phyto process zoo_phyto_saturation equations: nutrient_phyto = phyto / (phyto + 0.5) equations: nutrient_phyto = phyto / (phyto + 0.5)

Making Predictions with Process Models Specify initial values for input variables and the size for time steps On each time step, check conditions to decide which processes are active Solve algebraic and differential equations with known values Propagate values and recurse to solve other equations Add the effects of different processes on each variable

The IPM Method for Process Model Induction Find all ways to instantiate known generic processes with specific variables Combine subsets of instantiated processes into generic models Remove candidates that are too complex or not connected graphs For each generic model, search for good parameter values Return parameterized model with the smallest error

Initial Evaluation of IPM Algorithm 1. We used the aquatic ecosystem model to generate data for 100 time steps, setting nitrogen = 1.0, phyto = 0.01, zoo = 0.01; 2. We replaced each true value x with x (1 + r 0.05), where r came from a Gaussian distribution ( = 0 and = 1); 3. We ran IPM on these noisy data, giving it type constraints and generic processes as background knowledge. To demonstrate IPM's functionality at inducing process models, we ran it on synthetic data for a known system. The IPM algorithm examined a space of 2196 generic models, each with an embedded parameter optimization.

Predictions from IPMs Induced Model

Process Model Generated by IPM model AquaticEcosystem variables: nitro, phyto, zoo, nutrient_nitro_1, nutrient_nitro_2, nutrient_phyto observables: nitro, phyto, zoo process phyto_exponential_growth equations: d[phyto,t] = phyto equations: d[phyto,t] = phyto process zoo_logistic_growth equations: d[zoo,t] = zoo / (1 zoo / 0.469) equations: d[zoo,t] = zoo / (1 zoo / 0.469) process phyto_nitro_consumption equations: d[nitro,t] = phyto nutrient_nitro_1, equations: d[nitro,t] = phyto nutrient_nitro_1, d[phyto,t] = phyto nutrient_nitro_1 d[phyto,t] = phyto nutrient_nitro_1 process phyto_nitro_no_saturation equations: nutrient_nitro_1 = nitro equations: nutrient_nitro_1 = nitro process zoo_phyto_consumption equations: d[phyto,t] = zoo nutrient_phyto, equations: d[phyto,t] = zoo nutrient_phyto, d[zoo,t] = zoo nutrient_phyto d[zoo,t] = zoo nutrient_phyto process zoo_phyto_saturation equations: nutrient_phyto = phyto / (phyto ) equations: nutrient_phyto = phyto / (phyto )

Process Model Generated by IPM (continued) process nitro_constant_inflow equations: d[nitro,t] = equations: d[nitro,t] = process zoo_nitro_consumption equations: d[nitro,t] = zoo nutrient_nitro_2, equations: d[nitro,t] = zoo nutrient_nitro_2, d[zoo,t] = zoo nutrient_nitro_2 d[zoo,t] = zoo nutrient_nitro_2 process zoo_nitro_saturation equations: nutrient_nitro_2 = nitro / (nitro ) equations: nutrient_nitro_2 = nitro / (nitro ) These extra processes complicate the model but have little effect on its behavior or its predictive accuracy.

A Proposed Research Agenda reduce variance and overfitting (e.g., through pruning); reduce variance and overfitting (e.g., through pruning); determine the conditions on processes from training data; determine the conditions on processes from training data; associate variables with phyiscal entities to constrain search; associate variables with phyiscal entities to constrain search; use a taxonomy of process types to organize and limit search; use a taxonomy of process types to organize and limit search; use knowledge of dimensions and conservation to limit search; use knowledge of dimensions and conservation to limit search; support the induction of qualitative process models; and support the induction of qualitative process models; and revise existing process models rather than construct them. revise existing process models rather than construct them. Future research on process modeling should explore methods that: This work should draw on traditional induction methods, which have many relevant ideas.

Evaluation of Process Models make explicit claims about an induction method's abilities; make explicit claims about an induction method's abilities; support these claims with experimental or theoretical evidence; support these claims with experimental or theoretical evidence; study behavior on natural data sets to ensure relevance; study behavior on natural data sets to ensure relevance; utilize synthetic data sets to vary dimensions of interest; and utilize synthetic data sets to vary dimensions of interest; and incorporate ideas from other tasks and utilize existing methods whenever sensible. incorporate ideas from other tasks and utilize existing methods whenever sensible. Research on this new class of problems should follow the accepted standards; thus, papers should: In addition, the focus on communicability and use of background knowledge suggests collaborations with domain experts.

Concluding Remarks proposed a new problem that involves induction of process models from components to explain observations; proposed a new problem that involves induction of process models from components to explain observations; argued that this task does not lend itself to established methods; argued that this task does not lend itself to established methods; proposed a formalism for models and background knowledge; proposed a formalism for models and background knowledge; presented an initial system that induces such process models; presented an initial system that induces such process models; demonstrated its functionality in a population dynamics domain; demonstrated its functionality in a population dynamics domain; outlined an agenda for future research in this new area. outlined an agenda for future research in this new area. In this exploratory research contribution, we have: Process model induction has great potential to aid development of models in science and engineering.

In Memoriam Herbert A. Simon (1916 – 2001) Herbert A. Simon (1916 – 2001) Jan M. Zytkow (1945 – 2001) Jan M. Zytkow (1945 – 2001) Early last year, computational scientific discovery lost two of its founding fathers: Both contributed to the field in many ways: posing new problems, inventing methods, training students, and organizing meetings. Moreover, both were interdisciplinary researchers who contributed to computer science, psychology, philosophy, and statistics. Herb Simon and Jan Zytkow were excellent role models that we should all aim to emulate.

Our approach to inductive process modeling builds on LaGramge (Todorovski & Dzeroski, 1997), a discovery system that: The LaGramge Discovery System LaGramge has rediscovered an impressive class of differential and algebraic equations from noisy data. specifies a space of abstract numeric equations in terms of a context-free grammar; specifies a space of abstract numeric equations in terms of a context-free grammar; searches exhaustively through this space, to a given depth, to generate candidate abstract equations; searches exhaustively through this space, to a given depth, to generate candidate abstract equations; calls on established optimization techniques to determine the parameters for each equation; and calls on established optimization techniques to determine the parameters for each equation; and uses either squared error or minimum description length to select its final equations. uses either squared error or minimum description length to select its final equations.

Making Predictions with Process Models specify initial values for input variables and time step size; specify initial values for input variables and time step size; on each time step, determine which processes are active; on each time step, determine which processes are active; solve active algebraic/differential equations with known values; solve active algebraic/differential equations with known values; propagate values and recursively solve other active equations; propagate values and recursively solve other active equations; when multiple processes influence the same variable, assume their effects are additive. when multiple processes influence the same variable, assume their effects are additive. To simulate a given process models behavior over time, we can: This performance element makes specific predictions that we can compare to observations.

A Method for Process Model Induction 1. Find all ways to instantiate known generic processes with specific variables; 2. Combine subsets of instantiated processes into generic models, each specifying an explanatory structure; 2a. Ensure that each candidate consists of a connected graph; 2a. Ensure that each candidate consists of a connected graph; 2b. Limit the maximum number of processes that can connect 2b. Limit the maximum number of processes that can connect any two variables and the total number of processes; any two variables and the total number of processes; 3. Translate the candidate into a context-free grammar and invoke LaGramge to search for good parameter values; 4. Return the model with the least error produced by LaGramge. We have implemented IPM, an algorithm that constructs process models from generic components in four stages: