写点什么

第十三周 数据应用二 作业 「架构师训练营 3 期」

用户头像
feiyun123
关注
发布于: 2021 年 02 月 21 日

Google 搜索引擎是如何对搜索结果进行排序的?(请用自己的语言描述 PageRank 算法。)


PageRank 算法原理

1、PageRank 的计算充分利用了两个假设:数量假设和质量假设。


步骤如下:


1)在初始阶段:网页通过链接关系构建起 Web 图,每个页面设置相同的 PageRank 值,通过若干轮的计算,会得到每个页面所获得的最终 PageRank 值。随着每一轮的计算进行,网页当前的 PageRank 值会不断得到更新。


2)在一轮中更新页面 PageRank 得分的计算方法:在一轮更新页面 PageRank 得分的计算中,每个页面将其当前的 PageRank 值平均分配到本页面包含的出链上,这样每个链接即获得了相应的权值。而每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的 PageRank 得分。当每个页面都获得了更新后的 PageRank 值,就完成了一轮 PageRank 计算。


2、基本思想:


如果网页 T 存在一个指向网页 A 的连接,则表明 T 的所有者认为 A 比较重要,从而把 T 的一部分重要性得分赋予 A。这个重要性得分值为:PR(T)/L(T)


其中 PR(T)为 T 的 PageRank 值,L(T)为 T 的出链数


则 A 的 PageRank 值为一系列类似于 T 的页面重要性得分值的累加。


即一个页面的得票数由所有链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票。一个页面的 PageRank 是由所有链向它的页面(链入页面)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。


3、PageRank 简单计算:


(1)假设一个由只有 4 个页面组成的集合:A,B,C 和 D。如果所有页面都链向 A,那么 A 的 PR(PageRank)值将是 B,C 及 D 的和。


(2)继续假设 B 也有链接到 C,并且 D 也有链接到包括 A 的 3 个页面。一个页面不能投票 2 次。所以 B 给每个页面半票。以同样的逻辑,D 投出的票只有三分之一算到了 A 的 PageRank 上。


(3)换句话说,根据链出总数平分一个页面的 PR 值。



4、修正 PageRank 计算公式:


由于存在一些出链为 0,也就是那些不链接任何其他网页的网, 也称为孤立网页,使得很多网页能被访问到。因此需要对 PageRank 公式进行修正,即在简单公式的基础上增加了阻尼系数(damping factor)q, q 一般取值 q=0.85。


其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率。 1- q= 0.15 就是用户停止点击,随机跳到新 URL 的概率)的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率。


最后,即所有这些被换算为一个百分比再乘上一个系数 q。由于下面的算法,没有页面的 PageRank 会是 0。所以,Google 通过数学系统给了每个页面一个最小值。



用户头像

feiyun123

关注

还未添加个人签名 2019.09.28 加入

还未添加个人简介

评论

发布
暂无评论
第十三周 数据应用二 作业 「架构师训练营 3 期」