Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmos aleatorizados en aproximaciones debajo rango
Caso SVD
Rafael Llinas
Facultad de cienciasEscuela de matematicas
Universidad Nacional de ColombiaSede Medellın
Mayo 30 2018
Algoritmos aleatorizados en aproximaciones de bajo rango
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Estrategia computacional
Estrategia computacional
matrices menores
Am×n = Em×rFr×n
Espectro
spanE (1),E (2), ..,E (r))
= Col(A)
Espectro
spanF(1),F(2), ...,F(r)
= Col(AT )
almacenamiento
mn > mr + rn
Algoritmos aleatorizados en aproximaciones de bajo rango
Estrategia computacional
Estrategia computacional
Primera etapa
Hallar Q ∈ Rm×k
Segunda etapa
B := QTA ∈ Rk×n
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorizado generico
Primera etapa
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorizado generico
Primera etapa
Algoritmo aleatorio generalizadoprimera etapa
Rango objetivo
Se define el rango objetivo k. Donde k min(m, n)
Conjunto k vectores aleatorios
wi i = 1 : k
Matriz Q
Qm×k columnas ortonormales
Proyector ortogonal
QQT
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorizado generico
Primera etapa
Algoritmo aleatorio generalizadoprimera etapa
1.Conjunto de k vectores aleatorios
wi
2. Construye conjuntos proyectores aleatorios
Yi := Awi donde i = 1 : k
3. Reducir el numero de columnas
Y := AΩ donde Ω ∈ Rnxk
4. Descomposion QR
Y = QR de modo que A ≈ QQTA
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorizado generico
Segunda etapa
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorizado generico
Segunda etapa
Algoritmo aleatorio generalizadoSegunda etapa
Matriz Menor
Bk×n donde B := QTA
Descomposicion QB
Como B := QTA y A ≈ QQTA entonces A ≈ QB
Algoritmos tradionales
Sobre B se aplican los Algoritmos tradicionales
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorio mejorado
Sobremuestreo
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorio mejorado
Sobremuestreo
Algoritmo aleatorio mejoradoSobremuestreo
Problemas al precisar k
σi 6= 0 para i = k + 1 : n
Respuesta
l := k + p
Eleccion p
p = 5, 10 (Mortinsson 2016)
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorio mejorado
Esquema iteraciones en potencias
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorio mejorado
Esquema iteraciones en potencias
Algoritmo aleatorizado mejoradoEsquema iteraciones en potencias. (Rokhlin 2009, Halko 2011, GU 2015)
Preprocesar A
A(q) := (AAT )qA
Esquema potencias
A(q) = U Σ2q+1V T
Modificacion
Y := A(q)Ω
numero iteraciones
q = 1, 2, 3
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorio mejorado
Matrices de prueba aleatoria
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Algoritmo aleatorio mejorado
Matrices de prueba aleatoria
Algoritmo aleatorizado mejoradoMatrices de prueba aleatoria
Requisito
Matriz con entradas iid de alguna distribucion con columnas L.I.
Opciones recomendadas
Gaussiana N(0,1).
Uniforme µ(−1, 1).
Opciones recomendadas
Rademacher. V.a (-1 y +1).(Tropp, Yurtsever, Udell 2016)
Otras opciones
Muy pocas matrices de prueba aleatoria son mas simples deconstruir (Li, Hastie 2006. Erichson, Kutz 2017)
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Descripcion conceptual
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Descripcion conceptual
Descomposicion aleatorizada en valores singularesDescripcion conceptual
SVD completa
Sea A ∈ Rmxn; m ≥ n entonces: A= U ΣV T
donde U=[U1,U2, ...,Um] ∈ Rm×mV=[V1,V2, ...,Vn] ∈ Rn×nΣ ∈ Rm×n
SVD economica
A= U ΣV T
A= [U1,U2, ...,Un]diag(σ1, σ2, ...., σn)[V1,V2, ...,Vn]
Rango matrices de datos
rank(A) = r < n
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Descripcion conceptual
Descomposicion aleatorizada en valores singularesDescripcion conceptual
Aproximaciones bajo rango
Ak := UkΣkVTK
Ak := [U1,U2, ...,Uk ]diag(σ1, σ2, ..., σk)[V1,V2, ...,Vk ]Ak ≈ Σk
i=1σiUiVTi
Teorema:Eckart-Young(1936)
Ak := argminrank(Ak )
‖A− A′k‖ donde ‖A− Ak‖2= σk+1(A)
‖A− Ak‖F =
√√√√min(m,n)∑i=k+1
σ2j (A)
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Algoritmos aleatorizados
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Algoritmos aleatorizados
Descomposicion aleatorizada en valores singularesAlgoritmo aleatorizado.(Halko et al.(2011)
A ∈ Rm×n matriz de bajo rango, entoncesA≈ UkΣkV
Tk
Q ∈ Rm×lB := QTA donde B ∈ Rl x n
B =∼UΣV T l vectores singulares derechos
U ≈ Q∼U (l vectores singulares izquierdos)
A ≈ QQTA = QB = Q∼UΣV T= UΣV T
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Algoritmos aleatorizados
Descomposicion aleatorizada en valores singularesAlgoritmo aleatorizado.(Halko et al.(2011)
ventajas
1. Menores costos de comunicacion. Tropp (2016)2. Altamente paralelizable3. Aplicabilidad general. Aproxima a la optima SVD truncada conalta probabilidad. (Mortinsson 2016, GU, 2015)
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Algoritmos aleatorizados
Descomposicion aleatorizada en valores singularesAlgoritmo SVD aleatorizado
Algoritmo con iteracion subespacial y sobremuestreo
Entrada: Amxn, m > n. parametros 0 < k + p = l < n. qiteraciones
1 Calcule Y = (AAT )qAΩ
2 Calcule base ortonormal Q para Y
3 Calcule B = QTA
4 [∼U,Σ,V ]= SVD(B)
5 U = Q∼U
Salida: U(:,1:k) ∈ Rmxk ,Σ(1 : k, 1 : k) ∈ Rkx kV (:, 1 : k) ∈ Rnxk
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Rendimiento teorico
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Descomposicion Aleatorizada en valores singulares
Rendimiento teorico
Error y error esperado
Error
‖A− Q(QTA)‖2 ≤ ‖A− QB‖2= σk+1(A)
‖A− Q(QTA)‖F ≤ ‖A− QB‖F=√∑n
i=k+1 σ2i (A)
Error esperado (simplicacion de Halko et al.(2011))
E=‖A− Ak‖ ≤[1+√
kp−1 + e
√k+pp .
√min(m, n)− k]
12q+1σk+1(A)
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Funciones svd y rsvd
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Funciones svd y rsvd
Funcion rsvd
obj <-rsvd(A,k,nu= ,nv= ,p = 10, q= 2, sdist = ””)
Paquetes deterministicos
SVD: Basado en el algoritmo PROPACK (Algoritmos conbiadiagonalizacion de Lanczos con reortogonalizacion parcial,Larsen 1998)Rspectra: Paquete software ARPACK(Lehoucq, 1998)irlba: Implementa explicıtamente metodos de bidiagonalizacionpara calcular VS VES(Baglama y Reichel 2005)
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Aplicacion en R
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Aplicacion en R
Completo
SVD k=100, e= 0.121
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Aplicacion en R
Completo
RSVD k=100, e= 0.122
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Aplicacion en R
Frame Title
Tiempos de ejecucion y errores(20 ejecuciones)
Package Function Parameters Time Speedup Error
R base svd() nu=nv=100 0.37 * 0.121svd prpack.svd() neig=100 0.55 0.67 0.121RSpectra svd() k=100 0.25 1.48 0.121irlba irlba() nv=100 0.24 1.54 0.121rsvd rsvd() k=100, q=0 0.03 12.3 0.165rsvd rsvd() k=100, q=1 0.052 7.11 0.125rsvd rsvd() k=100, q=2 0.075 4.9 0.122rsvd rsvd() k=100, q=3 0.097 3.8 0.121
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Desempeno computacional
Contenido
1 Estrategia computacional2 Algoritmo aleatorizado generico
Primera etapaSegunda etapa
3 Algoritmo aleatorio mejoradoSobremuestreoEsquema iteraciones en potenciasMatrices de prueba aleatoria
4 Descomposicion Aleatorizada en valores singularesDescripcion conceptualAlgoritmos aleatorizadosRendimiento teorico
5 Aplicacion en RFunciones svd y rsvdAplicacion en RDesempeno computacional
6 Comentarios finales
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Desempeno computacional
Tiempos ejecucion para aproximaciones de rango k=20para varias matrices( Randomized Matrix Descompositions.Erichson)
0.01
0.10
0.50
2.00
10.00
40.00
150.00
600.00
1000 5000 10000 15000 20000 30000 40000Matrix dimension
Med
ian
elap
sed
time (
s)
svdpropackRSpectrairlbarsvd (q=1)rsvd (q=2)
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Desempeno computacional
Tiempos ejecucion para aproximaciones matrices y variosrangos objetivo( Randomized Matrix Descompositions.Erichson)
Matrices densas de 5000 ×3000
0.1
0.5
2.0
10.0
5 20 50 100 200
Target rank, k
Me
dia
n e
lap
sed
tim
e (
s)
(a) Runtime.
0
20
40
60
5 20 50 100 200
Target −rank, k
Sp
ee
du
psvdpropackRSpectrairlbarsvd (q=1)rsvd (q=2)
(b) Speedups.
1e−12
1e−08
1e−04
1e+00
5 20 50 100 200
target−rank, k
Re
lati
ve e
rro
r
(c) Relative errors.
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Desempeno computacional
Tiempos ejecucion para aproximaciones matrices y variosrangos objetivo( Randomized Matrix Descompositions.Erichson
Matrices densas de 5000 ×3000
0.1
0.5
2.0
10.0
40.0
5 20 50 100 200
Target rank, k
Me
dia
n e
lap
sed
tim
e (
s)
(a) Runtime.
0
25
50
75
5 20 50 100 200
Target −rank, k
Sp
ee
du
psvdpropackRSpectrairlbarsvd (q=1)rsvd (q=2)
(b) Speedups.
1e−12
1e−08
1e−04
1e+00
5 20 50 100 200
target−rank, k
Re
lati
ve e
rro
r
(c) Relative errors.
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Desempeno computacional
Tiempos ejecucion para aproximaciones matrices y variosrangos objetivo( Randomized Matrix Descompositions.Erichson
Matrices densas de 10000 x 5000
0.5
2.0
10.0
40.0
5 20 50 100 200
Target rank, k
Me
dia
n e
lap
sed
tim
e (
s)
(a) Runtime.
0
50
100
5 20 50 100 200
Target −rank, k
Sp
ee
du
psvdpropackRSpectrairlbarsvd (q=1)rsvd (q=2)
(b) Speedups.
1e−12
1e−08
1e−04
1e+00
5 20 50 100 200
target−rank, k
Re
lati
ve e
rro
r
(c) Relative errors.
Algoritmos aleatorizados en aproximaciones de bajo rango
Aplicacion en R
Desempeno computacional
Tiempos ejecucion para aproximaciones matrices y variosrangos objetivo( Randomized Matrix Descompositions.Erichson
Matrices dispersas de 10000 x 5000
0.5
2.0
10.0
40.0
5 20 50 100 200
Target rank, k
Me
dia
n e
lap
sed
tim
e (
s)
(a) Runtime.
0
50
100
5 20 50 100 200
Target −rank, k
Sp
ee
du
psvdpropackRSpectrairlbarsvd (q=1)rsvd (q=2)
(b) Speedups.
0.96
0.98
1.00
5 20 50 100 200
target−rank, k
Re
lati
ve e
rro
r
(c) Relative errors.
Algoritmos aleatorizados en aproximaciones de bajo rango
Comentarios finales
Comentarios finales
1
Las mayores aceleraciones computacionales se alcanzan si el rangoobjetivo esta entre 3 y 6 veces menor que n.
2
Las rutinas basadas en estrategias de algoritmos matricialesaleatorizados se aplican tambien otras descomposicionesmatriciales como la interpolativa y la descomposicion CUR
Algoritmos aleatorizados en aproximaciones de bajo rango
Referencias bibliograficas
Referencias bibliograficas
M. GU , SUBSPACE ITERATION RANDOMIZATION ANDSINGULAR VALUE PROBLEMS, 2014
N. Benjamin Erichson, Sergey Voronin,StevenL.Brunton y J. Nathan Kutz RANDOMIZED MATRIXDECOMPOSITIONS USING R, April 2018
N. Benjamin Erichson R Package RSVD,2017