Pagerank处理一系列页面的节点图,以及由它们各自的向内和向外链接形成的有向边。因此,特定页面的等级在节点图中广泛地是局部引起的效果。
另一方面,SVD在整个值矩阵上工作,并且没有方向性-站点A和站点B之间的链接在正确的矩阵元素上只会注册为1。这是一个全局系统,因此排名是全局影响。
考虑到Web矩阵的极端稀疏性,我希望SVD在这里表现不佳,因为它需要完整的数据集,并且对内存的要求很高。
真的吗? Pagerank是否在很大程度上优于SVD,因为它是基于节点图的算法? Pagerank如何从一个单词被提及的次数之外推断出页面的语义相关性?还是在Pagerank对网页进行排名之后执行的第二步?
最佳答案
这里有两个问题:哪种度量易于计算,哪些产生我们正在寻找的信息?我不知道任何一个问题的答案,但是我也许可以给出部分答案。
首先,相关性。使用网络理论中的一个术语,这两个量都是centrality量度。 PageRank计算特征向量中心度(的一个变体),而SVD显然导致了``超链接诱导主题搜索(HITS)''算法。我是从佛蒙特大学的Peter Dodds的this handout那里得到的。它们衡量的是不同的事物,但我不清楚哪一个与衡量网页的重要性最相关。
其次,计算成本。从数学上讲,PageRank是(修改的)邻接矩阵的主导特征向量(如Wikipedia页面所述),而HITS给出了邻接矩阵的主导奇异向量。两者均由网页的全局网络及其之间的链接定义,并且都可以仅通过局部考虑节点图来进行计算。因此,乍一看,我认为计算成本大致相等。
总之,我不知道为什么PageRank比SVD好。我什至还不清楚它比SVD好。
关于algorithm - Pagerank vs SVD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1867934/