1

I got the optimization problem in Compressive sensing in form


$f =arg min \ \frac{\mu}{2} ||\Phi.f-y||^2 + \frac{\lambda}{2} ||f-v-w||^2$


where $\Phi$ is orthogonal Gaussian sensing matrix size $M\times N, M << N$ and all vector $f, v, w$ with size $N\times 1$ . Here $v$ and $ w$ are fixed vector and $\lambda$ , $\mu$ are constant.

Since problem are differential and convex, I try to derivative and set to zero but it doesnt work.

First derivative

$\mu.\Phi^T(\Phi.f-y) + \lambda.(f - v-w)=0$

$(\mu.\Phi^T\Phi+\lambda)f = \mu\Phi^Ty+\lambda(v+w)$

let $Af=rhs$

then $f=(\mu.\Phi^T\Phi+\lambda)^{-1} (\mu\Phi^Ty+\lambda(v+w)) = A^{-1}.rhs$

Then I program it in matlab this but it doesnot work properly. Is it because of the inverse matrix $A^{-1}$? or Is there any efficient solution for this problem.


It should noted that this problem is normal Compressive sensing rather than Kronecker compressive sensing (separble sensing) as in (*)

$F =arg min \ \frac{\mu}{2} ||R.F.G-Y||^2 + \frac{\lambda}{2} ||F-V-W||^2$

which equivalent to $f = vect(F), V = vect(V), W = vect(W),$ where $F,V,W$ has $n\times n$, $N=n^2, M = m^2$

$\Phi=Kronecker(R,G^T)=R\bigotimes G^T$ where R and G also Gaussian radom sensing matrix

and $||R.F.G-Y|| = ||\Phi.f-y||$

(*) S.L. Shishkin et.al, "Total Variation Minimization with Separable Sensing Operator", 2010

Atena Nguyen
  • 123
  • 6
  • Do you really want a minus sign before $\frac{\lambda}{2}$? With that minus sign, the problem might not be convex. Also, what did you get when you set the derivative equal to $0$? – littleO Jan 05 '14 at 10:02
  • Im sorry it is plus. – Atena Nguyen Jan 05 '14 at 15:45
  • 1
    The term $\mu \Phi^T \Phi + \lambda$ should be $\mu \Phi^T \Phi + \lambda I$. This might make a difference in your Matlab code. – littleO Jan 05 '14 at 20:34
  • Thanks you, it help but still very slow ^^ – Atena Nguyen Jan 07 '14 at 05:09
  • What do you mean when you say that $\Phi$ is orthogonal? Normally orthogonal matrices are required to be square. Does $\Phi^T \Phi$ simplify somehow? Also -- note that when solving $Ax = b$ in matlab, your code should be: x = A\b ; you should not form the inverse of $A$ explicitly and then multiply by $b$. – littleO Jan 07 '14 at 06:26
  • Actually, the A is fixed (Calculated only one time), then it turns out that using $A^{-1}$ gives me good results. For the $\Phi$, it is the first M rows of NxN orthogonal matrix – Atena Nguyen Jan 07 '14 at 13:03

0 Answers0