写点什么

大数据行业指标及 Google PageRank 算法原理

发布于: 2020 年 09 月 07 日

Author: Jessie

Date: 2020/9/7

1. 你所在的行业,常用的数据指标有哪些?请简述。

对收视、订购、用户等进行数据分析。

2. Google PageRank算法原理

 

PageRank:网页排名算法。根据网页间的超链接计算技术,作为网页排名的要素之一。

原理:

通过网络的超链接关系来确定一个页面的等级。如果A页面中包含B页面的链接,则记为A页面为B页面投票。Google根据投标的来源页面和投票页面的等级决定新的等级。

也就是说一个页面得票数由指向它的页面的重要性来决定。一个页面的PageRank由所有链向它的页面的重要性经过递归算法得到。

 

PageRank算法





假设一个这样的四个页面(A\B\C\D)。箭头表明页面中包含一个链接。如图: A页面由三个指向它的箭头,分别来源于B、C、D。页面B、C、D页面都包含A的页面链接。简单来讲:

PR(A)=PR(B)+PR(C)+PR(D)

但由于每个页面都同事也为其他页面投标,假设每个页面总共投1票。PageRank算法预先给每个网页设定一个PR值,PR值物理意义上代表一个网页被访问的概率,常规设置为1/N,N为网页总数。所有网页的PR值总和为1。

 

上例中:那么平分到A的页面,就是其他页面总数分之一的总和。

PR(A)=PR(B)/2+PR(C)/1+PR(D)/3

抽象出来,链出总数评分要给页面的PR值,如下:

PR(A)=PR(B)/L(B)+PR(C)/L(C)+PR(D)/L(C)

这里L表示: 该页面链出页面的总数。 L(B)为2……

 

为了方位,有些页面作弊,只对自己出链,不对外链接。如下图所示





这里就规定一个阻尼系数来模拟用户停止搜索的情况,google这里用a,一般0.85代表跳出率。

假设投票到本页面后占0.85; 跳出率为1-a,跳到其他页面,再除以页面的总和,就为跳到其他页面的跳出值。备注:例子如下图,一个简单的计算示意,其中总页面数为4。

 



抽象的算法公式总结如下:

备注:d为阻尼系数,N为总页面数。

Pj页面的pagerank值为:(指向它的所有页面Pj的pagerank值/Pj包含的总链接)* 阻尼系数,再加上跳出到页面的可能值:(1-d)/N。

 



如何计算?对于Google利用大数据根据公式写出程序?

一种方法就是把这些PageRank值组成一个矩阵,

 





将所有页面排成一个N*N的矩阵(稀疏矩阵:大部分为0)。

如果两个页面有链接,则该值为1.如上图:l(p1,p2)表示左边的页面到右边的页面是否有链接,p1->p2有链接则为1.

通过Mapreduce计算得到R值,每次计算R值带到公式中计算,直到R不再变化或约定的次数,则完成。

 

具体可以参考:

https://blog.csdn.net/yujin753/article/details/22042355?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf



发布于: 2020 年 09 月 07 日阅读数: 55
用户头像

还未添加个人签名 2018.08.21 加入

码过代码、做过产品;擅长码字、演讲、认真做事之人。

评论

发布
暂无评论
大数据行业指标及Google PageRank算法原理