PageRank算法

1.介绍

  PageRank算法是一种表示网页排名,用模拟上网者随机选择网页的方法,不停迭代,得到分布在各个网页上的概率。
  PageRank核心思想:
1.如果一个网页被很多网页连接到,说明这个网页比较重要,PageRank值较高。
2.如果一个PageRank值很高的网页连接到一个其他的网页,那么被连接到的网页PageRank会相应提高。


2.数学建模

  假设n是所有的可访问的网页数目,定义 n × n 的 网 页 连 接 矩 阵 G = ( g i j ) n\times n的网页连接矩阵G=(g_{ij}) n×nG=(gij),其中 g i j = 1 表 示 从 网 页 j 有 一 个 连 接 到 网 页 i g_{ij}=1表示从网页j有一个连接到网页i gij=1ji,矩阵 G G G的特点如下:

  • G是大规模的稀疏矩阵
  • G中非零元素的数目为整个网络中存在的连接数量
  • 定义第i个网页的入度为 r i = ∑ j = 1 n g i j r_i=\sum_{j=1}^ng_{ij} ri=j=1ngij
  • 定义第i个网页的出度为 r i = ∑ j = 1 n g j i r_i=\sum_{j=1}^ng_{ji} ri=j=1ngji
      对随机上网的过程有两种选择:
    (1)在当前页面选择一个连接进入下一个页面
    (2)随即打开一个新的页面
      此过程在数学上称为马尔可夫过程(下一步的状态只和目前状态有关,与过去的状态无关),某网页的被访问的极限概率就是PageRank的值。
      p——在当前页面的连接上进行选择。假设当前页面为j则下一步转移到页面i的情况分为两种:
    (1)i在网页j上则概率为 p × 1 c j + ( 1 − p ) × 1 n p\times \frac{1}{c_j}+(1-p)\times \frac{1}{n} p×cj1+(1p)×n1
    (2)i不在页面j上则概率为 ( 1 − p ) × 1 n (1-p)\times \frac{1}{n} (1p)×n1
    两式可合并表示,用a_{ij}表示从j页面转移到i的概率为: a i j = g i j [ p × 1 c j + ( 1 − p ) × 1 n ] + ( 1 − g i j ) ( 1 − p ) × 1 n = p g i j c j + 1 − p n a_{ij}=g_{ij}[p\times \frac{1}{c_j}+(1-p)\times \frac{1}{n}]+(1-g_{ij})(1-p)\times \frac{1}{n}=\frac{pg_{ij}}{c_j}+\frac{1-p}{n} aij=gij[p×cj1+(1p)×n1]+(1gij)(1p)×n1=cjpgij+n1p
    c j = 0 c_j=0 cj=0则改为 a i j = 1 n a_{ij}=\frac{1}{n} aij=n1
      将任意两个王爷之间的转移概率组成矩阵 A = ( a i j ) n × n A=(a_{ij})_{n\times n} A=(aij)n×n。设矩阵 D D D为各个页面出度的倒数(若没有出度设为1)构成n阶对角矩阵。E为n阶单位矩阵则可用下式计算:
    A = p G D + 1 − p n E A=pGD+\frac{1-p}{n}E A=pGD+n1pE
      定义 x i k x_i^{k} xik表示k时刻浏览网页i的概率, X = ( x i ) , i = 1 , 2 , . . . , n 的 列 向 量 X=(x_i),i=1,2,...,n的列向量 X=(xi),i=1,2,...,n,则 X k + 1 = A X k X^{k+1}=AX^k Xk+1=AXk无限循环这一过程达到极限的情况,最后得到的极限向量 x 为 个 页 面 的 P a g e R a n k , 满 足 A x = x x为个页面的PageRank,满足Ax=x xPageRankAx=x,实际上就是求矩阵 A A A的特征值为1的特征向量。
    由于 X k = A X k − 1 = A 2 X k − 2 = . . . = A k − 1 X 1 X^{k}=AX^{k-1}=A^2X^{k-2}=...=A^{k-1}X^1 Xk=AXk1=A2Xk2=...=Ak1X1可用幂法求得 X k X^k Xk

3.个性化PageRank算法

  个性化的pagerank的目标是要计算所有节点相对于用户u的相关度。从用户u对应的节点开始游走,每到一个节点都以1-d的概率停止游走并从u重新开始,或者以d的概率继续游走,从当前节点指向的节点中按照均匀分布随机选择一个节点往下游走。这样经过很多轮游走之后,每个顶点被访问到的概率也会收敛趋于稳定,这个时候我们就可以用概率来进行排名了。
  个性化的pagerank跟传统pagerank不同的是,每次重新游走时,总是从用户u节点开始。另外,每个节点权重初始化时,个性化的pagerank是这样子的,假如对用户u推荐,则对用户u节点初始化为1,其他节点都初始化为0。


参考:
https://segmentfault.com/a/1190000000711128
https://blog.csdn.net/lingerlanlan/article/details/46991167

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值