1
$\begingroup$

I'm interested in how much 'signal' is retained from including k singular values in a Singular Value Decomposition, but I'm having trouble conceptualizing (or creating) a metric for 'signal retention'.

I can create $A_i$, a matrix which is created from the first $i$ singular values of $A$, but how do I compare $A_i$ with $A$ and get a reliably meaningful metric? I am currently evaluating norm(A_i-A)/norm(A), but I'm getting incredibly good results and it doesn't "feel" like the result should be good.

What I mean by that is that I plot the image of a reconstruction with only the first singular value and it looks nothing like the image I started with, but my analysis shows I have only 10% signal loss. After maybe the first 4 or 5 singular values are included can I start to recognize features of my face in the image, but if I can't even recognize my own face, I have a hard time accepting that it is 90% accurate.

Is there a canonical way for doing this? Surely someone else has performed this kind of analysis with SVD, but I'm having trouble finding how (if?) it is canonically done.

$\endgroup$
  • $\begingroup$ When you are using "norm" in Matlab on a matrix, you get the spectral norm. For image processing tasks, usually the Frobenius norm is more meaningful and related to MSE and PSNR. Try "norm(A,'fro')" instead. $\endgroup$ – Gil Nov 21 '15 at 12:27
3
$\begingroup$

PSNR, the ratio between the peak power of the true signal and the power of the Gaussian noise, measures the amount of mathematical error introduced in an image by compression or noise introduction. This would be ideal for your evaluations.

PSNR is related to MSE (mean squared error) but uses a logarithmic scale. PSNR between a grayscale image $A$ and its compressed version / reconstruction $\hat{A}$ is defined as :

$$PSNR(A,\hat{A}) = 10\log_{10}\big(\frac{255}{\lVert A-\hat{A} \rVert _{F}}\big)$$


You could also automatically select how many singular values to retain using Akaike information criterion.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.