Algoritmo
El método de Kaczmarz o algoritmo de Kaczmarz es un algoritmo iterativo para resolver sistemas de ecuaciones lineales . Fue descubierto por primera vez por el matemático polaco Stefan Kaczmarz , [1] y fue redescubierto en el campo de la reconstrucción de imágenes a partir de proyecciones por Richard Gordon , Robert Bender y Gabor Herman en 1970, donde se lo llama Técnica de Reconstrucción Algebraica (ART). [2] La ART incluye la restricción de positividad, lo que la hace no lineal. [3]
El método de Kaczmarz es aplicable a cualquier sistema lineal de ecuaciones, pero su ventaja computacional con respecto a otros métodos depende de que el sistema sea disperso . Se ha demostrado que es superior, en algunas aplicaciones de imágenes biomédicas, a otros métodos como el método de retroproyección filtrada . [4]
Tiene múltiples aplicaciones, desde la tomografía computarizada (TC) hasta el procesamiento de señales . También se puede obtener aplicando a los hiperplanos, descritos por el sistema lineal, el método de proyecciones sucesivas sobre conjuntos convexos (POCS). [5] [6]
Algoritmo 1: Algoritmo de Kaczmarz
Sea un sistema de ecuaciones lineales , sea el número de filas de A , sea la fila n° de la matriz de valores complejos , y sea una aproximación inicial de valores complejos arbitraria a la solución de . Para calcular:
donde y denota la conjugación compleja de .
Si el sistema es consistente, converge a la solución de norma mínima , siempre que las iteraciones comiencen con el vector cero.
Se puede definir un algoritmo más general utilizando un parámetro de relajación
Existen versiones del método que convergen a una solución de mínimos cuadrados ponderados regularizados cuando se aplican a un sistema de ecuaciones inconsistentes y, al menos en lo que respecta al comportamiento inicial, a un coste menor que otros métodos iterativos, como el método del gradiente conjugado . [7]
Algoritmo 2: Algoritmo de Kaczmarz aleatorio
En 2009, Thomas Strohmer y Roman Vershynin [8] introdujeron una versión aleatoria del método de Kaczmarz para sistemas lineales sobredeterminados en la que la i -ésima ecuación se selecciona aleatoriamente con una probabilidad proporcional a
Este método puede verse como un caso particular de descenso de gradiente estocástico . [9]
En tales circunstancias, converge exponencialmente rápido a la solución de y la tasa de convergencia depende únicamente del número de condición escalado .
- Teorema. Sea la solución de Entonces el algoritmo 2 converge a en expectativa, con el error promedio:
Prueba
Tenemos
Usando
podemos escribir ( 2 ) como
El punto principal de la prueba es considerar el lado izquierdo en ( 3 ) como una expectativa de alguna variable aleatoria. Es decir, recordar que el espacio de solución de la ecuación de es el hiperplano
cuya normal es Defina un vector aleatorio Z cuyos valores sean las normales a todas las ecuaciones de , con probabilidades como en nuestro algoritmo:
- con probabilidad
Entonces ( 3 ) dice que
La proyección ortogonal sobre el espacio de soluciones de una ecuación aleatoria de está dada por
Ahora estamos listos para analizar nuestro algoritmo. Queremos demostrar que el error se reduce en cada paso en promedio (condicionado a los pasos anteriores) por al menos el factor de La siguiente aproximación se calcula a partir de donde son realizaciones independientes de la proyección aleatoria El vector está en el núcleo de Es ortogonal al espacio de solución de la ecuación sobre la que se proyecta, que contiene el vector (recuerde que es la solución de todas las ecuaciones). La ortogonalidad de estos dos vectores produce entonces
Para completar la prueba, tenemos que acotar desde abajo. Por la definición de , tenemos
¿Dónde están las realizaciones independientes del vector aleatorio?
De este modo
Ahora tomamos la expectativa de ambos lados condicionada a la elección de los vectores aleatorios (por lo tanto, fijamos la elección de las proyecciones aleatorias y, por lo tanto, los vectores aleatorios y promediamos sobre el vector aleatorio ). Entonces
Por ( 4 ) y la independencia,
Teniendo en cuenta las expectativas completas de ambas partes, concluimos que
La superioridad de esta selección se ilustró con la reconstrucción de una función de banda limitada a partir de sus valores de muestreo no uniformemente espaciados. Sin embargo, se ha señalado [10] que el éxito informado por Strohmer y Vershynin depende de las elecciones específicas que se hicieron allí al traducir el problema subyacente, cuya naturaleza geométrica es encontrar un punto común de un conjunto de hiperplanos , en un sistema de ecuaciones algebraicas. Siempre habrá representaciones algebraicas legítimas del problema subyacente para las cuales el método de selección en [8] funcionará de manera inferior. [8] [10] [11]
La iteración de Kaczmarz ( 1 ) tiene una interpretación puramente geométrica: el algoritmo proyecta sucesivamente la iteración actual sobre el hiperplano definido por la siguiente ecuación. Por lo tanto, cualquier escala de las ecuaciones es irrelevante; también se puede ver a partir de ( 1 ) que cualquier escala (distinto de cero) de las ecuaciones se cancela. Por lo tanto, en RK, se pueden usar o cualquier otro peso que pueda ser relevante. Específicamente, en el ejemplo de reconstrucción mencionado anteriormente, las ecuaciones se eligieron con probabilidad proporcional a la distancia promedio de cada punto de muestra de sus dos vecinos más cercanos, un concepto introducido por Feichtinger y Gröchenig. Para avances adicionales sobre este tema, consulte [12] [13] y las referencias allí incluidas.
Algoritmo 3: algoritmo de Gower-Richtarik
En 2015, Robert M. Gower y Peter Richtarik [14] desarrollaron un método iterativo aleatorio versátil para resolver un sistema consistente de ecuaciones lineales que incluye el algoritmo aleatorio de Kaczmarz como un caso especial. Otros casos especiales incluyen el descenso aleatorio de coordenadas, el descenso aleatorio de Gauss y el método aleatorio de Newton. Las versiones en bloque y las versiones con muestreo de importancia de todos estos métodos también surgen como casos especiales. Se muestra que el método disfruta de una tasa de decaimiento exponencial (en expectativa), también conocida como convergencia lineal, en condiciones muy suaves en la forma en que la aleatoriedad ingresa al algoritmo. El método de Gower-Richtarik es el primer algoritmo que descubre una relación "hermana" entre estos métodos, algunos de los cuales se propusieron independientemente antes, mientras que muchos de los cuales eran nuevos.
Información sobre Kaczmarz aleatorio
Entre los nuevos e interesantes conocimientos sobre el método aleatorio de Kaczmarz que se pueden obtener a partir del análisis del método se incluyen los siguientes:
- La tasa general del algoritmo de Gower-Richtarik recupera con precisión la tasa del método aleatorio de Kaczmarz en el caso especial cuando se reduce a él.
- La elección de probabilidades para las que se formuló y analizó originalmente el algoritmo de Kaczmarz aleatorio (probabilidades proporcionales a los cuadrados de las normas de fila) no es óptima. Las probabilidades óptimas son la solución de un cierto programa semidefinido. La complejidad teórica del algoritmo de Kaczmarz aleatorio con las probabilidades óptimas puede ser arbitrariamente mejor que la complejidad para las probabilidades estándar. Sin embargo, la cantidad en que es mejor depende de la matriz . Hay problemas para los que las probabilidades estándar son óptimas.
- Cuando se aplica a un sistema con una matriz que es definida positiva, el método de Kaczmarz aleatorio es equivalente al método de descenso de gradiente estocástico (SGD) (con un tamaño de paso muy especial) para minimizar la función cuadrática fuertemente convexa. Nótese que como es convexo, los minimizadores de deben satisfacer , que es equivalente a El "tamaño de paso especial" es el tamaño de paso que conduce a un punto que en la línea unidimensional abarcada por el gradiente estocástico minimiza la distancia euclidiana desde el minimizador desconocido (!) de , es decir, desde Esta perspectiva se obtiene a partir de una visión dual del proceso iterativo (descrito a continuación como "Punto de vista de optimización: restricción y aproximación").
Seis formulaciones equivalentes
El método Gower-Richtarik cuenta con seis formulaciones aparentemente diferentes pero equivalentes, lo que arroja luz adicional sobre cómo interpretarlo (y, en consecuencia, cómo interpretar sus numerosas variantes, incluido el Kaczmarz aleatorio):
- 1. Punto de vista del boceto: Boceto y proyecto
- 2. Punto de vista de optimización: restricción y aproximación
- 3. Punto de vista geométrico: intersección aleatoria
- 4. Punto de vista algebraico 1: Solución lineal aleatoria
- 5. Punto de vista algebraico 2: Actualización aleatoria
- 6. Punto de vista analítico: Punto fijo aleatorio
A continuación, describiremos algunos de estos puntos de vista. El método depende de dos parámetros:
- una matriz definida positiva que da lugar a un producto interno euclidiano ponderado y la norma inducida
- y una matriz aleatoria con tantas filas como (y posiblemente un número aleatorio de columnas).
1. Boceto y proyecto
Dada la iteración anterior, el nuevo punto se calcula extrayendo una matriz aleatoria (en un modo iid a partir de alguna distribución fija) y estableciendo
Es decir, se obtiene como la proyección de sobre el sistema esbozado aleatoriamente . La idea detrás de este método es elegir de tal manera que una proyección sobre el sistema esbozado sea sustancialmente más simple que la solución del sistema original . El método de Kaczmarz aleatorizado se obtiene eligiendo que sea la matriz identidad y que sea el vector de coordenadas unitario con probabilidad Diferentes elecciones de y conducen a diferentes variantes del método.
2. Restringir y aproximar
Una formulación aparentemente diferente pero completamente equivalente del método (obtenida a través de la dualidad lagrangiana) es
donde también se permite que varíe, y donde es cualquier solución del sistema . Por lo tanto, se obtiene restringiendo primero la actualización al subespacio lineal abarcado por las columnas de la matriz aleatoria , es decir, a
y luego elegir el punto de este subespacio que mejor se aproxima a . Esta formulación puede parecer sorprendente ya que parece imposible realizar el paso de aproximación debido al hecho de que no se conoce (después de todo, ¡esto es lo que estamos tratando de calcular!). Sin embargo, todavía es posible hacer esto, simplemente porque el cálculo de esta manera es el mismo que el calculado a través de la formulación del boceto y el proyecto y dado que no aparece allí.
5. Actualización aleatoria
La actualización también se puede escribir explícitamente como
donde denotamos la pseudoinversa de Moore-Penrose de la matriz . Por lo tanto, el método puede escribirse en la forma , donde es un vector de actualización aleatorio .
Si se deja que se pueda demostrar que el sistema siempre tiene una solución y que para todas esas soluciones el vector es el mismo. Por lo tanto, no importa cuál de estas soluciones se elija y el método también se puede escribir como . La pseudoinversa conduce solo a una solución particular. El papel de la pseudoinversa es doble:
- Permite que el método se escriba en la forma explícita de "actualización aleatoria" como se indicó anteriormente.
- El análisis se simplifica mediante la sexta y última formulación.
6. Punto fijo aleatorio
Si restamos de ambos lados de la fórmula de actualización aleatoria, denotamos
y utilizamos el hecho de que llegamos a la última formulación:
donde es la matriz identidad. La matriz de iteración es aleatoria, de ahí el nombre de esta formulación.
Convergencia
Al tomar expectativas condicionales en la sexta formulación (condicional a ), obtenemos
Tomando nuevamente la expectativa y utilizando la propiedad de la torre de expectativas, obtenemos
Gower y Richtarik [14] muestran que
donde la norma matricial se define por
Además, sin ninguna suposición sobre uno tiene Al tomar normas y desarrollar la recurrencia, obtenemos
Teorema [Gower y Richtarik 2015]
Observación . Una condición suficiente para que los residuos esperados converjan a 0 es Esto se puede lograr si tiene un rango de columna completo y en condiciones muy suaves en La convergencia del método se puede establecer también sin el supuesto de rango de columna completo de una manera diferente. [15]
También es posible mostrar un resultado más fuerte:
Teorema [Gower y Richtarik 2015]
Las normas cuadradas esperadas (en lugar de las normas de expectativas) convergen a la misma tasa:
Observación . Este segundo tipo de convergencia es más fuerte debido a la siguiente identidad [14] que se cumple para cualquier vector aleatorio y cualquier vector fijo :
Convergencia de Kaczmarz aleatorizado
Hemos visto que el método aleatorio de Kaczmarz aparece como un caso especial del método de Gower-Richtarik para y siendo el vector de coordenadas unitario con probabilidad donde es la fila de Se puede comprobar mediante cálculo directo que
Otros casos especiales
Algoritmo 4: PLSS-Kaczmarz
Dado que la convergencia del método de Kaczmarz (aleatorio) depende de una tasa de convergencia, el método puede avanzar lentamente en algunos problemas prácticos. [10] Para asegurar la terminación finita del método, Johannes Brust y Michael Saunders (académico) [16] han desarrollado un proceso que generaliza la iteración de Kaczmarz (aleatorio) y termina en, como máximo, iteraciones en una solución para el sistema consistente . El proceso se basa en la reducción de la dimensionalidad o proyecciones sobre espacios de menor dimensión, de donde deriva su nombre PLSS (Projected Linear Systems Solver). Una iteración de PLSS-Kaczmarz puede considerarse como la generalización
donde es la selección de filas 1 a y todas las columnas de . Una versión aleatoria del método utiliza
índices de fila no repetidos en cada iteración: donde cada uno está en . La iteración converge a una solución cuando . En particular, dado que se cumple que
y por lo tanto es una solución del sistema lineal. El cálculo de iteraciones en PLSS-Kaczmarz se puede simplificar y organizar de manera efectiva. El algoritmo resultante solo requiere productos matriz-vector y tiene una forma directa.
El algoritmo PLSS-Kaczmarz es entrada: matriz A lado derecho b salida: solución x tal que Ax=b x := 0 , P = [0] para k en 1,2,...,m hacer a := A(i k ,:)' // Seleccionar un índice i k en 1,...,m sin remuestrear d := P' * a c 1 := norm(a) c 2 := norm(d) c 3 := (b i k -x'*a)/((c 1 -c 2 )*(c 1 +c 2 )) p := c 3 *(a - P*(P'*a)) P := [ P, p/norm(p) ] // Añadir una actualización normalizada x := x + p devolver x
Notas
- ^ Kaczmarz (1937)
- ^ Gordon, Bender y Herman (1970)
- ^ Gordon (2011)
- ^ Herman (2009)
- ^ Censor y Zenios (1997)
- ^ Aster, Borchers y Thurber (2004)
- ^ Véase Herman (2009) y referencias allí citadas.
- ^ abc Strohmer y Vershynin (2009)
- ^ Needell, Srebro y Ward (2015)
- ^ abc Censor, Herman y Jiang (2009)
- ^ Strohmer y Vershynin (2009b)
- ^ Bass y Gröchenig (2013)
- ^ Gordon (2017)
- ^ abc Gower y Richtarik (2015a)
- ^ Gower y Richtarik (2015b)
- ^ Brut y Saunders (2023)
Referencias
- Kaczmarz, Stefan (1937), "Angenäherte Auflösung von Systemen linearer Gleichungen" (PDF) , Bulletin International de l'Académie Polonaise des Sciences et des Lettres. Clase de Ciencias Matemáticas y Naturales. Serie A, Ciencias Matemáticas , vol. 35, págs. 355–357
- Chong, Edwin KP; Zak, Stanislaw H. (2008), Introducción a la optimización (3.ª ed.), John Wiley & Sons, págs. 226-230
- Gordon, Richard ; Bender, Robert; Herman, Gabor (1970), "Técnicas de reconstrucción algebraica (ART) para microscopía electrónica tridimensional y fotografía de rayos X", Journal of Theoretical Biology , 29 (3): 471–481, Bibcode :1970JThBi..29..471G, doi :10.1016/0022-5193(70)90109-8, PMID 5492997
- Gordon, Richard (2011), ¡ Detengamos el cáncer de mama ahora! Imaginando vías de imagen para la búsqueda, destrucción, cura y observación del cáncer de mama premetástasis. En: Cáncer de mama: una enfermedad lobular, editor: Tibor Tot , Springer, págs. 167–203
- Herman, Gabor (2009), Fundamentos de la tomografía computarizada: reconstrucción de imágenes a partir de proyecciones (2.ª ed.), Springer, ISBN 9781846287237
- Censor, Yair ; Zenios, SA (1997), Optimización paralela: teoría, algoritmos y aplicaciones , Nueva York: Oxford University Press
- Aster, Richard; Borchers, Brian; Thurber, Clifford (2004), Estimación de parámetros y problemas inversos , Elsevier
- Strohmer, Thomas; Vershynin, Roman (2009), "Un algoritmo de Kaczmarz aleatorizado para sistemas lineales con convergencia exponencial" (PDF) , Journal of Fourier Analysis and Applications , 15 (2): 262–278, arXiv : math/0702226 , doi :10.1007/s00041-008-9030-4, S2CID 1903919
- Needell, Deanna; Srebro, Nati; Ward, Rachel (2015), "Descenso de gradiente estocástico, muestreo ponderado y el algoritmo aleatorio de Kaczmarz", Programación matemática , 155 (1–2): 549–573, arXiv : 1310.5715 , doi :10.1007/s10107-015-0864-7, S2CID 2370209
- Censor, Yair; Herman, Gabor ; Jiang, M. (2009), "Una nota sobre el comportamiento del algoritmo aleatorizado de Kaczmarz de Strohmer y Vershynin", Journal of Fourier Analysis and Applications , 15 (4): 431–436, doi :10.1007/s00041-009-9077-x, PMC 2872793 , PMID 20495623
- Strohmer, Thomas; Vershynin, Roman (2009b), "Comentarios sobre el método aleatorio de Kaczmarz", Journal of Fourier Analysis and Applications , 15 (4): 437–440, doi :10.1007/s00041-009-9082-0, S2CID 14806325
- Bass, Richard F. ; Gröchenig, Karlheinz (2013), "Muestreo relevante de funciones limitadas por bandas", Illinois Journal of Mathematics , 57 (1): 43–58, arXiv : 1203.0146 , doi :10.1215/ijm/1403534485, S2CID 42705738
- Gordon, Dan (2017), "Un enfoque de desaleatorización para recuperar señales de banda limitada en una amplia gama de frecuencias de muestreo aleatorias", Numerical Algorithms , 77 (4): 1141–1157, doi :10.1007/s11075-017-0356-3, S2CID 1794974
- Vinh Nguyen, Quang; Lumban Gaol, Ford (2011), Actas del 2º Congreso Internacional de Aplicaciones Informáticas y Ciencias Computacionales de 2011 , vol. 2, Springer, págs. 465–469
- Gower, Robert; Richtarik, Peter (2015a), "Métodos iterativos aleatorios para sistemas lineales", SIAM Journal on Matrix Analysis and Applications , 36 (4): 1660–1690, arXiv : 1506.03296 , doi :10.1137/15M1025487, S2CID 8215294
- Gower, Robert; Richtarik, Peter (2015b), "Ascenso dual estocástico para resolver sistemas lineales", arXiv : 1512.06890 [math.NA]
- Brust, Johannes J; Saunders, Michael A (2023), "PLSS: un solucionador de sistemas lineales proyectados", SIAM Journal on Scientific Computing , 45 (2): A1012–A1037, arXiv : 2207.07615 , Bibcode :2023SJSC...45A1012B, doi :10.1137/22M1509783
Enlaces externos
- [1] Un algoritmo de Kaczmarz aleatorio con convergencia exponencial
- [2] Comentarios sobre el método aleatorio de Kaczmarz
- [3] Algoritmo de Kaczmarz en el entrenamiento de la red de Kolmogorov-Arnold