This is the same as solving this system:

   (cM - I) r_k = (c-1) e_k

To do that, you can use any decomposition technique to compute an
approximate functional inverse of (cM - I).

SVD works so you can use the stochastic SVD algorithm that Dimitriy did.
 You probably can short-cut that substantially, however.

      A = (cM - I)

      Y = A \Omega
      Q_1 R_1 = Y
      B = Q_1^T A

Normally, you compute the SVD decomposition of B here, but I think you might
be able to solve your problem directly at this point.  Of course, the SVD
decomposition of B is very cheap if it fits into memory.

On Mon, Jul 25, 2011 at 8:34 AM, Sebastian Schelter <[email protected]> wrote:

> I don't know as I'm not familiar with the technique of Random Projection to
> be honest. I know of a paper doing the walk in a lower-dimensional space:
> http://www.cs.cmu.edu/~htong/**pdf/ICDM06_tong.pdf<http://www.cs.cmu.edu/~htong/pdf/ICDM06_tong.pdf>
>
> I plan to base the implementation on the formula from the Pegasus paper,
> where one searches for the vector r_k that satisfies the following equation:
>
> r_k = cMr_k + (1-c)e_k
>
> with c being the probability not to teleport away from a reached node, M
> being the transposed, row-normalized adjacency matrix (similar to the one
> used in PageRank) and e_k being a vector with the same dimension as the
> number of vertices with the kth element being 1 and all others 0.
>
> This formulation maps kinda nice to Map/Reduce as we simply need to create
> the adjacency matrix and then just need to iteratively multiply it by the
> steadystate probability vector (similar to PageRank). So we could include
> this algorithm without having to write a lot of custom code because we can
> express a lot of it through our already existing linear algebra code.
>
> --sebastian
>
>
> On 25.07.2011 17:17, Ted Dunning wrote:
>
>> Can this be done with a random projection?
>>
>> On Mon, Jul 25, 2011 at 4:59 AM, Sebastian Schelter (JIRA)
>> <[email protected]>wrote:
>>
>>
>>>     [
>>> https://issues.apache.org/**jira/browse/MAHOUT-773?page=**
>>> com.atlassian.jira.plugin.**system.issuetabpanels:all-**tabpanel<https://issues.apache.org/jira/browse/MAHOUT-773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel>
>>> ]
>>>
>>> Sebastian Schelter updated MAHOUT-773:
>>> ------------------------------**--------
>>>
>>>    Description:
>>> I'll create an implementation of Random Walk with Restarts as described
>>> in
>>> Kang, Tsourakakis, Faloutsos, "PEGASUS: A Peta-Scale Graph Mining System
>>> -
>>> Implementation and Observations"
>>> http://www.cs.cmu.edu/~**christos/PUBLICATIONS/icdm09-**pegasus.pdf<http://www.cs.cmu.edu/~christos/PUBLICATIONS/icdm09-pegasus.pdf>
>>>
>>> The algorithm is a random walk similar to PageRank with the difference
>>> that
>>> you start at and teleport to a certain node. The probabilities it
>>> computes
>>> can be seen as a measure of proximity between the start node and a
>>> reached
>>> node. To my knowledge RWR can be e.g used for link predicition in social
>>> networks.
>>>
>>> I will try to create an implementation that is able to do several walks
>>> in
>>> parallel and I will assume that a steadystate probability vector fits in
>>> memory.
>>>
>>> I don't plan to use the implementation details from the paper but I'll
>>> model the algorithm as an iterative multiplication between the adjacency
>>> matrix of the graph and the matrix created from the steadystate
>>> probability
>>> vectors for the vertices we compute the random walks for.
>>>
>>>  was:
>>> I'll create an implementation of Random Walk with Restarts as described
>>> in
>>> Kang, Tsourakakis, Faloutsos, "PEGASUS: A Peta-Scale Graph Mining System
>>> -
>>> Implementation and Observations"
>>> http://www.cs.cmu.edu/~**christos/PUBLICATIONS/icdm09-**pegasus.pdf<http://www.cs.cmu.edu/~christos/PUBLICATIONS/icdm09-pegasus.pdf>
>>>
>>> The algorithm is a random walk similar to PageRank with the difference
>>> that
>>> you start at and teleport to a certain node. The probabilities it
>>> computes
>>> can be seen as a measure of proximity between the start node and a
>>> reached
>>> node. To my knowledge RWR can be e.g used for link predicition in social
>>> networks.
>>>
>>> I will try to create an implementation that is able to do several walks
>>> in
>>> parallel and I will assume that a steadystate probability vector fits in
>>> memory.
>>>
>>>
>>>  Implement Random Walk with Restarts
>>>> ------------------------------**-----
>>>>
>>>>                 Key: MAHOUT-773
>>>>                 URL: 
>>>> https://issues.apache.org/**jira/browse/MAHOUT-773<https://issues.apache.org/jira/browse/MAHOUT-773>
>>>>             Project: Mahout
>>>>          Issue Type: New Feature
>>>>          Components: Graph
>>>>    Affects Versions: 0.6
>>>>            Reporter: Sebastian Schelter
>>>>            Assignee: Sebastian Schelter
>>>>
>>>> I'll create an implementation of Random Walk with Restarts as described
>>>>
>>> in Kang, Tsourakakis, Faloutsos, "PEGASUS: A Peta-Scale Graph Mining
>>> System
>>> - Implementation and Observations"
>>> http://www.cs.cmu.edu/~**christos/PUBLICATIONS/icdm09-**pegasus.pdf<http://www.cs.cmu.edu/~christos/PUBLICATIONS/icdm09-pegasus.pdf>
>>>
>>>> The algorithm is a random walk similar to PageRank with the difference
>>>>
>>> that you start at and teleport to a certain node. The probabilities it
>>> computes can be seen as a measure of proximity between the start node and
>>> a
>>> reached node. To my knowledge RWR can be e.g used for link predicition in
>>> social networks.
>>>
>>>> I will try to create an implementation that is able to do several walks
>>>>
>>> in parallel and I will assume that a steadystate probability vector fits
>>> in
>>> memory.
>>>
>>>> I don't plan to use the implementation details from the paper but I'll
>>>>
>>> model the algorithm as an iterative multiplication between the adjacency
>>> matrix of the graph and the matrix created from the steadystate
>>> probability
>>> vectors for the vertices we compute the random walks for.
>>>
>>> --
>>> This message is automatically generated by JIRA.
>>> For more information on JIRA, see: http://www.atlassian.com/**
>>> software/jira <http://www.atlassian.com/software/jira>
>>>
>>>
>>>
>>>
>>
>

Reply via email to