I Encuentro y Optimización Cuba México 2 4,...

22
I Encuentro Análisis Numérico y Optimización CubaMéxico Abril 24, 2012 Los algoritmos matriciales aleatorios como una herramienta alternativa para el trabajo con herramienta alternativa para el trabajo con volúmenes gigantescos de información Dra. Valia Guerra Ones Instituto de Cibernética, Matemática y Física Habana, Cuba

Transcript of I Encuentro y Optimización Cuba México 2 4,...

I Encuentro Análisis Numérico y Optimizacióny pCuba‐MéxicoAbril 2‐4, 2012

Los algoritmos matriciales aleatorios como una herramienta alternativa para el trabajo conherramienta alternativa para el trabajo con 

volúmenes gigantescos de información

Dra. Valia Guerra Ones  Instituto de Cibernética, Matemática y Física

Habana, Cuba

Contenido

1. Líneas de trabajo en Algebra Lineal Numérica del ICIMAF

2. Algoritmos matriciales aleatorios: antecedentes e ideas generales2. Algoritmos matriciales aleatorios: antecedentes e ideas generales 

3. Nuestras experiencias

4.     Conclusiones

Líneas de trabajo en Algebra Lineal Numérica del ICIMAFLíneas de trabajo en Algebra Lineal Numérica del ICIMAF

1. Problemas inversos discretos:

• Reconstrucción de soluciones “sparse” mediante Variación Total  y  Regularización con ventanas.

• Aplicaciones a los problemas de Deblurring de imágenes y determinación d t ñ d tí lde tamaño de partículas.

Siguiendo los trabajos de:Siguiendo los trabajos de:

• P.C. Hansen y colaboradores (DTU)• D. O´Leary y colaboradores (Maryland)y y ( y )• R. Reanult y colaboradores (Arizona)

Líneas de trabajo en Algebra Lineal Numérica del ICIMAF (cont)

2. Algoritmos matriciales aleatorios:

• Implementación de estrategias para disminuir costo computacional en operaciones básicas: producto matricial aleatorio

• Técnicas aleatorias para la reducción de dimensión y el problema de• Técnicas aleatorias para la reducción de dimensión y el problema de selección de columnas (CSSP problem)

• Algoritmos eficientes para la estimación de valores y vectores propiosAlgoritmos eficientes para la estimación de valores y vectores propios

• Aplicaciones en algoritmos espectrales de agrupamiento (segmentación de imágenes), Análisis de datos (Componentes principales)g ), ( p p p )

Siguiendo los trabajos de:

• Drineas-Mahoney y colaboradores (Stanford)Drineas Mahoney y colaboradores (Stanford)• I. Ipsen y colaboradores (Carolina)• Martinsson-Tropp ( Colorado)

Líneas de trabajo en Algebra Lineal Numérica del ICIMAF (cont)

3. Problema de valores propios

• Teoría de perturbación para el problema generalizado de autovalores. Esquemas de regularización para estabilizar cálculos en presencia de ruido

• Aplicaciones al cálculo de valores y vectores propios del LaplacianoNormalizado (vinculado a los algoritmos espectrales de agrupamiento )

Siguiendo los trabajos de:

• Treffeten y colaboradores (Oxford)• R. Liu, H. Zhang• Muy variados y dispersos…Muy variados y dispersos…

Algoritmos matriciales aleatorios

C t t l d llContexto en los que se desarrollan:

• Matrices excesivamente grandes

• Se dispone de datos perdidos o imprecisos

• Los resultados no necesitan tener alta precisiónLos resultados no necesitan tener alta precisión 

• Se vinculan a aplicaciones que deben ejecutarse en tiempo real

Áreas en las que se han desarrollado técnicas aleatorias paraq pel trabajo con matrices

• Inmersión aleatoria.A l it i d l f lt d d J hAparecen algoritmos asociados al famoso resultado de Johnson-Lindenstrauss (1984): La distancia entre una colección de N puntos en un espacio euclideanose mantienen cuando los puntos se mapean en un espacio euclideano se a t e e cua do os pu tos se apea e u espac o euc dea ode dimensión O(log N).

• Transmisión de volúmenes masivos de datos.Una de las técnicas para tratar con la enorme dimensión de datos esUna de las técnicas para tratar con la enorme dimensión de datos esla creación de “bocetos”.

• Cálculo Científico.Uno de los algoritmos aleatorios clásicos es el método de Integraciónde Monte Carlo (1949)

Estrategias aleatorias para disminuir costo computacional en operaciones básicas

Producto matricial (Drineas‐Mahoney, 2004)

• Escribir el producto A*B como la suma de matrices de rango uno:

• Aproximar la matriz producto por 

p: vector de probabilidad de selección para las columnas de A y las filasd Bde B

Resultados teóricos que soportan el algoritmo

d d d l d l d• Considerando que cada elemento de la matriz productoaproximada C*R es una variable aleatoria, se tiene que

• El valor esperado de la norma del error se minimiza cuando las filas yEl valor esperado de la norma del error se minimiza cuando las filas ycolumnas entran a la muestra según el vector de probabilidad

conocido como vector de distribución optimal

Nuestras experiencias…(Madrid‐Guerra‐Rojas)

• Evaluamos la conveniencia de usar el vector optimal endiferentes escenarios prácticos

Sorprende que uniforme muestra mejores aproximaciones!!!

Nuestros resultados…

• Encontramos una explicación lógica de lo sucedido desde laóptica del Algebra Lineal Numérica

• Proponemos un nuevo vector de probabilidad (Uniformepor tramos) que consigue mejores resultados en un

i ti l l t i d fi id descenario particular: las matrices de afinidad

Aproximaciones de los tres primeros vectores propios de una matriz de afinidadmatriz de afinidad

eigs

Uniforme por tramos

Uniforme

Optimal

Descomposición matricial CUR: una alternativa aleatoria l D i ió V l Si lpara la Descomposición en Valores Singulares

Cinco “FAQs” sobre CUR…Cinco FAQs sobre CUR…

1. ¿Qué es la descomposición matricial CUR?

Es una familia de descomposiciones en las que se calcula unaaproximación de la matriz de la siguiente forma:

CURA

donde C y R contiene algunas filas y columnas de A, respectivamente.U se forma en dependencia del problema a resolver.

2. ¿Por qué se dice que CUR es una descomposiciónaleatoria?

Porque el hecho de que una fila o columna de A esté en C o R es

considerada como una variable aleatoria con una probabilidadconsiderada como una variable aleatoria con una probabilidad

determinada de ocurrencia.

3 ¿Cuándo y por qué surge CUR?3. ¿Cuándo y por qué surge CUR?

• La idea original está fundamentalmente en los trabajos de StewartLa idea original está fundamentalmente en los trabajos de Stewarty Goreinov‐Tyrtyshnikov‐Zamarashkin en los años 1997‐1998

• Se formaliza en 2004 por Drineas‐Kannan‐Mahoney con la publicaciónde una trilogía de artículos en SIAM

• Aparece como una alternativa a las descomposiciones determinista parael manejo de volúmenes gigantescos de información

4. ¿Para qué sirve la descomposición CUR?

• Como técnica de reducción de variables

P ti l “ t i i ti ”• Para estimar la “matrix approximation”

• En la implementación “barata” de operaciones matriciales

• Alternativa a la SVD determinista

CUR como herramienta para mejorar la interpretación de PCAp j p

CURA

C:  algunas columnas de A      y       R:  algunas filas de A

ARCU ARCU

Vector de Probabilidad para escoger  las columnas de A:

k

l

ljj v

kp

1

2)(1lk 1

K: estimación del rango de A ,

lv : j‐ésima componente del l‐ésimo vector singular de Ajv

Resultado teóricoResultado teórico

Se puede demostrar que con probabilidad al menos de 99%

FkFC AAAPA 2/1

donde Pc es la matriz de proyección en el espacio columna de C

Si el rango de A es cercano a k entonces con alta probabilidad lasprimeras k columnas de C forman una base para el espacio generadopor las columnas de Apor las columnas de A

V t j d CUR b PCA + SVDVentaja de CUR sobre PCA + SVD :

• La base propuesta está formada por filas y columnas de la matriz dedatos Un número grande de variables no es limitacióndatos . Un número grande de variables no es limitación

• Para escoger variables importantes no media la interpretacióng p pnecesaria en PCA + SVD

N t i iNuestros experiencias:

• Reducción de dimensión en un  estudio de la actividad antibacteriana de la cefalosporinade la cefalosporina

• Estrategia algorítmica útil en la determinación de número de grupos(procedimiento previo al uso del algoritmo k‐means)(procedimiento previo al uso del algoritmo k means)

Conclusiones

• Los algoritmos matriciales aleatorios pueden ser la clave parauna implementación eficiente de muchas estrategias ymétodos propuestos en otras áreasmétodos propuestos en otras áreas

• La introducción del pensamiento aleatorio es parte de laevolución necesaria e imprescindible del Algebra Linealevolución necesaria e imprescindible del Algebra inealNumérica