Convex Iteration

From Wikimization

Jump to: navigation, search

Convex iteration is method for constraining rank or cardinality in an otherwise convex optimization problem.
A rank or cardinality constraint is replaced by a linear regularization term added to the objective.
Then two convex problems are iterated until convergence where, ideally, solution to the original problem is found.

[edit] constraining cardinality of signed variable

Excert from Semidefinite Programming:
Consider a feasibility problem equivalent to the classical problem from linear algebra A_{}x_{\!}=_{\!}b ,  but with an upper bound k on cardinality \|x\|_0 :  for vector b\!\in\!\mathcal{R}(A)

\begin{array}{rl}\text{find}&_{}x\in_{}\reals^n\\
\mbox{subject to}&A_{}x=b\\
&\|x\|_0\leq_{}k
\end{array}~~~~~~~~~~(1)

where \|x\|_{0\!}\leq_{_{}\!}k means vector x has at most k nonzero entries; such a vector is presumed existent in the feasible set.
Convex iteration works with a nonnegative variable; absolute value | x | is therefore needed.
We propose that nonconvex problem (1) can be equivalently written as a convex iteration: for \varepsilon a relatively small positive constant,

\begin{array}{cl}\text{minimize}_{x_{}\in_{_{}}\mathbb{R}^{^n},~t_{}\in_{_{}}\mathbb{R}^{^n}}&\langle t_{}\,,\,y+\varepsilon^{}\mathbf{1}\rangle\\
\mbox{subject to}&A_{}x=b\\
&-t\preceq x\preceq_{_{}}t
\end{array}~~~~~~~~~~~~~~(2)

is iterated with

\begin{array}{cl}\text{minimize}_{y_{}\in_{_{}}\mathbb{R}^{^n}}&\langle t^\star,\,y+\varepsilon^{}\mathbf{1}\rangle\\
\mbox{subject to}&0\preceq y\preceq\mathbf{1}\\
&y^T\mathbf{1}=n-_{}k
\end{array}~~~~~~~~~~~~~~~~~~~(3)

to find direction vector y. The cardinality constraint has been moved to the objective as a linear regularization.
The term \langle t\,,_{_{}}\varepsilon^{}\mathbf{1}\rangle in (2) is necessary to determine absolute value |x|_{\!}=_{}t^{\star_{}} because vector y can take zero values in its entries.

By initializing direction vector y to (1\!-_{}\!\varepsilon)\mathbf{1}_{}, the first iteration of problem (2) is a 1-norm problem; i.e.,

\begin{array}{ccc}
\begin{array}{cl}\text{minimize}_{x_{}\in_{_{}}\mathbb{R}^{^n},~t_{}\in_{_{}}\mathbb{R}^{^n}}&\langle t\,,_{}\mathbf{1}\rangle\\
\mbox{subject to}&A_{}x=b\\
&-t\preceq x\preceq_{_{}}t
\end{array}
&\equiv&~
\begin{array}{cl}\text{minimize}_{x_{}\in_{_{}}\mathbb{R}^{^n}}&\|x\|_1\\
\mbox{subject to}&A_{}x=b
\end{array}
\end{array}~~~~~~~~~~(4)

Subsequent iterations of problem (2) engaging cardinality term \langle t_{}\,,\,y\rangle can be interpreted as corrections to this 1-norm problem leading to a 0-norm solution.
Iteration (2) (3) always converges to a locally optimal solution by virtue of a monotonically nonincreasing objective sequence.
There can be no proof of global optimality, defined by an optimal objective equal to 0.
Local solutions are therefore detected by nonzero optimal objective.
Heuristics for reinitializing direction vector y can lead to a globally optimal solution.


[edit] equivalent

Several simple equivalents to linear programs (2) (3) are easily devised, but their geometrical interpretation is not as apparent: e.g., equivalent in the limit \,\varepsilon\!\rightarrow\!0^+\,

\begin{array}{cl}\text{minimize}_{x_{}\in_{_{}}\mathbb{R}^{^n},~t_{}\in_{_{}}\mathbb{R}^{^n}}&\langle t\,,\,y\rangle\\
\text{subject to}&_{}A_{}x=b\\
&-t\preceq x\preceq_{_{}}t
\end{array}

\begin{array}{cl}\text{minimize}_{y_{}\in_{_{}}\mathbb{R}^{^n}}&\langle |x^\star|\,,\,y\rangle\\
\text{subject to}&0\preceq y\preceq\mathbf{1}\\
&y^{\rm T}\mathbf{1}=n-_{}k
\end{array}


For a coded numerical example, see Candes.m

Personal tools