Suppose that we know the values of πo(s,t) for all t∈V and r(s,vi) for all vi∈V. We would like to evaluate the value of
π(s,t)=πo(s,t)+i=1∑nr(s,vi)π(vi,t)
where π(vi,t) denotes the probability of a random starts from vi and terminate at t. Let π~(vi,t) be our estimation of π(vi,t), then we have an estimation of π(s,t):
π~(s,t)=πo(s,t)+i=1∑nr(s,vi)π~(vi,t)
To get π~(vi,t), we perform wi (a value to be determined latter) random walks that start from vi and count the fraction of walks that terminate at t. Formally, let Xi,j be a Bernoulli random variable that takes value 1 if the j-th walk from vi terminates at t. Then
A naïve use of Chenoff bound to us wi=Ω(ϵ2π(vi,t)log(1/pfail)) (which is even worse than evaluating π(s,t) by Monte Carlo directly), such that r(s,vi)π~(vi,t) takes value within [(1−ϵ)r(s,vi)π(vi,t),(1+ϵ)r(s,vi)π(vi,t)]with probability 1−pfail. The problem here is that when π(vi,t) is small, we need large number of random walks to get a good approximation of it. On the other hand, when π(vi,t) is small, the contribution of r(s,vi)π(vi,t) to ∑i=1nr(s,vi)π(vi,t) is small, which means that more deviation is allowed on the estimation of π(vi,t).
What if the amount of deviation on the estimation of r(s,vi)π(vi,t) we allow is π(s,t)? How about π(s,t)/n? More clever way of allocating deviation? Better Chernoff bound?
[1] solves this by bounding the cumulative deviation of ∑i=1nr(s,vi)π~(vi,t) as a whole. The statistical tool it turns to is a special Chernoff bound:
Theorem
Let Y1,Y2,...,Yw be independent random variables with
Pr[Yi=1]=piPr[Yi=0]=1−pi.
Let Y=w1∑i=1wbiYi with bi>0, and v=w1∑i=1wbi2pi. Then
Pr[∣Y−E[Y]∣≥λ]≤2exp(−2v+2bλ/3λ2w)
where b=max{b1,b2,...,bw}
To apply this bound, we perform in total w=∑i=1nwi random walks. The first w1 walks starts from v1 , the next w2 walks starts from v2, and so on. Let
We would like to minimize b in order to minimize w, which can be formulated as an convex optimization problem:
mins.t.bb≥r(s,vi)/kii∑ki=1ki≥0
Here we rewrite wwi=ki. One simple way to solve this is to guess that b is minimized when all r(s,vi)/ki equals. This gives ki=r(s,vi)/rsum. We can prove this is indeed optimal: if this is not the case, there must be some ki<r(s,vi)/rsum. Then b≥r(s,vi)/ki>rsum .
We can also solve this problem by a heavy mechanism: KKT conditions. First, define
[1] Wang, Sibo, et al. "FORA: Simple and Effective Approximate Single-Source Personalized PageRank." Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2017.