







Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Artificial Intelligence. Lectures Handout of Machine Learning. Gaussian processes. Prof. Andrew Ng - Stanford University
Typology: Study notes
1 / 13
This page cannot be seen from the preview
Don't miss anything!








Many of the classical machine learning algorithms that we talked about during the first half of this course fit the following pattern: given a training set of i.i.d. examples sampled from some unknown distribution,
In these notes, we will talk about a different flavor of learning algorithms, known as Bayesian methods. Unlike classical learning algorithm, Bayesian algorithms do not at- tempt to identify “best-fit” models of the data (or similarly, make “best guess” predictions for new test inputs). Instead, they compute a posterior distribution over models (or similarly, compute posterior predictive distributions for new test inputs). These distributions provide a useful way to quantify our uncertainty in model estimates, and to exploit our knowledge of this uncertainty in order to make more robust predictions on new test points. We focus on regression problems, where the goal is to learn a mapping from some input space X = Rn^ of n-dimensional vectors to an output space Y = R of real-valued targets. In particular, we will talk about a kernel-based fully Bayesian regression algorithm, known as Gaussian process regression. The material covered in these notes draws heavily on many different topics that we discussed previously in class (namely, the probabilistic interpretation of linear regression^1 , Bayesian methods^2 , kernels^3 , and properties of multivariate Gaussians^4 ). The organization of these notes is as follows. In Section 1, we provide a brief review of multivariate Gaussian distributions and their properties. In Section 2, we briefly review Bayesian methods in the context of probabilistic linear regression. The central ideas under- lying Gaussian processes are presented in Section 3, and we derive the full Gaussian process regression model in Section 4.
(^1) See course lecture notes on “Supervised Learning, Discriminative Algorithms.” (^2) See course lecture notes on “Regularization and Model Selection.” (^3) See course lecture notes on “Support Vector Machines.” (^4) See course lecture notes on “Factor Analysis.”
1 Multivariate Gaussians
A vector-valued random variable x ∈ Rn^ is said to have a multivariate normal (or Gaussian) distribution with mean μ ∈ Rn^ and covariance matrix Σ ∈ Sn ++ if
p(x; μ, Σ) =
(2π)n/^2 |Σ|
exp
(x − μ)T^ Σ−^1 (x − μ)
We write this as x ∼ N (μ, Σ). Here, recall from the section notes on linear algebra that Sn ++ refers to the space of symmetric positive definite n × n matrices.^5 Generally speaking, Gaussian random variables are extremely useful in machine learning and statistics for two main reasons. First, they are extremely common when modeling “noise” in statistical algorithms. Quite often, noise can be considered to be the accumulation of a large number of small independent random perturbations affecting the measurement process; by the Central Limit Theorem, summations of independent random variables will tend to “look Gaussian.” Second, Gaussian random variables are convenient for many analytical manipulations, because many of the integrals involving Gaussian distributions that arise in practice have simple closed form solutions. In the remainder of this section, we will review a number of useful properties of multivariate Gaussians. Consider a random vector x ∈ Rn^ with x ∼ N (μ, Σ). Suppose also that the variables in x have been partitioned into two sets xA = [x 1 · · · xr]T^ ∈ Rr^ and xB = [xr+1 · · · xn]T^ ∈ Rn−r (and similarly for μ and Σ), such that
x =
xA xB
μ =
μA μB
Here, ΣAB = ΣTBA since Σ = E[(x − μ)(x − μ)T^ ] = ΣT^. The following properties hold:
x
p(x; μ, Σ)dx = 1.
This property, though seemingly trivial at first glance, turns out to be immensely useful for evaluating all sorts of integrals, even ones which appear to have no relation to probability distributions at all (see Appendix A.1)!
p(xA) =
xB
p(xA, xB ; μ, Σ)dxB
p(xB ) =
xA
p(xA, xB ; μ, Σ)dxA
(^5) There are actually cases in which we would want to deal with multivariate Gaussian distributions where Σ is positive semidefinite but not positive definite (i.e., Σ is not full rank). In such cases, Σ−^1 does not exist, so the definition of the Gaussian density given in (1) does not apply. For instance, see the course lecture notes on “Factor Analysis.”
−5 −4 −3 −2 −1 0 1 2 3 4 5
−
−
−
0
1
2
3
Bayesian linear regression, 95% confidence region
Figure 1: Bayesian linear regression for a one-dimensional linear regression problem, y(i)^ = θx(i)^ + ǫ(i), with ǫ(i)^ ∼ N (0, 1) i.i.d. noise. The green region denotes the 95% confidence region for predictions of the model. Note that the (vertical) width of the green region is largest at the ends but narrowest in the middle. This region reflects the uncertain in the estimates for the parameter θ. In contrast, a classical linear regression model would display a confidence region of constant width, reflecting only the N (0, σ^2 ) noise in the outputs.
In Bayesian linear regression, we assume that a prior distribution over parameters is also given; a typical choice, for instance, is θ ∼ N (0, τ 2 I). Using Bayes’s rule, we obtain the parameter posterior,
p(θ | S) =
p(θ)p(S | θ) ∫ θ′^ p(θ
′)p(S | θ′)dθ′ =^
p(θ)
∏m i=1 p(y
(i) (^) | x(i), θ) ∫ θ′^ p(θ
′) ∏m i=1 p(y (i) (^) | x(i), θ′)dθ′.^ (2)
Assuming the same noise model on testing points as on our training points, the “output” of Bayesian linear regression on a new test point x∗ is not just a single guess “y∗”, but rather an entire probability distribution over possible outputs, known as the posterior predictive distribution:
p(y∗ | x∗, S) =
θ
p(y∗ | x∗, θ)p(θ | S)dθ. (3)
For many types of models, the integrals in (2) and (3) are difficult to compute, and hence, we often resort to approximations, such as MAP estimation (see course lecture notes on “Regularization and Model Selection”). In the case of Bayesian linear regression, however, the integrals actually are tractable! In particular, for Bayesian linear regression, one can show (after much work!) that
θ | S ∼ N
σ^2
A−^1 XT^ ~y, A−^1
y∗ | x∗, S ∼ N
σ^2
xT ∗ A−^1 XT^ ~y, xT ∗ A−^1 x∗ + σ^2
where A = (^) σ^12 XT^ X + (^) τ^1 2 I. The derivation of these formulas is somewhat involved.^6 Nonethe- less, from these equations, we get at least a flavor of what Bayesian methods are all about: the posterior distribution over the test output y∗ for a test input x∗ is a Gaussian distribution— this distribution reflects the uncertainty in our predictions y∗ = θT^ x∗ + ε∗ arising from both the randomness in ε∗ and the uncertainty in our choice of parameters θ. In contrast, classical probabilistic linear regression models estimate parameters θ directly from the training data but provide no estimate of how reliable these learned parameters may be (see Figure 1).
3 Gaussian processes
As described in Section 1, multivariate Gaussian distributions are useful for modeling finite collections of real-valued variables because of their nice analytical properties. Gaussian processes are the extension of multivariate Gaussians to infinite-sized collections of real- valued variables. In particular, this extension will allow us to think of Gaussian processes as distributions not just over random vectors but in fact distributions over random functions.^7
To understand how one might paramterize probability distributions over functions, consider the following simple example. Let X = {x 1 ,... , xm} be any finite set of elements. Now, consider the set H of all possible functions mapping from X to R. For instance, one example of a function h 0 (·) ∈ H is given by
h 0 (x 1 ) = 5, h 0 (x 2 ) = 2. 3 , h 0 (x 2 ) = − 7 ,... , h 0 (xm− 1 ) = −π, h 0 (xm) = 8.
Since the domain of any h(·) ∈ H has only m elements, we can always represent h(·) com-
pactly as an m-dimensional vector, ~h =
h(x 1 ) h(x 2 ) · · · h(xm)
. In order to specify a probability distribution over functions h(·) ∈ H, we must associate some “probability density” with each function in H. One natural way to do this is to exploit the one-to-one correspondence between functions h(·) ∈ H and their vector representations, ~h. In partic-
ular, if we specify that ~h ∼ N (~μ, σ^2 I), then this in turn implies a probability distribution over functions h(·), whose probability density function is given by
p(h) =
∏^ m
i=
2 πσ
exp
2 σ^2
(h(xi) − μi)^2
(^6) For the complete derivation, see, for instance, [1]. Alternatively, read the Appendices, which gives a number of arguments based on the “completion-of-squares” trick, and derive this formula yourself! (^7) Let H be a class of functions mapping from X → Y. A random function h(·) from H is a function which
is randomly drawn from H, according to some probability distribution over H. One potential source of confusion is that you may be tempted to think of random functions as functions whose outputs are in some way stochastic; this is not the case. Instead, a random function h(·), once selected from H probabilistically, implies a deterministic mapping from inputs in X to outputs in Y.
−2.5 0 1 2 3 4 5 6 7 8 9 10
−
−1.
−
−0.
0
1
2
2.5^ Samples from GP with k(x,z) = exp(−||x−z||^2 / (2*tau^2 )), tau = 0.
−1.5 0 1 2 3 4 5 6 7 8 9 10
−
−0.
0
1
2 Samples from GP with k(x,z) = exp(−||x−z||^2 / (2*tau^2 )), tau = 2.
−2 0 1 2 3 4 5 6 7 8 9 10
−1.
−
−0.
0
1
1.5^ Samples from GP with k(x,z) = exp(−||x−z||^2 / (2*tau^2 )), tau = 10.
(a) (b) (c)
Figure 2: Samples from a zero-mean Gaussian process prior with kSE (·, ·) covariance function, using (a) τ = 0.5, (b) τ = 2, and (c) τ = 10. Note that as the bandwidth parameter τ increases, then points which are farther away will have higher correlations than before, and hence the sampled functions tend to be smoother overall.
set of elements x 1 ,... , xm ∈ X , the resulting matrix
k(x 1 , x 1 ) · · · k(x 1 , xm) .. .
k(xm, x 1 ) · · · k(xm, xm)
is a valid covariance matrix corresponding to some multivariate Gaussian distribution. A standard result in probability theory states that this is true provided that K is positive semidefinite. Sound familiar? The positive semidefiniteness requirement for covariance matrices computed based on arbitrary input points is, in fact, identical to Mercer’s condition for kernels! A function k(·, ·) is a valid kernel provided the resulting kernel matrix K defined as above is always positive semidefinite for any set of input points x 1 ,... , xm ∈ X. Gaussian processes, therefore, are kernel-based probability distributions in the sense that any valid kernel function can be used as a covariance function!
In order to get an intuition for how Gaussian processes work, consider a simple zero-mean Gaussian process,
h(·) ∼ GP(0, k(·, ·)).
defined for functions h : X → R where we take X = R. Here, we choose the kernel function k(·, ·) to be the squared exponential^9 kernel function, defined as
kSE (x, x′) = exp
2 τ 2
||x − x′||^2
(^9) In the context of SVMs, we called this the Gaussian kernel; to avoid confusion with “Gaussian” processes, we refer to this kernel here as the squared exponential kernel, even though the two are formally identical.
for some τ > 0. What do random functions sampled from this Gaussian process look like? In our example, since we use a zero-mean Gaussian process, we would expect that for the function values from our Gaussian process will tend to be distributed around zero. Furthermore, for any pair of elements x, x′^ ∈ X.
More simply stated, functions drawn from a zero-mean Gaussian process prior with the squared exponential kernel will tend to be “locally smooth” with high probability; i.e., nearby function values are highly correlated, and the correlation drops off as a function of distance in the input space (see Figure 2).
4 Gaussian process regression
As discussed in the last section, Gaussian processes provide a method for modelling probabil- ity distributions over functions. Here, we discuss how probability distributions over functions can be used in the framework of Bayesian regression.
Let S = {(x(i), y(i))}mi=1 be a training set of i.i.d. examples from some unknown distribution. In the Gaussian process regression model,
y(i)^ = h(x(i)) + ε(i), i = 1,... , m
where the ε(i)^ are i.i.d. “noise” variables with independent N (0, σ^2 ) distributions. Like in Bayesian linear regression, we also assume a prior distribution over functions h(·); in particular, we assume a zero-mean Gaussian process prior,
h(·) ∼ GP(0, k(·, ·))
for some valid covariance function k(·, ·).
Now, let T = {(x( ∗i ), y( ∗i ))}m i=1∗ be a set of i.i.d. testing points drawn from the same unknown
0 1 2 3 4 5 6 7 8 9 10
−2.
−
−1.
−
−0.
0
1
Gaussian process regression, 95% confidence region
0 1 2 3 4 5 6 7 8 9 10
−2.
−
−1.
−
−0.
0
1
Gaussian process regression, 95% confidence region
0 1 2 3 4 5 6 7 8 9 10
−2.
−
−1.
−
−0.
0
1
Gaussian process regression, 95% confidence region
(a) (b) (c)
Figure 3: Gaussian process regression using a zero-mean Gaussian process prior with kSE (·, ·) covariance function (where τ = 0.1), with noise level σ = 1, and (a) m = 10, (b) m = 20, and (c) m = 40 training examples. The blue line denotes the mean of the posterior predictive distribution, and the green shaded region denotes the 95% confidence region based on the model’s variance estimates. As the number of training examples increases, the size of the confidence region shrinks to reflect the diminishing uncertainty in the model estimates. Note also that in panel (a), the 95% confidence region shrinks near training points but is much larger far away from training points, as one would expect.
The sums of independent Gaussian random variables is also Gaussian, so [ ~y ~y∗
~h ~h∗
~ε ~ε∗
K(X, X) + σ^2 I K(X, X∗) K(X∗, X) K(X∗, X∗) + σ^2 I
Now, using the rules for conditioning Gaussians, it follows that
y ~∗ | ~y, X, X∗ ∼ N (μ∗, Σ∗)
where
μ∗^ = K(X∗, X)(K(X, X) + σ^2 I)−^1 ~y Σ∗^ = K(X∗, X∗) + σ^2 I − K(X∗, X)(K(X, X) + σ^2 I)−^1 K(X, X∗).
And that’s it! Remarkably, performing prediction in a Gaussian process regression model is very simple, despite the fact that Gaussian processes in themselves are fairly complicated!^11
5 Summary
We close our discussion of our Gaussian processes by pointing out some reasons why Gaussian processes are an attractive model for use in regression problems and in some cases may be preferable to alternative models (such as linear and locally-weighted linear regression):
(^11) Interestingly, it turns out that Bayesian linear regression, when “kernelized” in the proper way, turns out to be exactly equivalent to Gaussian process regression! But the derivation of the posterior predictive distribution is far more complicated for Bayesian linear regression, and the effort needed to kernelize the algorithm is even greater. The Gaussian process perspective is certainly much easier!
References
[1] Carl E. Rasmussen and Christopher K. I. Williams. Gaussian Processes for Machine Learning. MIT Press, 2006. Online: http://www.gaussianprocess.org/gpml/
To simplify this expression, observe that
([ xA xB
μA μB
xA xB
μA μB
= (xA − μA)T^ VAA(xA − μA) + (xA − μA)T^ VAB (xB − μB )
Retaining only terms dependent on xA (and using the fact that VAB = V (^) BAT ), we have
p(xA | xB ) =
exp
xTAVAAxA − 2 xTAVAAμA + 2xTAVAB (xB − μB )
where Z 2 is a new proportionality constant which again does not depend on xA. Finally, using the “completion-of-squares” argument (see Appendix A.1), we have
p(xA | xB ) =
exp
(xA − μ′)T^ VAA(xA − μ′)
where Z 3 is again a new proportionality constant not depending on xA, and where mu′^ = μA −V (^) AA−^1 VAB (xB −μB ). This last statement shows that the distribution of xA, conditioned on xB , again has the form of a multivariate Gaussian. In fact, from the normalization property, it follows immediately that
xA | xB ∼ N (μA − V (^) AA−^1 VAB (xB − μB ), V (^) AA−^1 ).
To complete the proof, we simply note that
[ VAA VAB VBA VBB
follows from standard formulas for the inverse of a partitioned matrix. Substituting the relevant blocks into the previous expression gives the desired result.