Non-negative matrix factorization with a regularization term Given a matrix $X_{M*N}$ with non negative values, I would like to factorize it into $U_{M*K} , V_{N*K}$, where both of them have also non-negative values. Additionally I would like to have a minimum induced 2-norm for $V$. So now the questions is optimizing the following cost function
$O=\|X-UV^T\|_F^2+\|V\|_2^2$
 A: This is what is known as a non-negative matrix factorization problem (in fact, I've offered a title edit above to better introduce the question to other Math.SE readers). There is no one "right" way to do this, because the problem is not convex and therefore there are no known tractable algorithms. 
One common approach is to alternate between minimizing over $U$ and minimizing over $V$ until no progress is made. Fixing $U$ or $V$ turns the model into a convex minimization with non-negativity constraints. EDIT: I originally misread the regularization term as $\|V\|_F^2$, which is quadratic. But in fact, $\|V\|_2^2$ is still convex, and can be handled by any solver that supports semidefinite constraints.
Here is some example MATLAB code, using CVX (disclaimer: I wrote this), that computes a non-negative matrix factorization without the additional $\|V\|_2^2$ regularization. It could certainly be modified to suit your purposes. The additional term in CVX would be square_pos(norm(V)). It is certainly not necessary to use CVX to solve this problem, however.
Again, there is no one approach here that is guaranteed to work well. You would do well to conduct a literature search. Even Wikipedia has a good introduction here.
