Resolviendo el problema de optimización convexa utilizada para la eliminación de ruido de alta calidad

8

La respuesta más votada a esta pregunta sugiere que para ignorar una señal mientras se conservan las transiciones bruscas, se debe

minimizar la función objetivo:

|xy|2+b|f(y)|

donde es la señal ruidosa, es la señal sin ruido , es el parámetro de regularización yes una penalización de la norma L1. La eliminación del ruido se logra al encontrar la solución para este problema de optimización, y depende del nivel de ruido.y b | f ( y ) | y bxyb|f(y)|yb

Sin embargo, no hay indicios de cómo se podría lograr eso en la práctica, ya que es un problema en un espacio dimensional muy alto, especialmente si la señal es, por ejemplo, de 10 millones de muestras. En la práctica, ¿cómo se resuelve este tipo de problema computacionalmente para señales grandes?

John Robertson
fuente
¿Te preocupa el tiempo de ejecución? De lo contrario, la iteración sobre cómo minimizar una función es bastante extensa (me vienen a la mente Levenberg-Marquardt, Nelder-Mead, etc.). Incluso hay algunas versiones modificadas que están hechas específicamente para esto.
thang
En realidad, tengo una pregunta para las personas que responden a continuación. Además de ser lento, ¿qué tiene de malo algo como Levenberg-Marquardt o Nelder-Mead? Estos son optimizadores generalizados, por lo que incluso puede aproximar numéricamente . f
thang
Sí, me preocupa el tiempo de ejecución, pero gracias por señalar estos métodos.
John Robertson

Respuestas:

6

Boyd tiene un solucionador de Matlab para problemas de mínimos cuadrados regularizados a gran escala ℓ1 . La formulación del problema allí es ligeramente diferente, pero el método puede aplicarse para el problema.

El enfoque clásico de mayorización-minimización también funciona bien. Esto corresponde a realizar iterativamente un umbral suave ( para TV, recorte ).

Las soluciones se pueden ver desde los enlaces. Sin embargo, existen muchos métodos para minimizar estos funcionales mediante el uso extensivo de literatura de optimización.

PD: Como se mencionó en otros comentarios, FISTA funcionará bien. Otra familia de algoritmos 'muy rápidos' son los algoritmos primarios-duales. Puede ver el interesante artículo de Chambolle como ejemplo, sin embargo, hay una gran cantidad de trabajos de investigación sobre métodos primarios-duales para formulaciones de problemas inversos lineales.

Deniz
fuente
¿A qué se refiere exactamente 'primal-dual'?
Spacey
Mohammad, no implementé ningún algoritmo primal-dual para problemas inversos. Sin embargo, puede ver un ejemplo en el enlace que mencioné en la respuesta: el artículo de Chambolle. A partir de este documento, puede ver lo que significa un algoritmo primal-dual con precisión. Estos métodos proporcionan solo otra solución (y rápidamente convergente) para problemas inversos.
Deniz
Pensé que primal dual es optimización combinatoria? ¿Cómo puede transformar este problema genéricamente (para una genérica ) en ese marco? f
thang
thang, como mencioné antes, no soy un experto en este dominio. Puedes ver el artículo de Chambolle y ver cómo los métodos primarios-duales pueden usarse para resolver problemas como o la regularización de TV. 1
Deniz
4

Para resolver problemas de optimización con penalización de TV, utilizamos un algoritmo recientemente propuesto llamado Algoritmos basados ​​en gradientes rápidos para problemas de desnutrición y desvanecimiento de imagen de variación total restringida (FISTA) , que tiene una mejor tasa de convergencia que los métodos iterativos convencionales, como ASD-POCS.

chaohuang
fuente
1
¿Es posible agregar más información sobre el algoritmo, ya que la única referencia que vinculó requiere comprar el artículo?
Jason R
@JasonR, es básicamente la aceleración Nesterov del Proxoperador. Muy buen trabajo.
Royi
3

En el caso particular donde , la función objetivo se puede escribir comof(y)=y1

xy2+by1=i(xiyi)2+bi|yi|,

minimizarlo requiere minimizar cada entrada de la suma:

yi^=argmin{(xiyi)2+b|yi|}

Usando subdifrenciales es posible demostrar que el minimizador es el operador de umbral suave con umbral . Ese es el método propuesto por Donoho y Johnstone para la eliminación de ruido de la señal. Vea su documento Adaptación espacial ideal por contracción de wavelet para más detalles.b

Entonces, en este caso, creo que no necesita un solucionador más sofisticado para estimar su señal.

Alejandro
fuente
Tiene una penalización de la norma lugar de una penalización por variación total . ¿Es eso un error tipográfico? | y yo | El | y i + 1 - y i |L1|yi||yi+1yi|
John Robertson
1
fff(x0,x1,...)=(x1x0,x2x1,...)
f(y)1
2

f(x)=1(x)=|xi|
Axb22+λx1
x1x2xi
xy


f(x)=1

xi=0

  1. Axb
  2. xi=0

Esta es una forma de mínimos cuadrados iterativamente ponderados, con pesos 0 o 1. Esperaría que los métodos en los documentos citados en las respuestas anteriores den mejores resultados; esto es simple.

f()+λg()f()λg()

denis
fuente