【问题标题】:Doubts about page rank对页面排名的怀疑
【发布时间】:2012-11-26 20:39:17
【问题描述】:

我正在尝试使用 Mapreduce 查找 Wikipedia 的内部页面排名。 我在一小部分维基页面上实现了我的 Pagerank 算法。 有 6349 个页面。我使用这个公式来计算 pagerank (d = 0.85)。

我想验证所有页面排名的总和是否等于页面总数(6349)。

到目前为止我发现了什么:

1.所有6349个页面的总页面排名为1001.26044

2.根据WikiPedia,如果我使用上面的公式,那么each PageRank is multiplied by N and the sum becomes N。我将每个页面排名乘以 N (6349) 并计算总和,我得到 6356789.5

页面排名总和不等于总页面数有什么原因吗? 我应该使用第二个公式来验证吗?

注意:我将 mapreduce 代码运行了 10 次迭代以获得良好的近似值。

【问题讨论】:

    标签: algorithm hadoop mapreduce pagerank


    【解决方案1】:

    我想,你的迭代太少了。为什么是10?为什么是100?还是100000?你应该数一数,最后两个变化的中位数或最大值是多少。从而评估可能的错误。

    PR 是一个概率。它们的总和应该是1! “所有pagerank之和等于总页数”这句话是错误的。

    至于另一个公式,它属于另一个模型和另一个 PR。当然,您也可以使用它。或两者。但是你不能检查使用它。

    【讨论】:

    • 你想让我计算最后 2 次迭代的总页面排名之间的差异吗?我不太明白你所说的中等或最大是什么意思。这将如何帮助评估可能的错误?
    • 你不知道真正的公关,记得吗?所以,你只能通过比较后续迭代的结果来猜测你离它有多近。但这些结果不是数字,它们是 6k 个成员的向量。所以,如果你想比较它们,你必须选择一些衡量标准——中等差异或最大差异。
    • 如果您的最大差异为:1/10、1/20、1/40、1/80 ...,那么您肯定可以猜到最后一次迭代的实际误差为 1/80。
    【解决方案2】:

    这取决于您选择的基数(默认为 1)。每次迭代后,你必须计算

    delta = (base - sum_of_ranks) / N
    

    然后将每个等级减少 delta。只有这样,您才能让排名保持活力,直到最后一次迭代结束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多