In (normal) page rank, the (initial) page rank vector is usually initialized to the uniform distribution.
Should I do the same for personalized page rank? I wonder if I should initialize the page rank vector to the personalized teleportation vector.
In mathematical terms:
pi0 = starting vector at iteration 0 (a row vector)
pi = PageRank vector
H = row-normalized hyperlink matrix (n-by-n sparse matrix)
v = (personalized) teleportation vector (1-by-n row vector)
n = size of H matrix (scalar)
alpha = teleportation prob. (scalar, e.g. 0.85)
epsilon = convergence tolerance (scalar, e.g. 1e-8)
Usually, the starting page rank vector is usually set to the uniform vector:
pi=1/n*ones(1,n).
And then we run the power method:
while (not_converged):
pi=alpha*pi*H + (alpha*(pi*a)+1-alpha)*v;
My question: should I initialize pi
with v
? (instead of the uniform vector)
Edit: one further consideration for the implementation is that v
is usually quite a sparse vector (unlike the uniform vector pi
). Using v
might be better in terms of floating-point precision.