更改

跳到导航 跳到搜索
添加111字节 、 2020年4月24日 (五) 19:09
第82行: 第82行:  
* 对于没有blacklinks (inedges)的网页,即没人给她投票,其PageRank永远等于0。
 
* 对于没有blacklinks (inedges)的网页,即没人给她投票,其PageRank永远等于0。
   −
对于第一个问题,给等式乘以一个小于1的常数<math> d </math>(damping factor),这个常数被翻译成阻尼系数,意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率;对于第二个问题,给等式加上一个常数。新的等式如下(<math> N </math>表示网页总数,或者节点数目,本文中该公式成为PageRank基本公式,下同):
+
对于第一个问题,给等式乘以一个小于1的常数<math> d </math>,这个常数被翻译成阻尼系数,意思为任意时刻浏览者访问到某页面后继续访问下一个页面的概率;对于第二个问题,给等式加上一个常数。新的等式如下(<math> N </math>表示网页总数,或者节点数目,本文中该公式成为PageRank基本公式,下同):
      第282行: 第282行:  
===阻尼系数 Damping factor===
 
===阻尼系数 Damping factor===
   −
阻尼系数,公式中记为<math> d </math>,和 PR 初始值一样,d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中,<math> d </math>通常被设置为0.85。
+
阻尼系数,公式中记为<math> d </math>,和 PR 初始值一样,d的取值也会影响PageRank算法的效率。在佩奇和布林的论文中,<math> d </math>通常被设置为<math>0.85</math>。
      第323行: 第323行:  
=====创建随机图 Stochastic graph=====
 
=====创建随机图 Stochastic graph=====
   −
随机图是一个有向带权图,边的权重被归一化,使得每个节点的outedges的权重加起来为1。则每个边的权重即为<math>1/L(p_j)</math>,图1的随机图如下所示:
+
随机图是一个有向带权图,边的权重被归一化,使得每个节点的outedges的权重加起来为1。则每个边的权重即为<math>1/L(p_j)</math>,实例的随机图如下所示:
      −
[[File:Page node xishu.png|400x400px|center]]
+
[[File:Page node xishu.png|400x400px|center|图3:随机图]]
      −
编写代码时,比如,节点D有两条出链,D --> A和D --> B,所以他们的边权重都是0.5。源代码如下:
+
编写代码时,比如,节点D有两条出链,D --> A和D --> B,所以他们的边权重都是<math>0.5</math>。源代码如下:
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
第337行: 第337行:  
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}
 
{'A': {'Edge Id': u'5', 'weight': 0.5}, 'B': {'Edge Id': u'6', 'weight': 0.5}}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
    
=====迭代计算=====
 
=====迭代计算=====
第343行: 第344行:  
:<math> \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}</math>
 
:<math> \sum_{p_{j}\in B(p_{i})} \frac{PR(p_{j})}{L(p_{j})}</math>
   −
乘以阻尼系数d,再加上(1−d)/N。源代码如下:
+
乘以阻尼系数<math> d </math>,再加上<math> (1−d)/N </math>。源代码如下:
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
第586行: 第587行:       −
其中,<math>\boldsymbol 1</math>为N维的列向量,所有元素皆为1。在代码中,以图重的网页集合为例,可以表示该列向量为:
+
其中,<math>\boldsymbol 1</math>为<math> N </math>维的列向量,所有元素皆为<math>1</math>。在代码中,以图重的网页集合为例,可以表示该列向量为:
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
第609行: 第610行:       −
:<math> M_{ij} = \ell(p_i,p_j) = \begin{Bmatrix} 1/L(p_j) ,  如果j链接到i。             \\ 0 ,    其他          \end{Bmatrix}</math>
+
:<math> M_{ij} = \ell(p_i,p_j) = \begin{Bmatrix} 1/L(p_j) ,  如果j链接到i。         \\ 0 ,    其他          \end{Bmatrix}</math>
       
<math>L(p_j)</math>是指从<math>p_j</math>链出去得网页数目。
 
<math>L(p_j)</math>是指从<math>p_j</math>链出去得网页数目。
−
这样矩阵每一行乘以<math>R</math>,就得到了新的PR值,比如第二行(图1的节点B)
+
这样矩阵每一行乘以<math>R</math>,就得到了新的PR值,比如第二行(图3的节点B)
      第625行: 第626行:     
以节点G为例,G给B和E投票,所以B得到<math>\frac{1}{2}</math>。
 
以节点G为例,G给B和E投票,所以B得到<math>\frac{1}{2}</math>。
−
矩阵<math> M </math>每一列加起来都是1(值得注意的是,对于没有出链的节点,列加起来等于0,比如图1的节点A),即:
+
矩阵<math> M </math>每一列加起来都是<math>1</math>(值得注意的是,对于没有出链的节点,列加起来等于0,比如图3的节点A),即:
      第678行: 第679行:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
K的逆矩阵K^-1为,
+
K的逆矩阵<math>K^{-1}<math>为,
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
7,129

个编辑

导航菜单