2 votos

¿Dónde puedo encontrar un algoritmo para calcular $\min_{x \in \Delta_n} \langle g , x - y \rangle_1 + c\lvert x - y\rvert_1^2$ ?

Deseo calcular el minimizador de $$ \min_{x \in \Delta_n} \langle g , x - y \rangle + \frac{c}{2}\lvert x - y\rvert_1^2$$ donde el subíndice $1$ indica que la norma es el $1$ -normas y $\Delta_n$ es el simplex unitario.

¿Dónde puedo encontrar información sobre este problema? Lo más cercano que encontré fue un artículo de Nesterov donde reducía el problema a calcular el valor mínimo de $$ \min_{t \geq 0} \sum_{i=1}^n y_i(g_i - 2t)^+ + \frac{t^2}{2c}$$ donde $y_i, g_i$ son las componentes de los vectores dados $y$ y $g$ del problema original, $n$ es su longitud y $\alpha^+$ aquí significa $\max \{0, \alpha\}$ .

Sin embargo, no tenía ninguna información sobre cómo calcular el valor mínimo de este problema reducido, y también sólo el valor mínimo de los problemas son los mismos, pero deseo calcular el minimizador, no sólo el valor.

Me valdría un código de matlab, un código sin lenguaje o cualquier información sobre cómo obtener el minimizador.

1voto

Ricardo Martins Puntos 41

Suponiendo que $c \geq 0$ puede reformular su problema como un problema de optimización convexo, introduciendo una variable ficticia $t$ . Equivale a $$\min_{x \in \Delta_n,t \in \mathbb{R}} \langle g , x - y \rangle + \frac{c}{2} t^2 $$ sujeta a la restricción convexa $$ \lVert x - y\rVert_1 \leq t. $$

Obsérvese que no necesitamos una restricción de igualdad ya que $t$ se elegirá lo más pequeño posible en la minimización.

Para el problema reformulado y convexo podrías utilizar la interfaz cvx para matlab para resolverlo. Ver http://cvxr.com/cvx/ y http://cvxr.com/cvx/doc/CVX.pdf .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X