stringtranslate.com

Método Kaczmarz

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:

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):

A continuación, describiremos algunos de estos puntos de vista. El método depende de dos parámetros:

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:

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

  1. ^ Kaczmarz (1937)
  2. ^ Gordon, Bender y Herman (1970)
  3. ^ Gordon (2011)
  4. ^ Herman (2009)
  5. ^ Censor y Zenios (1997)
  6. ^ Aster, Borchers y Thurber (2004)
  7. ^ Véase Herman (2009) y referencias allí citadas.
  8. ^ abc Strohmer y Vershynin (2009)
  9. ^ Needell, Srebro y Ward (2015)
  10. ^ abc Censor, Herman y Jiang (2009)
  11. ^ Strohmer y Vershynin (2009b)
  12. ^ Bass y Gröchenig (2013)
  13. ^ Gordon (2017)
  14. ^ abc Gower y Richtarik (2015a)
  15. ^ Gower y Richtarik (2015b)
  16. ^ Brut y Saunders (2023)

Referencias


Enlaces externos