optimización - práctica 1 - parte 2cms.dm.uba.ar/.../optimizacion/practica_1_parte_2.pdfpráctica...
TRANSCRIPT
Optimización
CuadradosMínimos
SVD
OptimizaciónPráctica 1 - Parte 2
Departamento de Matemática, FCEyN, Universidad de Buenos Aires
24/04/2020
Optimización
CuadradosMínimos
SVD
Cuadrados Mínimos I
I Recordemos que el problema de cuadrados mínimosera dada A ∈ Rm×n y b ∈ Rm resolver min
x∈Rn‖Ax − b‖2.
I Sea f (x) = 12‖Ax − b‖2, sabemos que es convexa
por composición.I De hecho es una cuadrática:
f (x) = 12〈Ax−b,Ax−b〉 = 1
2xT AT Ax−(bT A)x+ 12bT b.
I Notar que AT A � 0 y si rg(A) = n (i.e. columnas l.i.)entonces AT A � 0.
I Con ∇f (x) = 0 se recuperan las ecuacionesnormales, y por lo visto si AT A � 0 hay soluciónúnica x = (AT A)−1AT b.
Optimización
CuadradosMínimos
SVD
Cuadrados Mínimos II
I Si las columnas no son l.i. no es un problema puessolo necesitamos que q = bT A esté enker(AT A)⊥ = Im(AT A).
I Pero ker(AT A) = ker(A) ya que si AT Ax = 0entonces xT AT Ax = 0.
I Luego ‖Ax‖2 = 0 y por lo tanto Ax = 0.I Como ker(A)⊥ = Im(AT ) entonces
q = bT A ∈ Im(AT A), por lo tanto hay solución.I Pero la solución no es única, si x0 es cualquier
solución de AT Ax = AT b entonces{x |AT Ax = AT b} = x0 + ker(A).
I Si imponemos x∗ ∈ ker(A)⊥ entonces la solución esúnica y es la solución de mínima norma.
I Si x es otra solucion x = x∗ + v con v ∈ ker(A),luego: ‖x‖2 = ‖x∗‖2 + ‖v‖2 ≥ ‖x∗‖2.
Optimización
CuadradosMínimos
SVD
SVD I
I Toda matriz A ∈ Rm×n manda la bola unitaria en Rn
en un elipsoide en Rm.
Figure: AV = UΣ
Optimización
CuadradosMínimos
SVD
SVD II
DefiniciónDada A ∈ Rm×n, una descomposición en valoressingulares (SVD) es una factorización A = UΣV T conU ∈ Rm×m y V ∈ Rn×n matrices ortogonales, y Σ ∈ Rm×n
diagonal. Más aún, asumimos queσ1 ≥ σ2 ≥ · · · ≥ σp ≥ 0 donde p = min(m,n).
I Supongamos m ≥ n y A de rango máximo, i.e.rank(A) = n.
I Como AT A ∈ Rn×n es simétrica definida positivatiene una base ortonormal de autovectoresAT A = V ΛV T con λ1 ≥ λ2 ≥ . . . λn > 0.
I Como A no tiene núcleo existen σi > 0 y vectores uicon ‖ui‖ = 1 tales que σiui = Avi (i.e. ui = Avi
‖Avi‖ yσi = ‖Avi‖).
Optimización
CuadradosMínimos
SVD
SVD III
I Los ui ∈ Rm son ortonormales ya que
(σiui)T (σjuj) = (Avi)
T (Avj) = vTi AT Avj = λjvT
i vj = 0
si i 6= j .I Si i = j llegamos a que σ2
i = λi , i.e. σi =√λi .
I Completemos u1, . . . ,un a una base ortonormal deRm con un+1, . . . ,um y se define Σ ∈ Rm×n comoΣ = [diag(σ1, . . . , σn); zeros(m − n,n)].
I Entonces UΣ = AV , i.e. A = UΣV T .
Optimización
CuadradosMínimos
SVD
SVD IIIObservación
I Si rank(A) = r < n la misma construcción funciona,solo que ahora tenemos u1, . . . ,ur yσ1 ≥ · · · ≥ σr > 0 determinados por los autovectoresde AT A, v1, . . . , vr de autovalor no nulo.
I La hipótesis de m ≥ n tampoco es necesaria, ya quesi m < n entonces hacemos la factorización anteriora AT , i.e. AT = UΣV T para U ∈ Rn×n V ∈ Rm×m yΣ ∈ Rn×m. Luego si definimos U = V , V = U yΣ = ΣT entonces A = V ΣT UT = UΣV T .
I Los (σi)i están univocamente determinados, y si Aes cuadrada y los (σi)i son distintos entonces los(vi)i y (uj)j están univocamente determinados salvoun cambio de signo.
I En matlab [U,Σ,V ] = svd(A) devuelve lafactorización SVD.
Optimización
CuadradosMínimos
SVD
SVD IV
ObservaciónI La factorización A = UΣV T anterior se llama
factorización full SVD.I Cuando la dimensión es grande, A ∈ Rm×n con
rank(A) = r es mejor tomar A = UΣV T conV ∈ Rn×r , U ∈ Rm×r y Σ ∈ Rr×r , que se llama lafactorización thin (o compact) SVD.
I Notar que {v1, . . . , vr} es una base ortonormal deker(A)⊥, y {u1, . . . ,ur} es una base ortonormal deIm(A).
I y = Ax se descompone como: primero computo loscoeficientes de x en la base de inputs v1, . . . , vr(resto no importa, va al núcleo). luego reescalamospor σi a cada coeficiente. por último reconstruimosen la base de outputs u1, . . . ,ur .
Optimización
CuadradosMínimos
SVD
SVD V
Figure: A = UΣV T full SVD
Optimización
CuadradosMínimos
SVD
SVD VI
Figure: A = UΣV T thin SVD
Optimización
CuadradosMínimos
SVD
SVD - Aplicaciones
I Como primera aplicación si r << min(m,n) entoncesla factorización thin SVD nos da una forma demultiplicar por A mucho más rápida. Esto es muy útilsi tenemos que multiplicar por A muchas veces.
I El costo de la multiplicación luego de factorizar es:2mr + 2r2 + 2nr = 2r(m + n + r) << 2mn. Porejemplo si r = 10 m = 10000 y n = 1000 entonces2r(m + n + r) ≈ 2.2 · 105 < 2 · 107 = 2mn.
I De hecho la factorización SVD nos da la mejoraproximación low rank de la matriz.
Optimización
CuadradosMínimos
SVD
Low Rank Approximations I
I Dado k < r = rank(A), buscamos Ak una matriz derango k tal que Ak ≈ A en el sentido de que lanorma matricial ‖A− Ak‖ sea mínima.
I La solución a este problema es Ak = Uk ΣkV Tk donde
Uk = U(:,1 : k), Vk = V (:,1 : k) yΣk = Σ(1 : k ,1 : k).
I Es decir Ak =k∑
i=1σiuivT
i .
Optimización
CuadradosMínimos
SVD
Low Rank Approximations II
Proof.I Primero observar que
‖A− Ak‖ = ‖r∑
i=k+1σiuivT
i ‖ = σk+1 ya que
σk+1 ≥ σk+2 ≥ · · · ≥ σr .I Si B es una matriz con rank(B) ≤ k entonces
dim ker(B) ≥ n − k , luego existe un x de norma unoen la intersección de ker(B) y 〈v1, . . . , vk+1〉.
I Luego (A− B)x = Ax =k+1∑i=1
σiuivTi x .
I Luego ‖(A− B)x‖2 =k+1∑i=1
σ2i (vT
i x)2 ≥ σ2k+1‖x‖2.
I Por lo tanto ‖A− B‖ ≥ σk+1 = ‖A− Ak‖.
Optimización
CuadradosMínimos
SVD
Low Rank Approximations III
ObservaciónI Tenemos una nueva interpretación de σi :
σi = min{‖A− B‖ | rank(B) ≤ i − 1}
I En particular si A ∈ Rn×n entonces σn = σmin es ladistancia a la matriz singular más cercana.
I También Ak realiza el ínfimo de ‖A− B‖F conrank(B) ≤ k .
ObservaciónOtra aplicación es como método de compresión, porejemplo A ∈ Rm×n puede ser la matriz de intensidades depixels en una foto en escala de grises.
Optimización
CuadradosMínimos
SVD
Low Rank Approximations IV
Figure: A la izquierda, John Forbes Nash Jr. (1928-2015)compreso con solo 100 valores singulares, a la derecha laimagen original (1500× 981 pixels), compresión del 83%.
Optimización
CuadradosMínimos
SVD
Low Rank Approximations VEjemploSi A ∈ R10×5 tenemos una factorización thin SVD:
A = UΣV T =
−0.33 −0.54 0.23 −0.26 0.25−0.32 −0.039 −0.61 0.11 0.3−0.41 −0.12 0.27 0.7 −0.066−0.34 −0.15 −0.51 −0.03 0.07−0.25 0.18 −0.015 −0.48 −0.2−0.32 −0.061 0.23 −0.32 0.3−0.22 0.2 0.23 0.26 0.22−0.13 −0.44 −0.14 0.026 −0.75−0.35 0.11 0.34 −0.19 −0.21−0.39 0.62 −0.1 −0.01 −0.23
81.0 0 0 0 0
0 8.6 0 0 00 0 0.1 0 00 0 0 0.024 00 0 0 0 0.014
−0.11 0.071 0.079 −0.95 −0.27−0.18 −0.14 0.65 0.26 −0.68−0.13 −0.2 −0.76 0.11 −0.60.36 −0.91 0.07 −0.14 0.110.9 0.32 3.1 10−3 2.5 10−3 −0.3
Como σ3, σ4 y σ5 son muy chicos tenemos unafactorización aproximada:
A2 = U2Σ2V T2 =
−0.33 −0.54−0.32 −0.039−0.41 −0.12−0.34 −0.15−0.25 0.18−0.32 −0.061−0.22 0.2−0.13 −0.44−0.35 0.11−0.39 0.62
[81.0 0
0 8.6
] [−0.11 0.071 0.079 −0.95 −0.27−0.18 −0.14 0.65 0.26 −0.68
]
Optimización
CuadradosMínimos
SVD
Low Rank Approximations VI
Ejemplo(Cont’d) La diferencia es imperceptible:
A =
3.8 −1.2 −5.1 24.0 10.03.0 −1.8 −2.2 25.0 7.34.0 −2.3 −3.4 32.0 9.73.3 −1.8 −2.9 26.0 8.22.0 −1.7 −0.62 20.0 4.43.0 −1.8 −2.4 24.0 7.21.7 −1.5 −0.35 18.0 3.71.9 −0.25 −3.3 9.4 5.53.0 −2.2 −1.7 27.0 7.02.6 −3.0 0.96 31.0 4.8
≈
3.8 −1.2 −5.1 24.0 10.03.0 −1.8 −2.3 25.0 7.34.0 −2.2 −3.3 32.0 9.73.3 −1.8 −3.0 26.0 8.12.0 −1.7 −0.62 20.0 4.43.0 −1.8 −2.4 24.0 7.21.7 −1.5 −0.33 18.0 3.71.9 −0.25 −3.3 9.4 5.43.0 −2.2 −1.7 27.0 7.02.6 −3.0 0.95 31.0 4.8
= A2
Como sabemos ‖A− A2‖ ≈ 0.1.
Optimización
CuadradosMínimos
SVD
SVD y Cuadrados Mínimos
DefiniciónDada A ∈ Rm×n (s.p.g. m ≥ n) si A = UΣV T es lafactorización thin SVD entonces se define lapseudo-inversa o inversa de Moore-Penrose de Acomo A† = V Σ−1UT . Si A = UΣV T es la factorizaciónfull SVD entonces A† = V Σ†UT donde Σ† ∈ Rn×m estadada por Σ† = [diag( 1
σ1, . . . , 1
σr,0, . . . ,0), zeros(n,m − n)]
ObservaciónI x = A†b resuelve el problema de cuadrados
mínimos, i.e. es solución de las ecuacionesnormales.
I AT Ax = AT AA†b = V Σ2V T V Σ−1UT b = V ΣUT b =AT b
I Notar que x =r∑
i=1
(uTi b)σi
vi ∈ 〈v1, . . . , vr 〉 = ker(A)⊥.
Optimización
CuadradosMínimos
SVD
Cuadrados mínimos con regularización I
DefiniciónDada A ∈ Rm×n, b ∈ Rm y λ > 0, el problema decuadrados mínimos regularizados esta dado por:
minx‖Ax − b‖2 + λ‖x‖2
También llamada regularización de Tychonov o ridgeregression en estadística.
I El problema es nuevamente de minimización de unacuadrática, multiplicando por 1/2 tenemos:
f (x) =12
xT (AT A + λI)x − bAT x +12
bT b
I Notar que AT A + λI � 0 sin ninguna hipótesis sobreA, luego la única solución es: xλ = (AT A +λI)−1AT b.
Optimización
CuadradosMínimos
SVD
Cuadrados mínimos con regularización II
ProposiciónCuando λ→ 0 entonces la solución regularizadaconverge a la solución de cuadrados mínimos x = A†b,es decir:
limλ→0
xλ = limλ→0
(AT A + λI)−1AT b = A†b
I Sea A = UΣV T la factorización full SVD, entonces:
limλ→0
(AT A+λI)−1AT b = limλ→0
(V ΣT ΣV T +λI)−1V ΣT UT b
I Pero V ΣT ΣV T + λI = V (ΣT Σ + λI)V T luego(V ΣT ΣV T + λI)−1 = V (ΣT Σ + λI)−1V T .
Optimización
CuadradosMínimos
SVD
Cuadrados mínimos con regularización III
I Entonces tenemos:
limλ→0
(AT A + λI)−1AT b = limλ→0
V (ΣT Σ + λI)−1ΣT UT b
I Ahora(ΣT Σ + λI)−1 = diag( 1
σ21+λ
, . . . , 1σ2
r +λ, 1λ , . . . ,
1λ).
I Por lo tanto:(ΣT Σ + λI)−1ΣT =
=
1σ2
1+λ
. . .1
σ2r +λ
1λ
. . .1λ
σ1 0 · · · 0 · · · 0
0. . .
σr...
...... 0
. . .0 · · · 0 0 · · · 0
Optimización
CuadradosMínimos
SVD
Cuadrados mínimos con regularización IV
I Esto es:
(ΣT Σ + λI)−1ΣT =
σ1σ2
1+λ0 · · · 0 · · · 0
0. . .
σrσ2
r +λ
......
... 0. . .
0 · · · 0 0 · · · 0
I Luego limλ→0
(ΣT Σ + λI)−1ΣT = Σ†.
I Por lo tanto:
limλ→0
(AT A + λI)−1AT b = V Σ†UT b = A†b
Optimización
CuadradosMínimos
SVD
Solución de Mínima Norma I
I Supongamos que tenemos un sistema Ax = b conA ∈ Rm×n m < n (A es ’fat’) y de rango máximo, i.e.rank(A) = m.
I Más variables que ecuaciones (subespecificado),hay infinitas soluciones. Podemos modificar elproblema agregando la condición de mínima norma,es decir:
min xT x
s.t . Ax = b
I La solución a este problema es una solución alsistema lineal: [
I −AT
A 0
] [xµ
]=
[0b
]
Optimización
CuadradosMínimos
SVD
Solución de Mínima Norma II
I Luego x − ATµ = 0 y Ax = b, pero entoncesAx = AATµ, y AAT es inversible ( pues ker(AT ) = 0).
I Luego µ = (AAT )−1b y por lo tanto x = AT (AAT )−1bes la solución de mínima norma.
I Notar que para A fat de rango máximo se tiene queA† = AT (AAT )−1.
I De hecho si A = UΣV T es la factorización thin SVDentonces:
AT (AAT )−1 = V ΣUT (UΣ2UT )−1 = V Σ−1UT = A†
Optimización
CuadradosMínimos
SVD
Schur ComplementI Supongamos que queremos resolver[
A BC D
] [xy
]=
[ab
]con A ∈ Rp×p, B ∈ Rp×q, C ∈ Rq×p y D ∈ Rq×q,x ,a ∈ Rp y y ,b ∈ Rq. Llamemos M a la matriz dadaen bloques.
I Si A es inversible (fácilmente) entonces restamosCA−1 por la ’fila’ uno a la ’fila’ dos.
I Luego: (D − CA−1B)y = b − CA−1a. NotamosM/A = (D − CA−1B) al complemento de Schur delbloque A de M.
I Si M/A es inversible entonces resuelvoy = (M/A)−1(b − CA−1a).
I Luego reemplazo y en la primer ecuacion y obtengox = A−1(a− By).
Optimización
CuadradosMínimos
SVD
Aplicación
Supongamos que queremos resolver el problema:
min12‖Ax − b‖2
s.t . Cx = d
I La solución a este problema es una solución alsistema lineal:[
AT A −CT
C 0
] [xµ
]=
[AT b
d
]
Optimización
CuadradosMínimos
SVD
Aplicación II
I Si A es thin de rango máximo hacemos elcomplemento de Schur del bloque A, restamosC(AT A)−1 de la fila uno a la fila dos, luego:C(AT A)−1CTµ = d − C(AT A)−1AT b.
I Si C fat de rango máximo C(AT A)−1CT es inversible,despejo µ.
I De la primera ecuación AT Ax − CTµ = AT bobtenemos reemplazando µ quex = (AT A)−1(AT b + CTµ).