PageRank是網頁重要程度計算方法,可推廣到有向圖結點的重要程度的計算。基本思想是在有向圖上定義隨機游走模型,在一定條件下,極限情況訪問每個結點的概率收斂到平穩分布。
給定有n個結點強連通且非周期性的有向圖,在其基礎上定義隨機游走模型。假設轉移矩陣M,在時刻0,1,2,…,t,…訪問各個結點概率為
則其極限存在,那么極限向量R表示馬爾可夫鏈的平穩分布,滿足
平穩分布R稱為這個圖的PageRank。R的各個分量為各個結點的PageRank值,
這是PageRank的基本定義,但有時有向圖並未能滿足強連通且非周期性的條件,沒有其對應的平穩分布。
然而可以在基本定義上導入平滑項,這樣平穩分布向量R就由下面的公式決定
其中,1是所有分量為1 的n維向量;d阻尼因子,一般由經驗決定
因此這也稱為PageRank的一般定義,其隨機游走模型的轉移矩陣由兩部分的線性組合組成,一部分是有向圖的基本轉移矩陣M,另一部分是完全隨機的轉移矩陣。
PageRank的計算方法包括冪法、迭代計算法、代數算法。
冪法是其常用的方法,通常計算矩陣的主特征值和主特征向量求求得有向圖的一般PageRank。計算流程:
輸入:有n個結點的有向圖,其轉移矩陣M,阻尼因子d,初始向量x0和計算精度ε
輸出:有向圖的PageRank平穩向量R
- 令t=0,選擇初始向量x0
-
計算有向圖的一般轉移矩陣A
-
迭代並規范化結果向量
- 當時
,令
,停止迭代。
- 否則,令t=t+1,執行步驟(3)
-
對R進行規范化處理,使其表示概率分布
例,給定以下有向圖,d=0.85,ε=0.005,求其一般的PageRank
圖1 有向圖
有向圖的轉移矩陣
-
令t=0,
-
根據公式計算該圖的一般轉移矩陣A
-
迭代並規范化
通過多次迭代,在t=21,22時,得到向量
,停止迭代,取
將R規范化,即使得其各個分量的和為1,
迭代計算算法的流程:
輸入:有n個結點的有向圖,其轉移矩陣M,阻尼因子d,初始向量R0
輸出:有向圖的PageRank平穩向量R
(1)令t=0,
(2)計算
(3)當時
充分接近,令
,停止迭代。
(4)否則,令t=t+1,執行步驟(2)
代數算法的流程:
按照一般PageRank的定義
當0<d<1時,上定義式的推導解存在且唯一,這樣就可通過求逆矩陣
得到有向圖的一般PageRank