método de mínimos cuadrados (continuación) - cimat.mxjoaquin/cursos/mat251/clases/clase11.pdf ·...

Post on 10-Oct-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Clase No. 11:

Método de mínimos cuadrados(Continuación)

MAT–251 Dr. Alonso Ramírez ManzanaresCIMAT A.C.e-mail: alram@cimat.mxweb: http://www.cimat.mx/salram/met_num/

Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: joaquin@cimat.mx

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 1 / 25

Gradientes de formas lineales y cuadráticas

Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).

∇(c>x) = c

∇(x>Ax) = (A+A>)x

De lo anterior se sigue que el gradiente del error

E(x) = ‖Ax − b‖22es

∇E(x) = 2A>Ax − 2A>b

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 2 / 25

Gradientes de formas lineales y cuadráticas

Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).

∇(c>x) = c

∇(x>Ax) = (A+A>)x

De lo anterior se sigue que el gradiente del error

E(x) = ‖Ax − b‖22es

∇E(x) = 2A>Ax − 2A>b

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 2 / 25

Gradientes de formas lineales y cuadráticas

Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).

∇(c>x) = c

∇(x>Ax) = (A+A>)x

De lo anterior se sigue que el gradiente del error

E(x) = ‖Ax − b‖22es

∇E(x) = 2A>Ax − 2A>b

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 2 / 25

Caso particular: Ajuste de una recta (I)

Tenemos m puntos {(xi,yi)} y queremos hallar una recta que mejor losaproxime:

1.5

2

2.5

3

3.5

4

4.5

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 3 / 25

Caso particular: Ajuste de una recta (II)

Esto es, queremos determinar la pendiente a y la ordenada al origen b talesque

yi = axi + b+ εi, i = 1,2, ...,m

Si definimos

A =

x1 1x2 1...

...xm 1

, x =

ab

, y =

y1y2...ym

, ε =

ε1ε2...εm

Entonces ε = y − Ax y podemos reescribir E(a,b) como

E(a,b) =m∑

i=1

ε2i = ‖ε‖22 = ‖Ax − y‖22

E(a,b) = (Ax − y)>(Ax − y) = (x>A> − y>)(Ax − y)

= x>A>Ax − 2y>Ax+y>y

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 4 / 25

Caso particular: Ajuste de una recta (III)

Entonces

∇E = 0 =⇒ A>Ax = A>y

Para nuestro ejemplo, tenemos que m = 50, por lo que A ∈ R50×2.Además, det(A>A) = 214.05, por lo que el sistema tiene solución única:

x =

3.09511.4438

En realidad, los datos fueron generados tomando puntos sobre la recta cona = 3.0 y b = 1.5 y agregándoles ruido.

En la siguiente gráfica se muestra en azul la recta obtenida por mínimoscuadrados

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 5 / 25

Caso particular: Ajuste de una recta (IV)

1.5

2

2.5

3

3.5

4

4.5

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 6 / 25

Planteamiento general del caso lineal (I)

Tenemos n parámetros q1,q2, ...,qn. Para i = 1,2, ...,m, se quiere relacionaruna combinación de valores (qi1,qi2, ...,qin) con una observación yimediante un modelo lineal:

yi = c1qi1 + · · ·+ cnqin + εi

donde εi es un error que tiene el modelo. Entonces

εi = yi −n∑

j=1

cjqij

Queremos calcular los coeficientes cj minimizando los errores εi. Unamanera es resolver el problema

mincj

1≤j≤n

E(c1, ...,cn) =m∑

i=1

ε2i =

m∑

i=1

yi −n∑

j=1

cjqij

!2

Si definimos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 7 / 25

Planteamiento general del caso lineal (II)

A =

q11 q12 · · · q1nq21 q22 · · · q2n

......

. . ....

qm1 qm2 · · · qmn

, c =

c1c2...cn

, y =

y1y2...ym

ε =

ε1ε2...εm

Entonces

y = Ac+ ε

mincj

1≤j≤n

E(c) =m∑

i=1

ε2i = ε>ε = (y − Ac)>(y − Ac)

Calculamos el gradiente de E(c) y encontramos el vector c para el cual∇E(c) = 0.Se puede ver que la solución se obtiene resolviendo el sistema lineal

A>Ac = A>y.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 8 / 25

Observación (I)

Una sola observación atípica puede cambiar la solución del problema:

1.5

2

2.5

3

3.5

4

4.5

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 9 / 25

Observación (II)

-20

-15

-10

-5

0

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 10 / 25

Observación (III)

Para evitar esto, se puede agregar un peso wi > 0 a cada termino de lasuma de cuadrados:

E(a,b) =m∑

i=1

wi(axi + b− yi)2

de modo que a los términos que introducen errores grandes se les da unmenor peso.

Esto nos lleva a un problema de mínimos cuadrados pesados.En el ejemplo, cuando todos los pesos son wi = 1, se tiene

a∗ = 0.99654, b∗ = 2.14316

Si hacemos w48 = 0.001, se obtiene

a∗ = 3.0876, b∗ = 1.4463

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 11 / 25

Observación (IV)

-20

-15

-10

-5

0

5

0 0.2 0.4 0.6 0.8 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 12 / 25

Ejemplo de mínimos cuadrados pesados (I)

Para los datos que se muestran en la gráfica se ajusta una recta usando elmétodo ordinario. Después definimos los pesos wi de acuerdo a lasdistancia de los datos a la recta (en falso color se indica el valor del peso)

−2 −1 0 1 2

−2

02

46

810

Y

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

Iteracion 1

0.0

0.2

0.4

0.6

0.8

1.0Pesos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 13 / 25

Ejemplo de mínimos cuadrados pesados (II)

Dado los pesos, resolvemos el problema usando el método de mínimoscuadrados pesados.Despues volvemos a recalcular los pesos.

−2 −1 0 1 2

−2

02

46

810

Y

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

Iteracion 5

0.0

0.2

0.4

0.6

0.8

1.0Pesos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 14 / 25

Ejemplo de mínimos cuadrados pesados (III)

Continuamos de este modo hasta que la solución ya no cambia.

−2 −1 0 1 2

−2

02

46

810

Y

●●●

●●

●●

●●

●●

●●

●●

●●●●●●

●●

●● ●

● ●

●●

● ●

●●

●●

●●

Iteracion 15

0.0

0.2

0.4

0.6

0.8

1.0Pesos

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 15 / 25

Lo que NO estamos haciendo

No es que es estemos planteando resolver el sistema sobredeterminado

Ac = y

y para resolverlo multiplicamos por A> ambos miembros de la ecuación.Lo que pasa es que el sistema puede ser inconsistente, por lo que puedeque no exista c que cumpla la igualdad.

Para el ejemplo inicial, tenemos que con

a∗ = 3.0951, b∗ = 1.4438.

se tiene un error

E(a,b) = 0.82919

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 16 / 25

Lo que SÍ estamos haciendo

Notemos que el vectorA>y

tiene las proyecciones de y sobre las columnas de la matrizA = [a1 a2 · · · an]:

A>y =

a>1

a>2...a>n

y =

a>1y

a>2y

...a>ny

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 17 / 25

Ajuste de datos 1D (I)

Tenemos un conjunto de datos {(xk,yk)}mk=1.

Queremos encontrar una función f (x) cuya gráfica pase cerca de lospuntos dados.

● ●●

●●

● ●

●●

●●

●●

●●

● ●

●●

● ●

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

●●

●●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

● ●

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

Tenemos un conjunto de datos {(xk,yk)}mk=1.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 18 / 25

Ajuste de datos 1D (II)

Queremos encontrar una función f (x) cuya gráfica pase cerca de lospuntos dados.

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

● ●●

●●

● ●

●●

●●

●●

●●

● ●

●●

● ●

−3 −2 −1 0 1 2

−0.

50.

00.

51.

0

x

y

●●

●●●

●●

●●

●●●

● ●●

●●

●●

●●

●●

●●

●●

● ●

Primero hay que decir a que nos referimos con "cerca". Lo podemos definiren el sentido de mínimos cuadrados:

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 19 / 25

Ajuste de datos 1D (III)

minf

1

2

m∑

k=1

[ f (xk)− yk ]2 (1)

Observaciones:

Si xk 6= xj para k 6= j, hay una infinidad de funciones cuya gráfica pasapor los por los puntos.

Si existen k 6= j, tales que xk = xj y yk 6= yj, entonces no existe unafunción cuya gráfica pase por los puntos dados.

Para simplificar el problema, podemos restringir el espacio de solución acierto tipo de funciones:

f (x) =n∑

j=1

αjϕj(x). (2)

Sustituyendo en (1), tenemos

E =1

2

m∑

k=1

[f (xk)− yk]2 =1

2

m∑

k=1

n∑

j=1

αjϕj(xk)− yk

2

.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 20 / 25

Ajuste de datos 1D (IV)

Derivando respecto a αi, se tiene

∂E

∂αi=

m∑

k=1

n∑

j=1

αjϕj(xk)− yk

ϕi(xk).

Para cada i, queremos los valores aj que hacen ∂E∂αi

= 0. Esto es

n∑

j=1

m∑

k=1

ϕj(xk)ϕi(xk)

αj =m∑

k=1

ϕi(xk)yk.

Para obtener directamente la expresión de la solución hay que notar quepara cada i, se tiene que el error está dado por

εi = f (xi)− yi =n∑

j=1

αjϕj(xi)− yi

Si

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 21 / 25

Ajuste de datos 1D (V)

Φ =

ϕ1(x1) ϕ2(x1) · · · ϕn(x1)ϕ1(x2) ϕ2(x2) · · · ϕn(x2)

......

. . ....

ϕ1(xm) ϕ2(xm) · · · ϕn(xm)

, y =

y1y2...yn

, α =

α1α2...αn

,

el vector de errores se expresa como

ε =

ε1...εm

= Φα − y

Queremos minimizar

E = ‖ε‖22 = ε>ε = (Φα − y)>(Φα − y)

Calculamos el gradiente de E y lo igualamos a cero. Con esto obtenemosque el sistema lineal que hay que resolver para obtener la solución demínimos cuadrados:

Φ>Φα = Φ>y.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 22 / 25

Ajuste de datos 1D (VI)

Sólo falta es seleccionar las funciones ϕj(x).Por ejemplo, seleccionamos las funciones:

ϕj(x) = exp(−γ(x− cj)2)

−3 −2 −1 0 1 2 3

0.0

0.2

0.4

0.6

0.8

1.0

c(a0, a1)

c(0,

1.1

)

γ = 1

γ = 5

−3 −2 −1 0 1 2 3

0.0

0.2

0.4

0.6

0.8

1.0

c(a0 − 0.1, a1 + 0.1)

c(0,

1)

φ1 φ2 φ3 φ4 φ5

Ejemplos:

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 23 / 25

Ajuste de datos 1D (VII)

Para m = 80 puntos en los que xi ∈ [−3,2.5] y usando n = 6 funcionesGaussianas ϕj(x) distribuidas con uniformemente es ese intervalo, seobtiene el siguiente resultado cuando no hay ruido en los datos:

-0.5

0.0

0.5

1.0

-3 -2 -1 0 1 2 3

Si agregamos ruido a los datos, resolvemos el problema de mínimoscuadrados para encontrar α, y evaluamos la función f (x) resultante en elintervalo [−3,2.5] y obtenemos la curva roja.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 24 / 25

Ajuste de datos 1D (VIII)

-1.0

-0.5

0.0

0.5

1.0

1.5

-3 -2 -1 0 1 2 3

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 14.09.2015 25 / 25

top related