Jump to content

Gaussian process: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Added basic GP prediction methodology based on GPML an BRML references. Mentioned Sparse GP work.
m →‎Gaussian process prediction: Rearranged an accidental repetitive double reference. Removed a parenthetical comment on the optimiz. of the marginal likel. Added accidental omission of an inverse sign. Added Csato refer for Sparse GP.
Line 60: Line 60:


===Gaussian process prediction===
===Gaussian process prediction===
When concerned with a general Gaussian process regression problem, it is assumed that for a Gaussian process ''f'' observed at coordinates x, the vector of values ''f(x)'' is just one sample from a multivariate Gaussian distribution of dimension equal to number of observed coordinates ''|x|''. Therefore under the assumption of a zero-meaned distribution, ''f (x) ∼ N (0, K(θ,x,x'))'', where ''K(θ,x,x')'' is the covariance matrix between all possible pairs ''(x,x')'' for a given set of hyperparameters θ.
When concerned with a general Gaussian process regression problem, it is assumed that for a Gaussian process ''f'' observed at coordinates x, the vector of values ''f(x)'' is just one sample from a multivariate Gaussian distribution of dimension equal to number of observed coordinates ''|x|''. Therefore under the assumption of a zero-meaned distribution, ''f (x) ∼ N (0, K(θ,x,x'))'', where ''K(θ,x,x')'' is the covariance matrix between all possible pairs ''(x,x')'' for a given set of hyperparameters θ <ref name= "gpml"/>.
As such the log marginal likelihood is:
As such the log marginal likelihood is:
:<math> log p(f(x)|\theta,x) = -\frac{1}{2}f(x)^T K(\theta,x,x')^{-1} f(x) -\frac{1}{2} det(K(\theta,x,x')) - \frac{|x|}{2} log 2\pi </math>
:<math> log p(f(x)|\theta,x) = -\frac{1}{2}f(x)^T K(\theta,x,x')^{-1} f(x) -\frac{1}{2} det(K(\theta,x,x')) - \frac{|x|}{2} log 2\pi </math>
and maximizing (possibly using numerical optimization methods) this marginal likelihood towards θ provides the complete specification of the Gaussian process ''f'' <ref name= "gpml"/>. One can briefly note at this point that the first term corresponds to a penalty term for a model's failure to fit observed values and the second term to a penalty term that increases proportionally to a model's complexity. Having specified ''θ'' making predictions about unobserved values ''f(x*)'' at coordinates ''x*'' is then only a matter of drawing samples from the predictive distribution ''p(y*|x*,f(x),x) = N(y*|A,B)'' where the posterior mean estimate A is defined as:
and maximizing this marginal likelihood towards θ provides the complete specification of the Gaussian process ''f''. One can briefly note at this point that the first term corresponds to a penalty term for a model's failure to fit observed values and the second term to a penalty term that increases proportionally to a model's complexity. Having specified ''θ'' making predictions about unobserved values ''f(x*)'' at coordinates ''x*'' is then only a matter of drawing samples from the predictive distribution ''p(y*|x*,f(x),x) = N(y*|A,B)'' where the posterior mean estimate A is defined as:
:<math>A = K(\theta,x^*,x) K(\theta,x,x')^{-1} f(x)</math>
:<math>A = K(\theta,x^*,x) K(\theta,x,x')^{-1} f(x)</math>
and the posterior variance estimate B is defined as:
and the posterior variance estimate B is defined as:
:<math>B = K(\theta,x^*,x) - K(\theta,x^*,x) K(\theta,x,x') K(\theta,x^*,x)^T </math>
:<math>B = K(\theta,x^*,x) - K(\theta,x^*,x) K(\theta,x,x')^{-1} K(\theta,x^*,x)^T </math>
where ''K(θ,x*,x)'' is the covariance of between the new coordinate of estimation ''x*'' and all other observed coordinates ''x''' for a given hyperparameter vector θ, and ''K(θ,x,x')'' and ''f(x)'' are defined as before<ref name= "brml"/>. It is important to note that practically the posterior mean estimate ''f(x*)'' (the "point estimate") is just a linear combination of the observations ''f(x)''; in a similar manner the variance of ''f(x*)'' is actually independent of the observations ''f(x)''. A known bottleneck in Gaussian process prediction is that the computational complexity of prediction is cubic in the number of points ''|x|'' and as such can become unfeasible for larger data sets <ref name= "brml"/>. Works on sparse Gaussian process regression tries that usually are based on the idea of building a ''representative set'' for the given process ''f'' try to circumvent this issue <ref name="smolaSparse">{{cite journal |last1= Smola| first1= A.J.| last2=Schoellkopf | first2= B. | |year= 2000 |title= Sparse greedy matrix approximation for machine learning |journal= Proceedings of the Seventeenth International Conference on Machine Learning| pages=911--918}}</ref>.
where ''K(θ,x*,x)'' is the covariance of between the new coordinate of estimation ''x*'' and all other observed coordinates ''x''' for a given hyperparameter vector θ, and ''K(θ,x,x')'' and ''f(x)'' are defined as before. It is important to note that practically the posterior mean estimate ''f(x*)'' (the "point estimate") is just a linear combination of the observations ''f(x)''; in a similar manner the variance of ''f(x*)'' is actually independent of the observations ''f(x)''. A known bottleneck in Gaussian process prediction is that the computational complexity of prediction is cubic in the number of points ''|x|'' and as such can become unfeasible for larger data sets <ref name= "brml"/>. Works on sparse Gaussian processes, that usually are based on the idea of building a ''representative set'' for the given process ''f'', try to circumvent this issue <ref name="smolaSparse">{{cite journal |last1= Smola| first1= A.J.| last2=Schoellkopf | first2= B. |year= 2000 |title= Sparse greedy matrix approximation for machine learning |journal= Proceedings of the Seventeenth International Conference on Machine Learning| pages=911--918}}</ref> <ref name="CsatoSparse">{{cite journal |last1= Csato| first1=L.| last2=Opper | first2= M. |year= 2002 |title= Sparse on-line Gaussian processes |journal= Neural Computation |number=3| volume= 14 | pages=641--668}}</ref>.


==See also==
==See also==

Revision as of 18:17, 2 December 2012

In probability theory and statistics, a Gaussian process is a stochastic process whose realizations consist of random values associated with every point in a range of times (or of space) such that each such random variable has a normal distribution. Moreover, every finite collection of those random variables has a multivariate normal distribution. The concept of Gaussian processes is named after Carl Friedrich Gauss because it is based on the notion of the normal distribution which is often called the Gaussian distribution.

Gaussian processes are important in statistical modelling because of properties inherited from the normal. For example, if a random process is modelled as a Gaussian process, the distributions of various derived quantities can be obtained explicitly. Such quantities include: the average value of the process over a range of times; the error in estimating the average using sample values at a small set of times.

Definition

A Gaussian process is a stochastic process Xt, tT, for which any finite linear combination of samples has a joint Gaussian distribution. More accurately, any linear functional applied to the sample function Xt will give a normally distributed result. Notation-wise, one can write X ∼ GP(m, K), meaning: the random function X "is distributed as a GP with mean function m and covariance function K[1]". When the input vector t is two- or multi-dimensional a Gaussian process might be also known as a Gaussian random field.[2]

Some authors[3] assume the random variables Xt have mean zero; this greatly simplifies calculations without loss of generality and allows the mean square properties of the process to be entirely determined by the covariance function K.[4]

Alternative definitions

Alternatively, a process is Gaussian if and only if for every finite set of indices in the index set

is a multivariate Gaussian random variable. Using characteristic functions of random variables, the Gaussian property can be formulated as follows: is Gaussian if and only if, for every finite set of indices , there are reals with and reals such that

The numbers and can be shown to be the covariances and means of the variables in the process.[5]

Covariance Functions

A key fact of Gaussian processes is that they can be completely defined by their second-order statistics.[2] Thus, if a Gaussian process is assumed to have mean zero, defining the covariance function completely defines the process' behaviour. The covariance matrix K between all the pair of points x and x' specifies a distribution on functions and is known as the Gram matrix. Importantly, because every valid covariance function is a scalar product of vectors, by construction the matrix K is a non-negative definite matrix. Equivalently, the covariance function K is a non-negative definite function in the sense that for every pair x and x' , K(x,x')≥ 0, if K(,) >0 then K is called positive definite. Importantly the non-negative definiteness of K enables its spectral decomposition using the Karhunen-Loeve expansion. Basic aspects that can be defined through the covariance function are the process' stationarity, isotropy, smoothness and periodicity.[6][7]

Stationarity refers to the process' behaviour regarding the separation of any two points x and x' . If the process is stationary, it depends on their separation, x - x' , while if non-stationary it depends on the actual position of the points x and x'; an example of a stationary process is the Ornstein–Uhlenbeck process. On the contrary, the special case of an Ornstein–Uhlenbeck process, a Brownian motion process, is non-stationary.

If the process depends only on |x - x'|, the Euclidean distance (not the direction) between x and x' then the process is considered isotropic. A process that is concurrently stationary and isotropic is considered to be homogeneous;[8] in practice these properties reflect the differences (or rather the lack of them) in the behaviour of the process given the location of the observer.

Ultimately Gaussian processes translate as taking priors on functions and the smoothness of these priors can be induced by the covariance function.[6] If we expect that for "near-by" input points x and x' their corresponding output points y and y' to be "near-by" also, then the assumption of smoothness is present. If we wish to allow for significant displacement then we might choose a rougher covariance function. Extreme examples of the behaviour is the Ornstein–Uhlenbeck covariance function and the squared exponential where the former is never differentiable and the latter infinitely differentiable.

Periodicity refers to inducing periodic patterns within the behaviour of the process. Formally, this is achieved by mapping the input x to a two dimensional vector u(x) =(cos(x), sin(x)).

Usual covariance functions

There are a number of common covariance functions[7]:

  • Constant :
  • Linear:
  • Gaussian Noise:
  • Squared Exponential:
  • Ornstein–Uhlenbeck:
  • Matern:
  • Periodic:
  • Rational Quadratic:

Here . The parameter is the characteristic length-scale of the process (practically, "how far apart" two points and have to be for to change significantly), δ is the Kronecker delta and σ the standard deviation of the noise fluctuations. Here is the modified Bessel function of order and is the gamma function evaluated for . Importantly, a complicated covariance function can be defined as a linear combination of other simpler covariance functions in order to incorporate different insights about the data-set at hand.

Clearly, the inferential results are dependent on the values of the hyperparameters θ (e.g. and σ) defining the model's behaviour. A popular choice for θ is to provide maximum a posteriori (MAP) estimates of it by maximizing the marginal likelihood of the process; the marginalization being done over the observed process values .[7] This approach is also known as maximum likelihood II, evidence maximization, or Empirical Bayes.[4]

Important Gaussian processes

The Wiener process is perhaps the most widely studied Gaussian process. It is not stationary, but it has stationary increments.

The Ornstein–Uhlenbeck process is a stationary Gaussian process.

The Brownian bridge is a Gaussian process whose increments are not independent.

The fractional Brownian motion is a Gaussian process whose covariance function is a generalisation of Wiener process.

Applications

A Gaussian process can be used as a prior probability distribution over functions in Bayesian inference.[7][9] Given any set of N points in the desired domain of your functions, take a multivariate Gaussian whose covariance matrix parameter is the Gram matrix of your N points with some desired kernel, and sample from that Gaussian.

Inference of continuous values with a Gaussian process prior is known as Gaussian process regression, or kriging; extending Gaussian process regression to multiple target variables is known as co-kriging.[10] As such, Gaussian processes are useful as a powerful non-linear interpolation tool. Additionally, Gaussian process regression can be extend to address learning tasks both in a supervised (e.g. probabilistic classification[7]) and an unsupervised (e.g. manifold learning[2]) learning framework.

Gaussian process prediction

When concerned with a general Gaussian process regression problem, it is assumed that for a Gaussian process f observed at coordinates x, the vector of values f(x) is just one sample from a multivariate Gaussian distribution of dimension equal to number of observed coordinates |x|. Therefore under the assumption of a zero-meaned distribution, f (x) ∼ N (0, K(θ,x,x')), where K(θ,x,x') is the covariance matrix between all possible pairs (x,x') for a given set of hyperparameters θ [7]. As such the log marginal likelihood is:

and maximizing this marginal likelihood towards θ provides the complete specification of the Gaussian process f. One can briefly note at this point that the first term corresponds to a penalty term for a model's failure to fit observed values and the second term to a penalty term that increases proportionally to a model's complexity. Having specified θ making predictions about unobserved values f(x*) at coordinates x* is then only a matter of drawing samples from the predictive distribution p(y*|x*,f(x),x) = N(y*|A,B) where the posterior mean estimate A is defined as:

and the posterior variance estimate B is defined as:

where K(θ,x*,x) is the covariance of between the new coordinate of estimation x* and all other observed coordinates x' for a given hyperparameter vector θ, and K(θ,x,x') and f(x) are defined as before. It is important to note that practically the posterior mean estimate f(x*) (the "point estimate") is just a linear combination of the observations f(x); in a similar manner the variance of f(x*) is actually independent of the observations f(x). A known bottleneck in Gaussian process prediction is that the computational complexity of prediction is cubic in the number of points |x| and as such can become unfeasible for larger data sets [6]. Works on sparse Gaussian processes, that usually are based on the idea of building a representative set for the given process f, try to circumvent this issue [11] [12].

See also

Notes

  1. ^ Rasmussen C.E., 2004, Gaussian Processes in Machine Learning, Advanced Lectures on Machine Learning, 3176 : 63-71
  2. ^ a b c Bishop, C.M. (2006). Pattern Recognition and Machine Learning. Springer. ISBN 0-387-31073-8.
  3. ^ Simon, Barry (1979). Functional Integration and Quantum Physics. Academic Press.
  4. ^ a b Seeger, Matthias (2004). "Gaussian Processes for Machine Learning". International Journal of Neural Systems. 14 (2): 69–104.
  5. ^ Dudley, R.M. (1989). Real Analysis and Probability. Wadsworth and Brooks/Cole.
  6. ^ a b c Barber, David (2012). Bayesian Reasoning and Machine Learning. Cambridge University Press. ISBN 0-521-51814-7. {{cite book}}: Check |isbn= value: checksum (help)
  7. ^ a b c d e f Rasmussen, C.E. (2006). Gaussian Processes for Machine Learning. MIT Press. ISBN 0-262-18253-X. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  8. ^ Grimmett, Geoffrey (2001). Probability and Random Processes. Oxford University Press. ISBN 0198572220. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  9. ^ Liu, W. (2010). Kernel Adaptive Filtering: A Comprehensive Introduction. John Wiley. ISBN 0-470-44753-2. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  10. ^ Stein, M.L. (1999). Interpolation of Spatial Data: Some Theory for Kriging. Springer.
  11. ^ Smola, A.J.; Schoellkopf, B. (2000). "Sparse greedy matrix approximation for machine learning". Proceedings of the Seventeenth International Conference on Machine Learning: 911--918.
  12. ^ Csato, L.; Opper, M. (2002). "Sparse on-line Gaussian processes". Neural Computation. 14 (3): 641--668.

Video tutorials