Chapter 1 Introduction “All models are wrong, but yours are stupid too.” @ML_Hipster (2013) Prediction, extrapolation, and induction are all examples of learning a function from data. There are many ways to learn functions, but one particularly elegant way is by probabilistic inference. Probabilistic inference takes a group of hypotheses (a model), and weights those hypotheses based on how well their predictions match the data. This approach is appealing for two reasons. First, keeping all hypotheses that match the data helps to guard against over-fitting. Second, comparing how well a dataset is fit by different models gives a way of finding which sorts of structure are present in that data. This thesis focuses on constructing models of functions. Chapter 1.2 describes how to model functions having many different types of structure, such as additivity, symmetry, periodicity, changepoints, or combinations of these, using Gaussian processes (GPs). Chapters 1.2 and 1.2 show how such models can be automatically constructed from data, and then automatically described. Later chapters explore several extensions of these models. This short chapter introduces the basic properties of GPs, and provides an outline of the thesis.

1.1

Gaussian process models

Gaussian processes are a simple and general class of models of functions. To be precise, a GP is any distribution over functions such that any finite set of function values f (x1 ), f (x2 ), . . . f (xN ) have a joint Gaussian distribution (Rasmussen and Williams, 2006, chapter 2). A GP model, before conditioning on data, is completely specified by

Introduction

2

f (x)

f (x)

x

x

Figure 1.1: A visual representation of a Gaussian process modeling a one-dimensional function. Different shades of red correspond to deciles of the predictive density at each input location. Coloured lines show samples from the process – examples of some of the hypotheses included in the model. Top left: A GP not conditioned on any datapoints. Remaining plots: The posterior after conditioning on different amounts of data. All plots have the same axes.

its mean function, E [f (x)] = µ(x)

(1.1)

and its covariance function, also called the kernel: Cov [f (x), f (x′ )] = k(x, x′ )

(1.2)

It is common practice to assume that the mean function is simply zero everywhere, since uncertainty about the mean function can be taken into account by adding an extra term to the kernel. After accounting for the mean, the kind of structure that can be captured by a GP model is entirely determined by its kernel. The kernel determines how the model generalizes, or extrapolates to new data.

1.1 Gaussian process models

3

There are many possible choices of covariance function, and we can specify a wide range of models just by specifying the kernel of a GP. For example, linear regression, splines, and Kalman filters are all examples of GPs with particular kernels. However, these are just a few familiar examples out of a wide range of possibilities. One of the main difficulties in using GPs is constructing a kernel which represents the particular structure present in the data being modelled.

1.1.1

Model selection

The crucial property of GPs that allows us to automatically construct models is that we can compute the marginal likelihood of a dataset given a particular model, also known as the evidence (MacKay, 1992). The marginal likelihood allows one to compare models, automatically balancing between the capacity of a model and its fit to the data (MacKay, 2003; Rasmussen and Ghahramani, 2001). The marginal likelihood under a GP prior of a set of function values [f (x1 ), f (x2 ), . . . f (xN )] := f (X) at locations X is given by: p(f (X)|X, µ(·), k(·, ·)) = N (f (X)|µ(X), k(X, X)) = (2π)

−N 2

(1.3)

− 21

× |k(X, X)|

| {z } controls model capacity

1 × exp − (f (X) − µ(X))T k(X, X)−1 (f (X) − µ(X)) 2 | {z } 



encourages fit with data

This multivariate Gaussian density is referred to as the marginal likelihood because it ¯ where X ¯ is implicitly integrates (marginalizes) over all possible functions values f (X), the set of all locations where we have not observed the function.

1.1.2

Prediction

We can ask the model which function values are likely to occur at any location, given the observations seen so far. By the formula for Gaussian conditionals (given in appendix ??), the predictive distribution of a function value f (x⋆ ) at a test point x⋆ has

Introduction

4 the form: 

p(f (x⋆ )|f (X), X, µ(·), k(·, ·)) = N f (x⋆ ) | µ(x⋆ ) + k(x⋆ , X)k(X, X)−1 (f (X) − µ(X)), |

{z predictive mean follows observations

} 

k(x⋆ , x⋆ ) − k(x⋆ , X)k(X, X)−1 k(X, x⋆ ) {z } | predictive variance shrinks given more data

(1.4) These expressions may look complex, but only require a few matrix operations to evaluate. Sampling a function from a GP is also straightforward: a sample from a GP at a finite set of locations is just a single sample from a single multivariate Gaussian distribution, given by equation (1.4). Figure 1.1 shows prior and posterior samples from a GP, as well as contours of the predictive density. Our use of probabilities does not mean that we are assuming the function being learned is stochastic or random in any way; it is simply a consistent method of keeping track of uncertainty.

1.1.3

Useful properties of Gaussian processes

There are several reasons why GPs in particular are well-suited for building a language of regression models: • Analytic inference. Given a kernel function and some observations, the predictive posterior distribution can be computed exactly in closed form. This is a rare property for nonparametric models to have. • Expressivity. Through the choice of covariance function, we can express a wide range of modeling assumptions. Some examples will be shown in section 1.2. • Integration over hypotheses. The fact that a GP posterior, given a fixed kernel, lets us integrate exactly over a wide range of hypotheses means that overfitting is less of an issue than in comparable model classes. For example, compared to neural networks, relatively few parameters need to be estimated, which lessens the need for the complex optimization or regularization schemes. • Model selection. A side benefit of being able to integrate over all hypotheses is that we can compute the marginal likelihood of the data given a model. This

1.1 Gaussian process models

5

gives us a principled way of comparing different models. • Closed-form predictive distribution. The predictive distribution of a GP at a set of test points is simply a multivariate Gaussian distribution. This means that GPs can easily be composed with other models or decision procedures. • Easy to analyze. It may seem unsatisfying to restrict ourselves to a limited model class, as opposed to trying to do inference in the set of all computable functions. However, simple models can be used as well-understood building blocks for constructing more interesting models. For example, consider linear models. Although they form an extremely limited model class, they are simple, easy to analyze, and easy to incorporate into other models or procedures. Gaussian processes can be seen as an extension of linear models which retain these attractive properties (Rasmussen and Williams, 2006, chapter 2).

1.1.4

Limitations of Gaussian processes

There are several issues which make GPs sometimes difficult to use: • Slow inference. Computing the matrix inverse in equations (1.3) and (1.4) takes O(N 3 ) time, making exact inference prohibitively slow for more than a few thousand datapoints. However, this problem can be addressed by approximate inference schemes (Hensman et al., 2013; Quiñonero-Candela and Rasmussen, 2005; Snelson and Ghahramani, 2006). • Light tails of the predictive distribution. The predictive distribution of a standard GP model is Gaussian. We may sometimes with to use non-Gaussian predictive likelihoods, for example in order to be robust to outliers, or to perform classification. Using non-Gaussian likelihoods requires approximate inference. Fortunately, mature software packages exist (Hensman et al., 2014; Rasmussen and Nickisch, 2010; Vanhatalo et al., 2013) which can automatically perform approximate inference for a wide variety of non-Gaussian likelihoods, and also implement sparse approximations. • The need to choose a kernel. The flexibility of GP models raises the question of which kernel to use for a given problem. Choosing a useful kernel is equivalent to learning a useful representation of the input. Kernel parameters can be set

Introduction

6

automatically by maximizing the marginal likelihood, but until recently, human experts were required to choose the parametric form of the kernel. Section 1.2 will show a way in which kernels can be automatically constructed for a given dataset.

1.2

Outline and contributions of thesis

The main contribution of this thesis is to develop a method to automatically model, visualize, and describe a variety of statistical structures in data, by searching through an open-ended language of regression models. This thesis also includes a set of related results showing how Gaussian processes can be extended or composed with other models. Chapter 1.2 is a tutorial showing how to build a wide variety of structured models of functions by constructing appropriate covariance functions. We will also show how GPs can produce nonparametric models of manifolds with diverse topological structures, such as cylinders, toruses and Möbius strips. Chapter 1.2 shows how to search over an open-ended language of models, built by adding and multiplying different kernels. Since we can evaluate each model by the marginal likelihood, we can automatically construct custom models for each dataset by a straightforward search procedure. We will show how the nature of GPs allow the resulting models to be visualized by decomposing them into diverse, interpretable components, each capturing a different type of structure. Our experiments show that capturing such high-level structure sometimes allows one to extrapolate beyond the range of the data. One benefit of using a compositional model class is that the resulting models are relatively interpretable. Chapter 1.2 demonstrates a system which automatically describes the structure implied by a given kernel on a given dataset, generating reports with graphs and English-language text describing the resulting model. Combined with the automatic model search developed in chapter 1.2, this system represents the beginnings of what could be called an “automatic statistician”, capable of some aspects of model-building and explanation currently performed by experts. Chapter 1.2 analyzes deep neural network models by characterizing the prior over functions obtained by composing GP priors to form deep Gaussian processes. We show that, as the number of layers increase, the amount of information retained about the original input diminishes to a single degree of freedom. A simple change to the network architecture fixes this pathology. We relate these models to neural networks, and as a side effect derive several forms of infinitely deep kernels.

1.2 Outline and contributions of thesis

7

Chapter 1.2 examines a more limited, but much faster way of discovering structure using GPs. Specifying a kernel having many different types of structure, we use kernel parameters to discard whichever types of structure are not found in the current dataset. The particular model class we examine is called additive Gaussian processes, a model summing over exponentially-many GPs, each depending on a different subset of the input variables. We give a polynomial-time inference algorithm for this model, and relate it to other model classes. For example, additive GPs are shown to have the same covariance as a GP that uses dropout, a recently developed regularization technique for neural networks. Chapter 1.2 develops a Bayesian clustering model in which the clusters have nonparametric shapes, called the infinite warped mixture model. The density manifolds learned by this model follow the contours of the data density, and have interpretable, parametric forms in the latent space. The marginal likelihood lets us infer the effective dimension and shape of each cluster separately, as well as the number of clusters.

References James Hensman, Nicolo Fusi, and Neil D. Lawrence. Gaussian processes for big data. arXiv preprint arXiv:1309.6835, 2013. (page 5) James Hensman, Nicolo Fusi, Ricardo Andrade, Nicolas Durrande, Alan Saul, Max Zwiessele, and Neil D. Lawrence. GPy: A Gaussian process framework in Python, 2014. https://github.com/SheffieldML/GPy. (page 5) David J.C. MacKay. Bayesian methods for adaptive models. PhD thesis, California Institute of Technology, 1992. (page 3) David J.C. MacKay. Information theory, inference, and learning algorithms. Cambridge University press, 2003. (page 3) @ML_Hipster. “. . . essentially, all models are wrong, but yours are stupid too.” – G.E.P. Box in a less than magnanimous mood., 2013. URL https://twitter.com/ML_ Hipster/status/394577463990181888. (page 1) Joaquin Quiñonero-Candela and Carl E. Rasmussen. A unifying view of sparse approximate Gaussian process regression. Journal of Machine Learning Research, 6: 1939–1959, 2005. (page 5) Carl E. Rasmussen and Zoubin Ghahramani. Occam’s razor. Advances in Neural Information Processing Systems, pages 294–300, 2001. (page 3) Carl E. Rasmussen and Hannes Nickisch. Gaussian processes for machine learning (GPML) toolbox. Journal of Machine Learning Research, 11:3011–3015, December 2010. (page 5) Carl E. Rasmussen and Christopher K.I. Williams. Gaussian Processes for Machine Learning, volume 38. The MIT Press, Cambridge, MA, USA, 2006. (pages 1 and 5)

References

9

Edward Snelson and Zoubin Ghahramani. Sparse Gaussian processes using pseudoinputs. Advances in Neural Information Processing Systems, 2006. (page 5) Jarno Vanhatalo, Jaakko Riihimäki, Jouni Hartikainen, Pasi Jylänki, Ville Tolvanen, and Aki Vehtari. GPstuff: Bayesian modeling with Gaussian processes. Journal of Machine Learning Research, 14(1):1175–1179, 2013. (page 5)

Introduction - GitHub

data. There are many ways to learn functions, but one particularly elegant way is ... data helps to guard against over-fitting. .... Gaussian processes for big data.

362KB Sizes 5 Downloads 459 Views

Recommend Documents

introduction - GitHub
warehouse to assemble himself. Pain-staking and time-consuming... almost like building your own base container images. This piggy purchased high- quality ...

Introduction - GitHub
software to automate routine labor, understand speech or images, make diagnoses ..... Shaded boxes indicate components that are able to learn from data. 10 ...... is now used by many top technology companies including Google, Microsoft,.

Introduction - GitHub
For the case that your PDF viewer does not support this, there is a list of all the descriptions on ...... 10. Other Formats. 10.1. AMS-TEX. AMS-TEX2.0. A macro package provided by the American .... A TeX Live port for Android OS. Based on ...

Introduction - GitHub
them each year. In an aggregate travel demand model, this would be represented as 100/365.25 = 0.2737851 trucks per day. In the simulation by contrast, this is represented as ... based on the distance traveled (Table 3.3). 2FAF3 Freight Traffic Analy

Introduction to R - GitHub
Nov 30, 2015 - 6 Next steps ... equals, ==, for equality comparison. .... invoked with some number of positional arguments, which are always given, plus some ...

Introduction To DCA - GitHub
Maximum-Entropy Probability Model. Joint & Conditional Entropy. Joint & Conditional Entropy. • Joint Entropy: H(X,Y ). • Conditional Entropy: H(Y |X). H(X,Y ) ...

Introduction to Algorithms - GitHub
Each cut is free. The management of Serling ..... scalar multiplications to compute the 100 50 matrix product A2A3, plus another. 10 100 50 D 50,000 scalar ..... Optimal substructure varies across problem domains in two ways: 1. how many ...

Glow Introduction - GitHub
Architecture: Data Flow. 1. Outputs of tasks are saved by local agents. 2. Driver remembers all data locations. 3. Inputs of next group of tasks are pulled from the ...

Introduction to Fluid Simulation - GitHub
upon the notes for a Siggraph course on Fluid Simulation[Bridson. 2007]. I also used .... “At each time step all the fluid properties are moved by the flow field u.

Introduction to phylogenetics using - GitHub
Oct 6, 2016 - 2.2 Building trees . ... Limitations: no model comparison (can't test for the 'best' tree, or the 'best' model of evolution); may be .... more efficient data reduction can be achieved using the bit-level coding of polymorphic sites ....

122COM: Introduction to C++ - GitHub
All students are expected to learn some C++. .... Going to be learning C++ (approved. ). ..... Computer Science - C++ provides direct memory access, allowing.

Introduction to NumPy arrays - GitHub
www.scipy-lectures.org. Python. Matplotlib. SciKits. Numpy. SciPy. IPython. IP[y]:. Cython. 2015 ..... numbers and determine the fraction of pairs which has ... origin as a function of time. 3. Plot the variance of the trajectories as a function of t

Introduction to NumPy arrays - GitHub
we want our code to run fast. ▷ we want support for linear algebra ... 7. 8 a[0:5] a[5:8]. ▷ if step=1. ▷ slice contains the elements start to stop-1 .... Indexing and slicing in higher dimensions. 0. 8. 16. 24. 32. 1. 9. 17. 25. 33. 2. 10. 18.

Introduction to Framework One - GitHub
Introduction to Framework One [email protected] ... Event Management, Logging, Caching, . ... Extend framework.cfc in your Application.cfc. 3. Done. (or in the ... All controllers are passed the argument rc containing the request.context, and all v

An Introduction to BigQuery - GitHub
The ISB-CGC platform includes an interactive Web App, over a Petabyte of TCGA data in Google Genomics and Cloud Storage, and tutorials and code ...

1 Introduction 2 Vector magnetic potential - GitHub
Sep 10, 2009 - ... describes the derivation of the approximate analytical beam models ...... of the source whose solution was used to correct the residual data.

Course: Introduction to Intelligent Transportation Systems - GitHub
... Introduction to Intelligent Transportation Systems. University of Tartu, Institute of Computer Science. Project: Automatic Plate Number. Recognition (APNR).

Introduction to REST and RestHUB - GitHub
2. RestHUBанаRESTful API for Oracle DB querying. 2.1. Overview. RestHub was designed .... For example we want to create a simple HTML + Javascript page.

A Beginner's Introduction to CoffeeKup - GitHub
the buffer, then calls the title function which adds it s own HTML to the buffer, and ... Now it is starting to look like real HTML you d find on an ugly web page. 2 ...

Introduction to RestKit Blake Watters - GitHub
Sep 14, 2011 - Multi-part params via RKParams. RKParams* params = [RKParams paramsWithDictionary:paramsDictionary];. NSData* imageData .... This is typically configured as a secondary target on your project. // Dump your seed data out of your backend

Introduction to Scientific Computing in Python - GitHub
Apr 16, 2016 - 1 Introduction to scientific computing with Python ...... Support for multiple parallel back-end processes, that can run on computing clusters or cloud services .... system, file I/O, string management, network communication, and ...

The DIAMOND sequence aligner Introduction 1 Quick start ... - GitHub
Aug 13, 2017 - be found at the NCBI website. By default, the .... ments whose score is at most 10% lower than the best alignment score for a query. ... For example, this command will build a database from all fasta.gz files in the current.

Introduction to Handibot Software and Handibot Apps I. Hello ... - GitHub
describing the new “FabMo” software platform that runs the tools. ... as a methodology because we believe it is an effective way for small companies, ..... Page 10 ...