Machine Learning & Dynamics

This page covers the research I did on machine learning and dynamical systems as a postdoc at Rutgers University with Konstantin Mischaikow.  

Dynamical Systems?

For folks who haven't heard the term, dynamical systems are systems that change over time.  They can exhibit beautiful patterns that tell us a lot about the world around us, and our goal as mathematicians is to understand these patterns. 

 

 A classic example of a dynamical system is the predator-prey population model. One possible interaction in such a system is that the predators eat a lot of the prey, so the predator population grows and the prey population shrinks.  But then with little prey around to eat the predators start to die off.  Once few enough predators remain the prey population can recover, and the cycle begins again.  This oscillating behavior is a periodic orbit, and it's one example of a pattern we might look for in a dynamical system. The image to the left gives a graphical representation of this simple system. The (x,y)-coordinate gives the prey-predator population levels, which travel around the red circle (the periodic orbit) as time goes forward.  

Data-Driven Dynamics

The predator-prey model from the last example is quite old, and comes from the Lotka-Volterra equations.  But there are tons of dynamical systems in the world, and often they are so complicated that we can't necessarily write down good equations to model them.  Instead, what many researchers are doing now is collecting data from the system throughout its evolution and then use machine learning techniques to create an approximate model.

More specifically, we collect some data on the system at time A, and then again at time B, and use machine learning in order to understand the rules governing the change in this time period.  We can then iterate this model to see how the system behaves further in the future.  

One key difficulty with that approach is that we generally want to learn about long-term patterns (asymptotic behavior for the math folks).  But the model that we built from data will definitely have some amount of error--machine learning isn't perfect, and the data is probably noisy--so how can we trust that the errors don't compound in a way that makes our output totally unreliable?

It turns out that by tracking the locations of errors in a very careful way, we can apply a topological tool from Conley-Morse theory in order to obtain rigorous statements about the output of the model as well as probabilities that these outputs are correct.

In the image to the right, the red dots represent data that we have collected from our system; the x-axis gives the input at time A, and the  y-axis is output at time B.  The machine learning technique we use to model our system is called a Gaussian process; more specifically, we model the system as Brownian motion.  The blue curve represents the model that we learned from data, and the yellow curve is one possibility of what the true system could actually look like.  

We can rigorously compute the probabilities that the true system remains bounded in each of the colored (green, pink, blue) regions.  Using Conley-Morse theory, we can actually give statements about any system that remains in these regions, allowing us to identify some of the patterns that we are interested in understanding in dynamical systems.  In the above system, for instance, we see bistability, meaning that anything in the system evolves to one of two possible states, corresponding to the blue and green regions.  

A Computational Approach

The prior results gave very rigorous mathematical information, but we assumed that the model being used was Brownian motion.  We also tackled the same problem in a more general setting, but instead of obtaining rigorous bounds through mathematical theory, we approximated the reliability of the methods using a compuational approach. 

The general idea is the same; we collect data from a dynamical system, learn an approximation using machine learning, and analyze the model with Conley-Morse theory. However, instead of rigorously analyzing the associated probabilities, we ran ~100K simulations (run in parallel on a computing cluster that utilized a Slurm workload manager) of known systems and counted the number of times that our method gave us the correct output, giving us a computational approximation of the reliability of our methods.  

In the image to the left, each node corresponds to a different parameter value for the Leslie population model.  This is a well-known model and it has many different behaviors (such as bistability or monostability) at different parameter values.  The colors in the image correspond to the different behaviors; every parameter node in the tan region, for instance, corresponds to bistable behavior. 

This image is a heatmap, and the opacity of the color indicates how frequently the Conley-Morse method correctly identified the true dynamics of the model.  At nodes where the colors are very solid the method correctly identified the dynamics almost every time for that parameter value.  Pale nodes correspond to parameter values where the method detected the correct behavior less frequently.  

One interesting feature that we see in the heatmap is that our methods are generally very successful on the interiors of the parameter regions, and less successful on the boundaries between regions.  This behavior is to be expected, as the transitions between regions (where bifurcations take place, for the math folks) are notoriously difficult to handle.  Typically, when the model outputs incorrect descriptions in these regions, it is giving a description of the dynamics of a neighboring node.  

Publications

The following paper was published in the Journal of Computational Dynamics.  It was coauthored with Konstantin Mischaikow.

Conditioned Wiener processes as nonlinearities: A rigorous probabilistic analysis of dynamics