[mlpack-git] [mlpack] add a wrapper for the matrix completion SDP (#374)

Stephen Tu notifications at github.com
Sun Jan 11 17:59:53 EST 2015


> +   * @param m Number of rows of original matrix.
> +   * @param n Number of columns of original matrix.
> +   * @param indices Matrix containing the indices of the known entries (must be
> +   *    [2 x p]).
> +   * @param values Vector containing the values of the known entries (must be
> +   *    length p).
> +   */
> +  MatrixCompletion(const size_t m,
> +                   const size_t n,
> +                   const arma::umat& indices,
> +                   const arma::vec& values);
> +
> +  /**
> +   * Solve the underlying SDP to fill in the remaining values.
> +   */
> +  void Recover();

I looked at the CF code a bit. I think the best way to integrate the two is to write a separate shim (living inside the cf or amf folder) which glues the interfaces. The main reason for this is because I don't quite like the special casing of zero which arises when using sparse matrices to represent the known matrix, and since it's baked into the amf/cf code, I'd prefer to bake the semantics into the shim layer rather than this class.

The special casing of zero makes sense for recommendations (where it doesn't make sense to rate something zero), but not so much for general matrix completion. For instance, if I want to complete say, an image, then its reasonable I have some known zero (e.g. black) pixel values. 

---
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/pull/374/files#r22771496
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20150111/8419e8dd/attachment.html>


More information about the mlpack-git mailing list