Está en la página 1de 54

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Procesos Gaussianos
Eduardo Morales
INAOE

(INAOE)

1 / 54

Contenido

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

1 Introduccion

Gaussiana
2 Distribucion

3 Procesos Gaussianos

(INAOE)

2 / 54


Introduccion

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Normalmente, en los algoritmos de aprendizaje que

hemos visto, dado un conjunto de ejemplos de


entrenamiento se busca encontrar el mejor modelo que
ajuste a los datos (o el modelo que haga las mejores
predicciones con ejemplos de prueba).
Cuando hablamos de algoritmos bayesianos, en

posterior sobre
cambio podemos buscar la distribucion
los modelos.
Estas distribuciones nos cuantifican nuestra

incertidumbre en los modelos.

(INAOE)

3 / 54


Introduccion

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Los procesos gaussianos se definen como una

de probabilidad sobre funciones aleatorias.


distribucion
De hecho son sobre colecciones infinitas de variables

(funciones), tal que cualquier subconjunto de variables


gaussiana
aleatoria finita tiene una distribucion
multivariable.

(INAOE)

4 / 54


Introduccion

Procesos Gaussianos

Introduccion

Los procesos gaussianos se empezaron a estudiar

Distribucion
Gaussiana

de series de tiempo en los 40s


para prediccion
(Wiener, Kolmogorov)
Mas
adelante (70s) se usaron en geoestadstica y
meteorologa, en lo que se llamo kriging usando 2 o 3
dimensiones.
Mas
adelante en estadstica espacial (ver Creesie,
1993)
Tambien
en regresion:
OHagan, 1978

Procesos
Gaussianos

Se realizaron experimentos en computadoras (sin

ruido) a finales de los 80s (Sacks et al. 1989)


Se popularizaron recientemente en aprendizaje

computacional por Williams y Rasmussen (1996) y Neal

(1996) para resolver problemas de regresion.


(INAOE)

5 / 54

Gaussiana
Distribucion

Gaussiana
Distribucion

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Gaussiana es la mas
conocida y utilizada en
La distribucion
probabilidad:

(INAOE)

6 / 54

Gaussiana
Distribucion

Gaussiana
Distribucion

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos
2

)
p(y |, 2 ) = 1 2 exp( (x)
2 2
2
2
= N (y |, )
El valor esperado es: E{x} =
La varianza es: Var (x) = 2
La desviacion
estandar es:

(INAOE)

7 / 54

Gaussiana
Distribucion

Propiedades

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

La suma de gaussianas tambien


es una gaussiana:

yi N (, 2 )
n
X
i=1

yi N (

n
X
i=1

i ,

n
X

i2 )

i=1

Conforme aumenta la sumatoria, la suma de variables

aleatorias independientes (no necesariamente


gaussianas con varianza finita) tienden a una
gaussiana (Teorema del Lmite Central)

(INAOE)

8 / 54

Gaussiana
Distribucion

Propiedades

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Si escalamos una gaussiana, tambien


es gaussiana:

yi N (, 2 )
wy N (w, w 2 2 )
La distribucion
gaussiana se puede extender hacia

gaussianas multivariables.
Ahora se tiene un vector media Rn y matriz de

covarianza de n n que es simetrica


definida positiva
(x T Ax > 0 y todos su eigenvalores son positivos).

(INAOE)

9 / 54

Gaussiana
Distribucion

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Las distribuciones gaussianas multivariables son utiles

para modelar colecciones finitas de variables contnuas.

p(x; , ) =

(INAOE)

1
(2)n/2 ||1/2

1
exp( (x )T 1 (x ))
2

10 / 54

Gaussiana
Distribucion

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Ejemplo de dos variables:


1
1 (w 1 )2 (h 2 )2
q
+
))
p(w, h) = q
exp( (
2
12
22
212 222

1
1
q
p(w, h) =
exp(
2
2 12 22


(INAOE)

w
h



w
h


1
2

1
2

T 

12
0

0
22

1



11 / 54

Gaussiana
Distribucion

Gaussiana Multivariable
Distribucion

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

En general, la definicion
de una distribucion
gaussiana

multivariable es:
p(X |, ) =

1
(2)n/2 ||1/2

1
exp( (X )T 1 (X ))
2

donde X es un vector de variables y es una matriz de


convarianza entre las variables

(INAOE)

12 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Los procesos gaussianos son una extension


hacia

colecciones infinitas de variables.


Esta extension
nos permite pensar en los procesos
gaussianos como distribuciones, no solo sobre vectores
aleatorios sino sobre distribuciones de funciones
aleatorias.
Para entender esto, pongamos dos ejemplos sencillos

(INAOE)

13 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Vamos a suponer que tenemos un conjunto de posibles

funciones que mapean un vector X a R. Algunos


particular h0 podra ser:
ejemplos de una funcion
h0 (x1 ) = 5, h0 (x2 ) = 2.3, h0 (x3 ) = , . . ., h0 (xm ) = 7
Como el dominio de h tiene solo m elementos,

podemos representarlo de forma compacta como un


vector ~h = [h(x1 ), h(x2 ), . . . , h(xm )]T
Para especificar una distribucion
de probabilidad,
necesitamos asociarle una densidad de probabilidad a
h.
cada posible funcion

(INAOE)

14 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana

Una forma natural es hacer una correspondencia entre

y su vector ~h, ~h = N (~
la funcion
, 2 I) (y asumiendo
i.i.d):

Procesos
Gaussianos

P(h) =

m
Y

1
1

exp( 2 (h(xi ) i )2 )
2
2
i=1

Esto nos permite asociar distribuciones de

probabilidades sobre funciones de dominios finitos


multivariable gaussiana finita,
usando una distribucion
sobre funciones de salida h(x1 ), . . . , h(xm ) en un
numero
finito de puntos de entrada x1 , . . . , xm

(INAOE)

15 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Como podemos hacerlo cuando el dominio es infinito?

(INAOE)

16 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Un proceso gaussiano es un proceso estocastico

tal

que cualquier subconjunto de variables aleatoria finita


gaussiana multivariable.
tiene una distribucion
En particular, una coleccion
de variables aleatorias
{h(x) : x X } se obtiene de un proceso gaussiano con
media m() y una funcion
de covarianza
una funcion
k (, ), si para cualquier conjunto finito de elementos
x1 , . . . , xm X , el conjunto finito de variables aleatorias
asociadas h(x1 ), . . . , h(xm ) tienen la siguiente

ditribucion

(INAOE)

17 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

h(x1 )
m(x1 )
k(x1 , x1 ) . . . k (x1 , xm )

..
..
..
..
..

N
,

.
.
.
.
.
h(xm )
m(xm )
k (xm , x1 ) . . . k(xm , xm )
Esto lo denotamos como: h() GP(m(), k(, ))

(INAOE)

18 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Cada dimension
de la gaussiana corresponde a un

elemento x y su componente correspondiente del


vector aleatorio representa el de h(x).
Usando las propiedades de marginalizacion
para
gaussianas multivariables, podemos obtener la
densidad marginal multivariable gaussiana
correspondiente a cualquier subconjunto finito de
variables.
Para m() podemos usar cualquier funcion
real, pero
para k (, ) debe de cumplirse que para cualquier
conjunto de elementos x1 , . . . , xm X , la matriz
resultante:

(INAOE)

19 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

k (x1 , x1 ) . . . k(x1 , xm )

..
..
..
K =

.
.
.
k(xm , x1 ) . . . k (xm , xm )

gaussiana multivariable
sea valida
para una distribucion
(positiva semidefinitiva), lo cual son las mismas condiciones
que para los Kernels (Mercers condition), por lo que
kernel se puede usar como funcion
de
cualquier funcion
covarianza.

(INAOE)

20 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Uno de los esquemas mas


usados en GPs es

considerar una media cero y usar el kernel exponencial


cuadrado:
h() GP(0, k (, ))
kSE (x, x 0 ) = exp( 21 2 ||x x 0 ||2 )
con este kernel:
h(x) y h(x 0 ) tienen alta covarianza cuando x y x 0 estan

cercanos en el espacio de entrada, i.e.,


||x x 0 || = |x x 0 | 0 y exp( 21 2 ||x x 0 ||2 ) 1
h(x) y h(x 0 ) tienen baja covarianza cuando x y x 0 estan

separados en el espacio de entrada, i.e., ||x x 0 ||  0 y


exp( 21 2 ||x x 0 ||2 ) 0

(INAOE)

21 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

(INAOE)

22 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

El modelo de regresion
de un proceso gaussiano:

Sea S = {(x (i) , y (i) )}m


i=1 el conjunto de entrenamiento

de ejemplos i.i.d. tomados de una distribucion


desconocida.
En un modelo de regresion
gaussiano:
y (i) = h(x (i) ) + (i) , con i = 1, . . . , m
donde (i) son variables de ruido i.i.d. con
distribuciones N (0, 2 ) independientes.

(INAOE)

23 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Suponemos una distribucion


a priori sobre las funciones

h(), en particular, una gaussiana con media zero:


h() GP(0, k (, ))
(i)

(i)

Sean T = {(x , y )}m


i=1 un conjunto de datos de

pruebas i.i.d. tomados de la misma distribucion.


Para las regresion
lineal bayesiana usamos la regla de
predictiva posterior,
bayes para calcular la distribucion
mas

para los procesos gaussianos existe una solucion


sencilla!

(INAOE)

24 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

En particular, se debe cumplir que:

"
p

(INAOE)

~h
h~

!
|X , X

 

k(X , X ) k(X , X )
~
N 0,
k(X , X ) k(X , X )

25 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana

donde:

Procesos
Gaussianos

~h Rm tal que ~h = [h(x (1) ) . . . h(x (m) )]T


(1)
(m)
h~ Rm tal que h~ = [h(x ) . . . h(x )]T

K (X , X ) Rmm tal que (K (X , X ))i,j = k(x (i) , x (j) )


(j)

K (X , X ) Rmm tal que (K (X , X ))i,j = k(x (i) , x )


(i)

K (X , X ) Rmm tal que (K (X , X ))i,j = k(x , x (j) )


(i)

(j)

K (X , X ) Rmm tal que (K (X , X ))i,j = k (x , x )

(INAOE)

26 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Para el ruido:


p

(INAOE)

~
~

"


N

~0,

2 I ~0
~0T 2 I

#!

27 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Suponemos que son independientes, por lo que su

lo es:
suma tambien
"
# 


~h
~y
~
|X , X = ~
+

y~
~
h
 

k (X , X ) + 2 I k (X , X )
~
N 0,
k (X , X )
k (X , X ) + 2 I


(INAOE)

28 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Usando las reglas de condicionamiento gaussianas, se

sigue que:
~y |~y , X , X N ( , )
donde:
= K (X , X )(K (X , X ) + 2 I)1~y
= K (X , X )+ 2 IK (X , X )(K (X , X )+ 2 I)1 K (X , X )

(INAOE)

29 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana

Una propiedad importante de las distribuciones

gaussianas, es que la probabilidad condicional de dos


es gaussiana.
distribuciones gaussianas tambien

Procesos
Gaussianos

Vamos a suponer que tenemos dividido un conjunto de

variables en dos subconjuntos:




xa
x=
xb
y lo mismo para la media :


a
=
b

(INAOE)

30 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

y la matrz de covarianza :


=

a,a a,b
b,a b,b

Se puede notar que T = , que a,a y b,b son

simetricas
y que b,a = Ta,b

(INAOE)

31 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Muchas veces es mas


conveniente trabajar con el

inverso de la matriz de covarianza: 1 , tambien


(precision matrix):
conocida como la matriz de precision


a,a a,b
=
b,a b,b
cumple con las condiciones de
La cual tambien
simetra.

(INAOE)

32 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Ahora para calcular p(xa |xb ) se podra sacar de la

probabilidad conjunta y normalizando, sin embargo, se


mas
eficientemente.
puede obtener una solucion
Si nos fijamos en el exponente de la distribucion

gaussiana:
12 (xa
12 (xb

(INAOE)

12 (x )T 1 (x ) =
T
a ) a,a (xa a ) 21 (xa a )T a,b (xb
b )T b,a (xa a ) 12 (xb b )T b,b (xb

b )
b )

33 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Nuestro objetivo es cambiar esta expresion


por una que

dependa de la media y varianza de p(xa |xb ).


Esta es una operacion
comun
en distribuciones
gaussianas, llamada completando el cuadrado que
permita soluciones directas.
En general el exponente de una gaussiana se puede

expresar como:
1
1
(x )T 1 (x ) = x T 1 x +x T 1 + const
2
2

donde const denota a terminos


que no dependen de x.

(INAOE)

34 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

En esta expresion,
el termino

de segundo orden se

asocia al inverso de la matriz de covarianza y el termino


1
lineal en x con de donde se puede obtener .
Esto lo podemos encontrar por inspeccion
en la
anterior, buscando todos los terminos

expresion
de

segundo orden de xa , en este caso, el unico


termino
es:

1
xaT a,a xa
2
De donde podemos concluir que la covarianza (inverso
de p(xa |xb ) esta dado por:
de precision)
a|b = 1
a,a

(INAOE)

35 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Ahora buscamos a todos los terminos

que sean lineales

en xa :
xaT {a,a a a,b (xb b )}
donde aprovechamos que: Tb,a = a,b . Como esto
debe de ser igual a: 1
a|b a|b , entonces (y usando
a|b = 1
a,a ):
a|b = a|b {a,a a a,b (xb b )} = a 1
a,a a,b (xb b )

(INAOE)

36 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Para poder hacer uso de esto usamos una identididad

de matrices partidas:
de invesion


A B
C D

1


=

MBD 1
1
1
D CM D + D 1 CMBD 1
M

donde M = (A BD 1 C)1 . A M se le conoce como el


complemento Schur de la matriz.

(INAOE)

37 / 54

Procesos Gaussianos

Gaussianas Multivariables

Introduccion

Distribucion
Gaussiana

Con esta definicion:

Procesos
Gaussianos


=

a,a a,b
b,a b,b

1


==

a,a a,b
b,a b,b

y
1
a,a = (a,a a,b 1
b,b b,a )
1
1
a,b = (a,a a,b 1
b,b b,a ) a,b b,b

a|b = a a,b 1
b,b (xb b )
a|b = a,a a,b 1
b,b b,a

(INAOE)

38 / 54

Procesos Gaussianos

Efectos de los Hiperparametros

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

(INAOE)

39 / 54

Procesos Gaussianos

Efectos de los Hiperparametros

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

(INAOE)

40 / 54

Procesos Gaussianos

Efectos de los Hiperparametros

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

(INAOE)

41 / 54

Procesos Gaussianos

Calculo
de los Hiperparametros

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Recordando la definicion
de una distribucion
gaussiana

multivariable:
p(x|, ) =

1
(2)n/2 ||1/2

1
exp( (x )T 1 (x ))
2

P(y |x, ) sigue una distribucion


gaussiana multivariable

con media cero y covarianza de K + n2 I (si


consideramos ruido)
1
1
n
logp(y |x, ) = y T (K + n2 I)1 y log|K | + n2 I| log2
2
2
2

(INAOE)

42 / 54

Procesos Gaussianos

Hiperparametros

Introduccion

Los hiperparametros

nos determinan las posibles

Distribucion
Gaussiana
Procesos
Gaussianos

distribuciones
Para obtener los hiperparametros

podemos derivar con

respecto a , pero antes es importante usar las


siguientes dos expresiones:
1
K 1
K = K 1
K

donde K
es una matriz con las derivadas de sus
elementos.

K
log|K | = tr (K 1
)

donde tr o trace es la suma de los elementos de la


diagonal de la matriz
(INAOE)

43 / 54

Procesos Gaussianos

Hiperparametros

Introduccion

Distribucion
Gaussiana

Entonces:

1
K 1
1
K
p(y|x, ) = y T K 1
K y tr (K 1
)
j
2
j
2
i

Procesos
Gaussianos

K
1
tr ((T K 1 )
)
2
i

donde = K 1 y
Para obtener entonces los hiperparametros

se sigue un

proceso basado en gradiente (es un problema de


no-convexo), por ejemplo, basado en
optimizacion
gradiente conjugado o quasi-Newton
Se puede caer en mnimos locales

(INAOE)

44 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Limitaciones:
La complejidad de la inferencia es O(n3 ) por la

de la matriz.
inversion
No son capaces de lidear con discontinuidades

(INAOE)

45 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

En terminos
practicos,
para programar GPs necesitamos:
Calcular la matriz de covarianza.
Invertirla

de
Esto se realiza normalmente usando la factorizacion
Cholesky.

Basicamente
toma una matriz simetrica
y la
descompone un el producto de una matriz triangular
inferior L (el factor de Cholesky) y su traspuesta:
LLT = K

(INAOE)

46 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Determinar los valores de los hiperparametros

(proceso

de optimizacion).
a posteriori de ocurre cuando
Nuestra estimacion

p(|x, y ) es maximo,
lo que corresponde a maximizar
log(p(y |x, ) dado por:
1
n
1
logp(y |x, ) = y T K 1 log|K | log2
2
2
2
Lo cual se puede resolver usando un algoritmo de
multivariable como gradiente conjugado,
optimizacion
Nelder-Mead simplex, etc.

(INAOE)

47 / 54

Procesos Gaussianos

PILCO

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

PILCO (Probabilistic Inference for Learning Control)


xt = f (xti , uti )
P(xt |xti , uti ) = GP(m, k)
PILCO usa diferencias como predictor: t = xt xti y

un kernel exponencial cuadrado

(INAOE)

48 / 54

Procesos Gaussianos

PILCO

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Interact with environment, apply to obtain tuples


REPEAT
Infer transition function distribution f from
tuples and hyper-parameters
REPEAT
Evaluate policy over f
Get V
Improve (Updating parameters )
UNTIL convergence
()
Interact with environment, apply to obtain more tuples
Learn pi from all tuples
UNTIL task learned

(INAOE)

49 / 54

Procesos Gaussianos

QL-PILCO

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

Para aprender una tarea nueva mas


rapida,

se puede

aprovechar lo que se aprendio en otra similar (transfer


learning)
Idea: transferir hiperparametros

(gua cualitativa de la
de transicion)

forma de la funcion
Inicial con la ultima
poltica y actualizar los

hiper-parametros
gradualmente:
i = i1 + (1 )pi , i > 0
p(|pk ) N (k , k2 )

k2 =

(INAOE)

p2 k21
p2 +k21

; k = k2

k 1
k21

p
p2

50 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

(INAOE)

51 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
40

Procesos
Gaussianos

PILCO ( = 0)
Hyperparameters transfer ( = 0.9)
QTLPILCO ( = 0.9)
QTLPILCO ( = 0.5)
QTLPILCO ( = 1)
QTLPILCO (Bayesian)
Policy transfer

35

Total reward

30

25

20

15

10

10

12

14

16

18

20

22

24

Episodes

(INAOE)

52 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana

200

Procesos
Gaussianos

PILCO
VREP Autopilot (Reference)
QTLPILCO (Bayesian)

180
160

Total reward

140
120
100
80
60
40
20
0

10

15

20

25

30

Episodes

(INAOE)

53 / 54

Procesos Gaussianos

Procesos Gaussianos

Introduccion

Distribucion
Gaussiana
Procesos
Gaussianos

[activate=onclick,width=0.5]
PoleSwing-up.mp4
(INAOE)

54 / 54

También podría gustarte