Skip to content Skip to navigation

Connexions

You are here: Home » Content » Matrix Completion: An Overview

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • Rice University ELEC 301 Projects

    This module is included inLens: Rice University ELEC 301 Project Lens
    By: Rice University ELEC 301As a part of collection: "ELEC 301 Projects Fall 2009"

    Click the "Rice University ELEC 301 Projects" link to see all content affiliated with them.

Also in these lenses

  • Lens for Engineering

    This module is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.
 

Matrix Completion: An Overview

Module by: Anthony Austin, Jose Garcia, Stephen Jong, Gilberto Hernandez. E-mail the authors

Summary: This module is part of a collection of modules for a class project on matrix completion techniques for the sensor network localization problem done for the Fall, 2009 offering of Prof. Baraniuk's ELEC 301 course at Rice University.

Overview of Matrix Completion

The fundamental question that the new and emerging field of matrix completion seeks to answer is this: Given a matrix with some of its entries missing, is it possible to determine what those entries should be? Answering this question has an enormous number of potential practical applications. To be more concrete, consider the problem of collaborative filtering, of which perhaps the most famous example is the Netflix problem [6]. The Netflix problem asks how one may be able to predict how an individual would rate movies he or she has not seen based on the ratings that individual has made in the past and on the ratings of other individuals stored in the database. This can be cast as a matrix completion problem in which each row of the matrix corresponds to a particular user, each column to a movie, and each entry a rating that the user of that entry's row has given to the movie in that entry's column. Because there is a large number of users and movies and because each user has probably seen relatively few of the available movies, there are a large number of entries missing. The idea is to somehow fill in the missing entries and thereby determine how every user would rate every movie available. For more examples of potential uses of matrix completion, see the introduction of [2].

In general, matrix recovery is an impossible task because the unknown entries really could be anything; however, if one makes a few reasonable assumptions about the original matrix underlying the one being completed, then the matrix can indeed be reconstructed and often from a surprisingly low number of entries. More precisely, in their May, 2008 paper Exact Matrix Completion via Convex Optimization, matrix completion pioneers Emmanuel J. Candès and Benjamin Recht offer the following definitions [3]:

Definition: Let UU be a subspace of RnRn of dimension RR, and let PUPU be the operator that projects orthogonally onto UU. The coherence μ(U)μ(U) of UU is defined by

μ ( U ) = n r max 1 i n P U e i 2 , μ ( U ) = n r max 1 i n P U e i 2 ,
(1)

where eiei is the standard basis vector with a 1 in the i th i th coordinate and all other coordinates are zero.

Definition: Let AA be an mm-by-nn matrix of rank rr with singular value decomposition k=1rσkukvk*k=1rσkukvk*, and denote its column and row spaces by UU and VV, respectively. AA is said to be (μ0,μ1)(μ0,μ1)-incoherent if

  1. There exists μ0>0μ0>0 such that maxμ(U),μ(V)<μ0maxμ(U),μ(V)<μ0.
  2. There exists μ1>0μ1>0 such that all entires of the mm-by-nn matrix k=1rukvk*k=1rukvk* are less than or equal to μ1rmnμ1rmn in magnitude.

Qualitatively, this definition means that the singular vectors of a (μ0,μ1)(μ0,μ1)-incoherent matrix aren't too “spiky" and don't do anything “wild."

In the same paper, Candès and Recht go on to show that if AA is an mm-by-nn(μ0,μ1)(μ0,μ1)-incoherent matrix that has rank rN=max(m,n)rN=max(m,n), then AA can be recovered with high probability from a uniform sampling of MM of its entries, where MO(N1.2rlogN)MO(N1.2rlogN)[3]. This result was later strengthened to MONrmax(r,logN)MONrmax(r,logN) by Keshavan, Montanari, and Oh in [4]. These results, coupled with the fact that many matrices that one encounters in practice both satisfy the incoherence property and are of low rank means that matrix completion has some serious potential for use in practical applications.

Once one knows that matrix completion can be done, the next question is how to go about doing it. There are a variety of different matrix completion algorithms available. Candès et al. have developed a method that they call Singular Value Thresholding (SVT), which attempts to complete the matrix by solving the following optimization problem [1]: Find a matrix XX of that minimizes X*X* subject to the condition that the entries of XX be equal to those entries of the matrix AA to be completed for which we know the value. Here, X*X* is the nuclear norm of XX, defined to be the sum of the singular values of XX. Keshavan, Montanari, and Oh offer an alternative algorithm, dubbed OptSpace, which is based on trimming the incomplete matrix to remove so-called “overrepresented" rows and columns whose values do not help reveal much about the unknown entries and then adjusting the trimmed matrix to minimize the error that is made at the entries whose values are known via a gradient descent procedure [4], [5]. There are other algorithms as well, and which algorithm to choose is really up to the user. For our work, we elected to use the OptSpace algorithm, since it just seems to produce better results.

References

  1. Cai, J. and Candès, E. J. and Shen, Z. (2008, October). A Singular Value Thresholding Algorithm for Matrix Completion. arXiv:0810.3286v1.
  2. Candès, E. J. and Plan, Y. (2009, March). Matrix Completion with Noise. arXiv:0903.3131v1.
  3. Candès, E. J. and Recht, B. (2008, May). Exact Matrix Completion via Convex Optimization. arXiv:0805.4471v1.
  4. Keshavan, R. H. and Montanari, A. and Oh, S. (2009, September). Matrix Completion from a Few Entries. arXiv:0901.3150v4.
  5. Keshavan, R. H. and Oh, S. (2009, November). OptSpace: A Gradient Descent Algorithm on the Grassman Manifold for Matrix Completion. arXiv:0910.5260v2.
  6. Netflix,. Netflix Prize. [http://www.netflixprize.com//index].

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks