El método de Kaczmarz o algoritmo de Kaczmarz es un algoritmo iterativo para resolver sistemas de ecuaciones lineales.Fue descubierta por primera vez por el matemático polaco Stefan Kaczmarz [ 1 ] y redescubierta 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 la conoce como Técnica de Reconstrucción Algebraica (ART) [ 2 ] . ART incluye la restricción de positividad, lo que la hace no lineal [ 3 ] .
El método de Kaczmarz es aplicable a cualquier sistema de ecuaciones lineales, 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 numerosas 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

El algoritmo original de Kaczmarz resuelve un sistema de ecuaciones lineales de valores complejos..
Dejarsea la transpuesta conjugada de la-fila deInicializarser una aproximación inicial arbitraria de valor complejo. (p. ej..) Paracalcular:
dóndeitera sobre las filas deEn cualquier orden, determinista o aleatorio. Solo es necesario que cada fila se recorra infinitas veces.
Cuando estamos en el espacio de vectores reales, la iteración de Kaczmarz tiene un claro significado geométrico. Significa proyectarortogonalmente al hiperplano definido porEn esta interpretación, es claro que si la iteración de Kaczmarz converge, entonces debe converger a una de las soluciones de.
Se puede definir un algoritmo más general utilizando un parámetro de relajación .
Si el sistema tiene una solución,converge a la solución de norma mínima , siempre que las iteraciones comiencen con el vector cero. Si las filas se iteran en orden, y, entonces la convergencia es exponencial.
Dejarser el espacio de soluciones para, entonces puesto que en cada iteración de Kaczmarz,es un vector paralelo a, la solución final es una suma lineal de.
Ahora,es paralelo al núcleo de, por lo que es perpendicular a cada, por lo tanto el finales perpendicular a, lo que significa que es la solución de norma mínima.
Dejarsea la solución de norma mínima. Sino lo es, luego después de una iteración a través de todas las filas de, debe haber sido proyectado ortogonalmente al menos una vez, de modo que, dóndees el ángulo agudo más grande entre los hiperplanos definidos por.
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 costo 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 considerarse un caso particular del descenso de gradiente estocástico . [ 9 ]
En tales circunstanciasconverge exponencialmente rápido a la solución dey la tasa de convergencia depende únicamente del número de condición escalado..
- Teorema. Seaser la solución deEntonces el algoritmo 2 converge aEn promedio, con el error medio:
Prueba
Tenemos
Usando
podemos escribir ( 2 ) como
El punto principal de la demostración es considerar el lado izquierdo en ( 3 ) como una esperanza de alguna variable aleatoria . Es decir, recordemos que el espacio de soluciones de laecuación dees el hiperplano
cuya normalidad esDefina 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 ortogonalsobre el espacio de soluciones de una ecuación aleatoria dees dado por
Ahora estamos listos para analizar nuestro algoritmo. Queremos demostrar que el errorreduce en cada paso en promedio (condicionado a los pasos anteriores) por al menos el factor deLa siguiente aproximaciónse calcula a partir decomodóndeson realizaciones independientes de la proyección aleatoriaEl vectorestá en el núcleo deEs ortogonal al espacio de soluciones de la ecuación sobre la cualproyectos, que contiene el vector(recuerde quees la solución a todas las ecuaciones). La ortogonalidad de estos dos vectores produce entonces
Para completar la demostración, tenemos que acotardesde abajo. Por definición de, tenemos
dóndeson realizaciones independientes del vector aleatorio
De este modo
Ahora tomamos la esperanza 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 aleatoriosy promediamos sobre el vector aleatorio). Entonces
Por ( 4 ) y la independencia,
Tomando en cuenta las expectativas de ambas partes, concluimos que
La superioridad de esta selección se ilustró con la reconstrucción de una función de ancho de banda limitado a partir de sus valores de muestreo espaciados de forma no uniforme. Sin embargo, se ha señalado [ 10 ] que el éxito reportado por Strohmer y Vershynin depende de las elecciones específicas que se hicieron allí al traducir el problema subyacente, cuya naturaleza geométrica consiste en 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 ] tendrá un desempeño 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 escalado de las ecuaciones es irrelevante; también se puede ver en ( 1 ) que cualquier escalado (distinto de cero) de las ecuaciones se cancela. Así, en RK, se puede usaro cualquier otro peso que pueda ser relevante. Específicamente, en el ejemplo de reconstrucción mencionado anteriormente, las ecuaciones se eligieron con una probabilidad proporcional a la distancia promedio de cada punto de muestra a sus dos vecinos más cercanos, un concepto introducido por Feichtinger y Gröchenig . Para obtener más información sobre este tema, consulte [ 12 ] , [ 13 ] y las referencias allí citadas.
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 caso especial. Otros casos especiales incluyen el descenso de coordenadas aleatorio , el descenso gaussiano aleatorio y el método de Newton aleatorio. Las versiones por bloques y las versiones con muestreo de importancia de todos estos métodos también surgen como casos especiales. Se demuestra que el método disfruta de una disminución exponencial de la tasa (en esperanza), también conocida como convergencia lineal, bajo condiciones muy leves sobre la forma en que la aleatoriedad entra en el algoritmo. El método de Gower-Richtarik es el primer algoritmo que descubre una relación de "hermanos" entre estos métodos, algunos de los cuales fueron propuestos independientemente con anterioridad, mientras que muchos de ellos eran nuevos.
Información sobre el método aleatorio de Kaczmarz
Entre las nuevas e interesantes perspectivas sobre el método aleatorio de Kaczmarz que se pueden obtener del análisis del método se incluyen:
- La tasa general del algoritmo de Gower-Richtarik recupera con precisión la tasa del método aleatorio de Kaczmarz en el caso especial en que se reduce a este.
- La elección de probabilidades para la cual se formuló y analizó originalmente el algoritmo aleatorio de Kaczmarz (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 aleatorio de Kaczmarz con las probabilidades óptimas puede ser arbitrariamente mejor que la complejidad para las probabilidades estándar. Sin embargo, la magnitud de esta mejora depende de la matriz.Existen problemas para los que las probabilidades estándar son óptimas.
- Cuando se aplica a un sistema con matrizque es definida positiva, el método aleatorio de Kaczmarz 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.Tenga en cuenta que desdees convexo, los minimizadores dedebe satisfacer, lo cual es equivalente aEl "tamaño de paso especial" es el tamaño de paso que conduce a un punto que en la línea unidimensional generada por el gradiente estocástico minimiza la distancia euclidiana desde el minimizador desconocido (!) de, es decir, deEsta perspectiva se obtiene a partir de una visión dual del proceso iterativo (que se describe a continuación como "Punto de vista de optimización: restricción y aproximación").
Seis formulaciones equivalentes
El método de 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 muchas variantes, incluido el método aleatorio de Kaczmarz):
- 1. Punto de vista del boceto: Boceto y proyecto
- 2. Punto de vista de la optimización: Restringir y aproximar
- 3. Punto de vista geométrico: Intersección aleatoria
- 4. Punto de vista algebraico 1: Resolución lineal aleatoria
- 5. Punto de vista algebraico 2: Actualización aleatoria
- 6. Punto de vista analítico: Punto fijo aleatorio
A continuación, describimos algunos de estos puntos de vista. El método depende de dos parámetros:
- una matriz definida positivadando lugar a un producto interno euclidiano ponderadoy la norma inducida
- y una matriz aleatoriacon tantas filas como(y posiblemente un número aleatorio de columnas).
1. Boceto y proyecto
Dado el iterado anteriorel nuevo puntose calcula extrayendo una matriz aleatoria(de forma i.i.d. a partir de alguna distribución fija), y estableciendo
Eso es,se obtiene como la proyección desobre el sistema dibujado al azarLa idea detrás de este método es elegirde 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 aleatorio de Kaczmarz se obtiene seleccionandoser la matriz identidad yser elvector de coordenadas unitarias con probabilidadDiferentes opciones deydan lugar a diferentes variantes del método.
2. Restringir y aproximar
Una formulación del método aparentemente diferente pero totalmente equivalente (obtenida mediante la dualidad lagrangiana) es
dóndeTambién se permite variar, y donde¿Existe alguna solución al sistema?Por eso,se obtiene restringiendo primero la actualización al subespacio lineal generado por las columnas de la matriz aleatoria., es decir, a
y luego elegir el puntode este subespacio que mejor se aproximaEsta formulación puede parecer sorprendente ya que parece imposible realizar el paso de aproximación debido a queno se sabe (¡después de todo, esto es lo que estamos tratando de calcular!). Sin embargo, todavía es posible hacerlo, simplemente porquecalculado de esta manera es lo mismo quecalculado a través del boceto y la formulación del proyecto y desdeNo aparece allí.
5. Actualización aleatoria
La actualización también se puede escribir explícitamente como
donde pordenotamos la pseudoinversa de Moore-Penrose de la matrizPor lo tanto, el método se puede escribir de la forma, dóndees un vector de actualización aleatoria .
AlquilerSe puede demostrar que el sistemaSiempre tiene solución.y que para todas esas soluciones el vectores lo mismo. Por lo tanto, no importa cuál de estas soluciones se elija, y el método también se puede escribir comoLa pseudoinversa conduce a una única 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,
- Simplifica el análisis mediante la sexta y última formulación.
6. Punto fijo aleatorio
Si restamosDesde ambos lados de la fórmula de actualización aleatoria, denotemos
y utilizar el hecho de queLlegamos a la última formulación:
dóndees la matriz identidad. La matriz de iteración,es aleatorio, de ahí el nombre de esta formulación.
Convergencia
Al tomar expectativas condicionales en la sexta formulación (condicional a), obtenemos
Tomando nuevamente la esperanza y utilizando la propiedad de torre de las esperanzas, obtenemos
Gower y Richtarik [ 14 ] muestran que
- :=\left\|IB^{-{\frac {1}{2}}}\mathbb {E} [Z]B^{-{\frac {1}{2}}}\right\|_{B}=\lambda _{\max }\left(IB^{-1}\mathbb {E} [Z]\right),}
donde la norma de la matriz se define por
Además, sin ninguna suposición sobreuno tieneTomando normas y desenrollando 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 sitiene rango de columna completo y bajo condiciones muy suaves enLa convergencia del método también puede establecerse de otra manera sin la suposición de rango de columna completo. [ 15 ]
También es posible mostrar un resultado más contundente:
Teorema [Gower y Richtarik 2015]
Las normas al cuadrado esperadas (en lugar de las normas de expectativas) convergen al mismo ritmo:
Nota : 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 aleatorio
Hemos visto que el método aleatorio de Kaczmarz aparece como un caso especial del método de Gower-Richtarik paraysiendo elvector de coordenadas unitarias con probabilidaddóndees elfila deSe puede comprobar mediante cálculo directo que
Otros casos especiales
Algoritmo 4: PLSS-Kaczmarz
Dado que la convergencia del método de Kaczmarz (aleatorizado) depende de una tasa de convergencia, el método puede progresar lentamente en algunos problemas prácticos. [ 10 ] Para asegurar la terminación finita del método, Johannes Brust y Michael Saunders (académicos) [ 16 ] han desarrollado un proceso que generaliza la iteración de Kaczmarz (aleatorizada) y termina en como máximoiteraciones para encontrar una solución para el sistema consistenteEl proceso se basa en la reducción de dimensionalidad , o proyecciones sobre espacios de menor dimensión, de ahí su nombre PLSS (Projected Linear Systems Solver). Una iteración de PLSS-Kaczmarz puede considerarse como la generalización.
dóndees la selección de filas 1 ay todas las columnas deUna versión aleatoria del método utiliza índices de fila no repetidos en cada iteración:donde cadaestá enLa iteración converge a una solución cuando . En particular, dado quesostiene que
y por lo tantoes una solución al 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 recibe como entrada la matriz A, el lado derecho b y como salida la solución x tal que Ax=b.x := 0 , P = [0] para k en 1,2,...,m hacera := A(i k ,:)' // Seleccionar un índice i k en 1,...,m sin remuestreo 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) ] // Agregar 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 las referencias allí citadas.
- ^ Strohmer y Vershinin ( 2009)
- ^ Needell, Srebro y Ward (2015)
- 1 2 3 Censor, Herman y Jiang (2009)
- ^ Strohmer y Vershynin (2009b)
- ↑ Bass y Gröchenig (2013)
- ↑ Gordon (2017)
- ^ Gower y Richtarik (2015a )
- ↑ Gower y Richtarik (2015b)
- ↑ Brust 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 , archivado desde el original (PDF) el 25 de abril de 2012 , consultado el 7 de octubre de 2011.
- 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 diagnóstico por imagen para la búsqueda, destrucción, curación y observación del cáncer de mama premetastásico. En: Breast Cancer - A Lobar Disease, editor: Tibor Tot , Springer, pp. 167–203 .
- Herman, Gabor (2009), Fundamentos de 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 aleatorio de Kaczmarz 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", Mathematical Programming , 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 aleatorio de Kaczmarz de Strohmer y Vershynin", Journal of Fourier Analysis and Applications , 15 (4): 431– 436, Bibcode : 2009JFAA...15..431C , 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, Bibcode : 2009JFAA...15..437S , doi : 10.1007/s00041-009-9082-0 , S2CID 14806325
- Bass, Richard F.; Gröchenig, Karlheinz (2013), "Muestreo relevante de funciones de banda limitada", 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 ancho de banda limitado en un amplio rango de tasas de muestreo aleatorio", 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
- Un algoritmo de Kaczmarz aleatorio con convergencia exponencial
- Comentarios sobre el método aleatorio de Kaczmarz.
- Algoritmo de Kaczmarz en el entrenamiento de la red de Kolmogorov-Arnold
- Álgebra lineal numérica
- Imágenes médicas
- Procesamiento de señales