Skip to main content

Section 3.5 Processus Gaussien

Les processus gaussiens (GP) sont une méthode d’apprentissage bayésien capable à la fois de faire de la régression et de la classification nonlinéaire. Il s’agit d’une méthode très populaire en apprentissage.

Subsection 3.5.1 Rappel sur les vecteurs gaussiens

Puisqu’elle sera très utile dans la suite on propose de faire un rappel particulier pour la loi Gaussienne et sa généralisation en dimension \(d\text{.}\)

Définition 3.102. Loi Gaussienne multi-dimensitionnelle.

Soit une variable aléatoire \(X\) qui suit une loi Gaussienne multidimensionnelle. Il s’agit d’une loi de probabilité de densité \(p(x)\in \mathbb{R}^d\) définie par
\begin{equation*} p(x)= \mathcal{N}(\mu,\Sigma)=\frac{1}{(2\pi)^{\frac{D}{2}}}\frac{1}{\mid \Sigma\mid^{\frac12}}e^{-\frac12 ((x-\mu),\Sigma^{-1}(x-\mu))} \end{equation*}
avec \(\mathbb{E}[X]=\mu\in \mathbb{R}^d\) et \(\operatorname{Cov}[X]=\Sigma \in \mathcal{M}_{d,d}(\mathbb{R})\text{.}\)
Si \(\Sigma =I_d\) on parle de loi Gaussienne isotrope. Sortir de l’identité permet de construire des lois gaussiennes dont le support (la variance) peut être plus ou grand selon les directions. Sur la figure Figure 3.103 on voit trois Gaussiennes 2D obtenues avec 3 matrices de covariance différentes.
Figure 3.103. Exemple de fonction Gaussienne 2D.
Maintenant on va se concentrer sur le cas particulier des vecteurs aléatoires dit gaussien.

Définition 3.105.

Soit \(X=(X_1,....X_n)\) un vecteur aléatoire. Ce vecteur est dit gaussien si pour tout vecteur de \(\mathbb{R}^n\) nommé \((a_1,...,a_n)^t\)
\begin{equation*} a_1X_1 + ... + a_nX_n \end{equation*}
une variable aléatoire Gaussienne.
Cette définition et la proposition précédente nous dit notamment d’un vecteur composé de variables aléatoires Gaussienne est gaussien. On va finir par introduire une dernière propriété sur les vecteurs gaussiens. Cette proposition nous indique que si on a \(n\) variables aléatoires Gaussiennes (indépendantes ou non) le vecteur obtenu suit une loi gaussienne multi dimensionnelle. On voit donc qu’on sait caractériser la loi jointe d’un vecteur de variable Gaussienne. On peut facilement définir les loi marginales \(p(x_i)=\mathcal{N}(\mu_i,\Sigma_{ii})\text{.}\)

Preuve.

Admis. La preuve est notamment basée sur le complément de Schur (outil classique d’algèbre linéaire).

Subsection 3.5.2 Régression par processus Gaussien

L’idée centrale de la méthode est de faire un \textbf{a priori} qui est que la fonction qu’on souhaite construire peut s’approcher par fonction gaussienne multidimensionnelle assez générale. Une fois cette a priori fixé en utilisant des calculs de loi conditionnelle similaire à la régression Bayesienne on peut prédire de nouvelles valeurs de la fonction à partir d’un échantillon. On va commencer par introduire ces distributions. Ces Gaussiennes multidimensionnels ou vecteurs gaussiens sont introduits dans le chapitre 1 de rappel. A partir de ces lois gaussiennes et de notre a priori, on va pouvoir construire une méthode de régression appelée GPR (pour Gaussian process regression).

Définition 3.109.

Un processus stochastique est une famille de variables aléatoires définies sur le même espace de probabilité indexée par \(T\) (on parle de processus discret dénombrable et continu sinon) un ensemble et a valeur dans un espace métrique \(M\text{.}\) On note souvent un processus stochastique est noté par \(\left\{X_t\right\}_{t \in T}\text{.}\)
En général on prend \(T=\mathbb{R}\) ou \(\mathbb{R}^+\text{.}\)

Définition 3.110.

Un processus stochastique \(\left\{X_t\right\}_{t \in T}\) est dit Gaussien si chaque collection finie de variables aléatoires appartenant au processus suit une loi gaussienne multidimensionnelle. Cela revient à dire que \(\left\{X_t\right\}_{t \in T}\) est gaussien si toute combinaison linéaire
\begin{equation*} a_1 X_{t_1}+\cdots+a_n X_{t_n} \end{equation*}
suit une loi gaussienne (pour tout \(n \in \mathbb{N}, t_1, \ldots, t_n \in T\) et \(a_1, \ldots, a_n \in \mathbb{R}\)). La distribution d’un processus gaussien est la loi jointe de toutes ces variables aléatoires. Si \(T\) est un ensemble indénombrable, une réalisation de ce processus donne donc une fonction \(f:T\rightarrow M\text{.}\)
On sait que la loi d’un vecteur gaussien \(\left(X_{t_1}, \ldots, X_{t_n}\right)\) est totalement déterminée si on connaît le vecteur moyenne
\begin{equation*} \left(\mathbb{E}\left[X_{t_1}\right], \ldots, \mathbb{E}\left[X_{t_n}\right]\right) \end{equation*}
et la matrice de covariance
\begin{equation*} \left(\operatorname{Cov}\left(X_{t_i}, X_{t_j}\right)_{1 \leq i, j \leq n}\right) \end{equation*}
On comprend dès lors que la loi d’un processus gaussien est déterminée complètement (on ne le démontrera pas) dès qu’on se donne la fonction moyenne \(\mu(t)=\mathbb{E}\left[X_t\right]\) et l’opérateur de covariance \(\Sigma(s, t)=\operatorname{Cov}\left(X_s, X_t\right)\text{.}\) De plus En effet, la loi fini dimensionnelle de \(\left(X_{t_1}, \ldots, X_{t_n}\right)\) est alors la loi normale de dimension \(n\) de paramètre \(\mathcal{N}\left(\mu_n, \Sigma_n\right)\) avec \(\mu_n=\left(\mu\left(t_1\right), \ldots, \mu\left(t_n\right)\right)\) et \(\Sigma_n=\left(\Sigma\left(t_i, t_j\right)\right)_{1 \leq i, j \leq n}\text{.}\) Les fonctions \(a\) et \(\Sigma\) définissent donc toutes les lois finies dimensionnelles de \(X\) et donc aussi sa loi.
Un processus gaussien est donc l’extension continue des vecteurs gaussiens et permet de générer aléatoirement une fonction indexée sur une espace\(T\). On remarquer aussi qu’un processus gaussien va générer des données de façon à ce que tout ensemble fini de ces données généré va suivre une loi normale multivariée.
Le processus gaussien le plus connu est le Mouvement Brownien qui est obtenu avec \(T=\mathbb{R}^{+}\text{,}\) \(\mu(t)=\) et \(K(s,t)=\operatorname{min}(s,t)\text{.}\) On utilise aussi souvent le processus de d’Ornstein-Uhlenbeck qui est défini sur \(T=\mathbb{R}^{+}\text{,}\) \(\mu(t)=\) et \(K(s,t)=e^{-\frac{\mid s-t\mid}{2}}\text{.}\)
Dans la suite on va réaliser une régression au sens des probabilités (cadre introduit précédemment) faisant l’a priori que la fonction cible peut être générée par une processus gaussien. Cela va donner un cadre de régression probabiliste plus général que celui de la régression linéaire ou linéaire Bayesienne.
On nomme \(\mathcal{GP}(\mu(x),\Sigma(x_1,x_2))\) un processus gaussien avec \(\mu(x)\text{,}\) \(\Sigma(x_1,x_2)\) les paramètres de la loi multivariée sous-jacente. On considère un problème de régression ou l’on doit déterminer la fonction \(f\) qui satisfait:
\begin{equation*} y = f(x) + \epsilon \end{equation*}
avec \(\epsilon \sim \mathcal{N}(0,1)\text{.}\) On connaît un certain nombre d’exemple \((x_1,...,x_n)\) et \((y_1,...,y_n)\text{.}\) On retrouve notre problème de régression classique.

Définition 3.111.

L’a priori des processus gaussiens est que
\begin{equation*} f(x) \sim \mathcal{GP}(\mu(x),\Sigma(x_1,x_2)) \end{equation*}
On a donc un processus Gaussien indexé par la variable \(x\). Pour la suite on choisit comme opérateur de covariance \(\Sigma(.,.)\) une fonction noyau \(k(.,.)\). Comme il a été énoncé précédemment chaque famille finie de variables aléatoires du processus suit une loi gaussienne multidimensionnelle de paramètres \(\mu\text{,}\) \(\Sigma\text{.}\) Cela veut donc notamment que c’est le cas pour tout échantillon de la fonction. On pose \(V_{\mu}=(\mu(x_1),....,\mu(x_n))\) le vecteur de la fonction moyenne appliquée éléments échantillons et \(M_{\Sigma}\) la matrice des noyaux de covariance appliquée à chaque élément d’ échantillon tel que
\begin{equation*} M_{\Sigma,ij} = k(x_i,x_j) \end{equation*}
On voit donc que les données \(Y=(y_1,...y_n)\) peuvent être obtenues par en utilisant
\begin{equation*} Y \sim \mathcal{N}(V_{\mu},M_{\Sigma}) \end{equation*}
Maintenant on se donne un vecteur \((x_1^*,...x_m^*)\) et l’on souhaite prédire \((y_1^*,...,y_m^*)\text{.}\) On rappelle que toute collection finie de variables aléatoires du processus Gaussien forme un vecteur Gaussien. Par conséquent les données \((y_1^*,...,y_m^*)\) issues de la même fonction (générée par le processus) forme aussi un vecteur Gaussien. On a donc nos échantillons qui forment un vecteur Gaussien et la valeur de nouvelles données \((y_1^*,...,y_m^*)\) associées à \((x_1^*,...x_m^*)\) qui forme aussi un vecteur Gaussien. En utilisant que la loi jointe de deux Gaussiennes généralisées reste une Gaussienne généralisée, on obtient que la loin jointe suivante:
\begin{equation*} \left[\begin{array}{c} Y \\ Y^* \end{array}\right] \sim \mathcal{N}\left(\left[\begin{array}{c} V_{\mu} \\ V_{\mu}^* \end{array}\right], \left[\begin{array}{cc} M_{\Sigma} \amp M_{\Sigma}^{*,t} \\ M_{\Sigma}^* \amp M_{\Sigma}^{**} \end{array}\right]\right) \end{equation*}
avec
\begin{equation*} M_{\Sigma,ij}^{*} = k(x_i^*,x_j), \quad M_{\Sigma,ij}^{**} = k(x_i^*,x_j^*) \end{equation*}
Le fait qu’on est un processus gaussien nous assure que la moyenne et la variance du vecteur gaussien associée à \(Y\) sont données par l’évaluation de \(\mu(x)\) et \(\Sigma(x,y)=k(x,y)\) aux points \((x_1^*,...x_m^*)\text{.}\) Maintenant notre objectif est de déterminer \(Y^*\) connaissant evidement \(X^*\text{,}\) mais aussi nos données \(X,Y\) et pour cela on va utiliser les propriétés des lois conditionnelles pour les vecteurs gaussiens.

Preuve.

Pour cela on utilise uniquement la proposition sur la loi conditionnelle des vecteurs Gaussiens.
En utilisant la dernière méthode on a un modèle prédictif qui nous donne une loi de la valeur de notre fonction \(f\) aux points \((x_1^*,...x_m^*)\text{.}\) Le fait d’obtenir une loi nous permet comme pour la régression linéaire Bayesienne d’obtenir aussi des intervaux de confiance à travers la variance. La moyenne est souvent utilisée comme prédiction.
D’un point de vue de calcul, on remarque si on inverse la matrice de covariance des données on calcul la valeur en de nouveaux points par des produits matrices vecteurs. Par contre si cet inverse n’est pas stocké mais on résout juste des systèmes associés à \(M_{\Sigma}\) il faut le faire pour chaque nouvelle prédiction. On peut faire de la classification avec cette méthode, mais nous ne le discuterons pas ici.
Sur la page http://www.infinitecuriosity.org/vizgp on peut explorer interactivement une régression à l’aide de processus Gaussien.

Subsection 3.5.3 Noyaux et matrice de covariance

Subsection 3.5.4 Lien avec la régression à noyaux

Subsection 3.5.5 Sélection du modèle

La méthode introduite précédemment dépend quand même de plusieurs choix. D’abord le choix des noyaux et des paramètres de noyaux de la matrice de covariance. On va introduire ici plusieurs méthodes d’expliquer comment le choix du modèle explique les données et de choisir ces hyper paramètres. Le choix du noyau et de ses paramètres influent fortement sur la qualité de la prédiction en termes de sur et sous apprentissage notamment. On appelle \(\mathcal{H}\) un modèle. Un modèle dans le contexte des processus gaussiens est une famille de loi de probabilité paramétrée par \(\theta\text{.}\) Par exemple
\begin{equation*} \mathcal{H}_1=\left\{\mathcal{GP}(0,k_{\theta}), k_{\theta}=\theta min(x,x^{'})\right\} \end{equation*}
et
\begin{equation*} \mathcal{H}_2=\left\{\mathcal{GP}(\frac12x^2,k_{\theta}), k_{\theta}=\sigma^2e^{-\frac{1}{2l^2}(x -x^{'})^2}, \quad \theta=(\sigma,l)\right\} \end{equation*}
sont des modèles. On voit que d’un modèle à l’autre on va varier le noyau de convariance, la moyenne ou leurs paramètres. Afin de choisir un modèle, on souhaite regarder la distribution de probabilité des données sachant le modèle ou l’inverse. L’enjeu sera de construire la loi de probabilité qui décrit comment un modèle qui dépent de paramètre explique les données. il s’agit de la loi
\begin{equation} \mathbb{P}(Y\mid X,\mathcal{H})=\int_{V_{\theta}} \mathbb{P}(Y\mid X, \theta, \mathcal{H}\mathbb{P}(\theta\mid \mathcal{H})d\theta\tag{3.51} \end{equation}
Cela permettra de comparer plusieurs modèles. Pour construire cette intégrale, on va introduire plusieurs approches. La première permet donne un choix unique de paramètres (ce qui évite de devoir les choisir à la main) la ou les autres chercher à estimer l’intégrale \(\mathbb{P}(Y\mid X,\mathcal{H})\) plus précisément et donne accès à une famille de jeux de paramètres. Cela permet non seulement de comparer les modèles, mais aussi les choix de paramètres.

Subsubsection 3.5.5.1 Sélection par optimisation des hyper paramètres

On va maintenant se restreindre à un cas ou la sélection de modèles revient a déterminer les bons paramètres de la moyenne et du noyau de covariance. Si on prend par exemple les noyaux RBF et une moyenne \(\mu(\mathbf{x}) = a\mathbf{x}+b\text{.}\) Si on prend cet exemple la question est maintenant de choisir \(l\text{,}\) \(\sigma_f\) (paramètres du noyau) et de \(a\text{,}\) \(b\text{.}\) On classe les paramètres en deux classes: \(\theta_m\) les paramètres de \(\mu(\mathbf{x})\) et \(\theta_{k}\) les paramètres de \(k(.,.)\text{.}\) L’idée ici est d’approcher l’intégrale (3.51) par un estimateur simple que l’ont peut obtenir par un processus d’optimisation. La première approche serait:
\begin{equation*} P(Y\mid X,\mathcal{H})\approx \operatorname{max}_{\theta} \mathbb{P}(Y \mid, X \theta, \mathcal{H}) \end{equation*}
On reconnaît l’estimateur du maximum de vraisemblance. La seconde est
\begin{equation*} P(Y\mid X,\mathcal{H})\approx \operatorname{max}_{\theta} \mathbb{P}(\theta\mid, Y, X\mathcal{H})\mathbb{P}(\theta\mid \mathcal{H}) \end{equation*}
ce qui correspond à l’estimateur du maximum a posteriori. On va maintenant rapidement regarder le cas du maximum de vraisemblance. Comme précédemment, on va maximiser la fonction log-vraisemblance ce qui nous donne la fonction de coût:
\begin{equation*} \mathcal{C}(\theta_m,\theta_k)= \operatorname{log}(y\mid x,\theta_m,\theta_k) \end{equation*}
Nous ne le démontrerons pas, car les calculs sont similaires a ceux effectués dans les premières sections, mais cela revient à
\begin{equation*} \mathcal{C}(\theta_m,\theta_k)= -\frac12\operatorname{log}(\mid \Sigma \mid) - \frac12(y -\mu(x))^{t}\Sigma^{-1}(y -\mu(x)) -\frac{n}{2}\operatorname{log}\left( 2\pi\right) \end{equation*}
Une fois cette fonction de coût introduite, on peut écrire un gradient qui est donné par:
\begin{equation*} \frac{\partial \mathcal{C}}{\partial \theta_m} = - (y -\mu(x))\Sigma^{-1} \frac{\partial \mu}{\partial \theta_m}(x) \end{equation*}
et
\begin{equation*} \frac{\partial \mathcal{C}}{\partial \theta_k} = \frac12 Tr\left( \Sigma^{-1} \frac{\partial \Sigma}{\partial \theta_k} \right) +\frac12(y-\mu(x))^{t}\frac{\partial \Sigma}{\partial \theta_k}\Sigma^{-1} \frac{\partial \Sigma}{\partial \theta_k}(y -\mu(x)) \end{equation*}
A partir de ce gradient on peut donc entraîner les modèles de processus gaussien afin d’optimiser les hyper paramètres et de construire notre modèle de régression.

Subsubsection 3.5.5.2 Selection par Monte-Carlo

En cours de construction

Subsection 3.5.6 Extension aux grands échantillons

En construction