1. 程式人生 > >重啟隨機遊走演算法(RWR)

重啟隨機遊走演算法(RWR)

重啟隨機遊走演算法(Random Walk with Restart)

1 pagerank演算法的基本原理

Pagerank演算法是Google的網頁排名演算法,由拉里佩奇發明。其基本思想是民主表決。在網際網路上,如果一個網頁被很多其他網頁所連結,說明它受到普遍的承認和信賴,那麼它的排名就高。同時,排名高的網站連結可靠,所以這些連結的權重會更大。

網頁的排名來自於所有指向這個網頁的其他網頁的權重之和。y的排名=x1+x2+x3+x4=0.081


接下來的問題是x1,x2,x3,x4的權重是多少?這些權重應該來自這些網站本身的網頁的排名。這就是說在計算一個網頁y的排名的過程中需要用到其他網頁的排名。是一個矛盾的問題。

布林將問題變成二維矩陣相乘的問題,並用迭代的方法解決了這個問題。首先假設所有網頁的排名是相同的,根據這個初始值,計算出各個網頁的第一次迭代排名,根據第一次迭代排名算出第二次的排名。他在理論上證明了無論初始值如何選取,這個演算法都保證了網頁排名的估計值能收斂到排名的真實值,並且不需要人工干預。在實際實現的過程中,又利用稀疏矩陣計算的技巧大大簡化計算量。

pagerank計算方法





看吳軍老師這一塊講解的時候稍微有點疑問,就是矩陣A的設定。A中第i行第j列代表著第i個網頁到第j個網頁的連線數。如果是這樣設定,在迭代的時候計算的並不是其他所有網頁到某一網頁的權重之和,而是從某一網頁出發,到達其他網頁的權重。在網上查詢資料,得到另一種解釋。

對於這樣一個包含四個網頁的圖,箭頭表示有連結存在。M的第一行分別是ABCD轉移到頁面A的概率,這樣在和上圖中的向量B相乘,得到的就是A B C D網頁的重要性,也就是網頁的排名。張洋的部落格

2 隨機遊走演算法

隨機遊走演算法的基本思想是,從一個或一系列頂點開始遍歷一張圖。在任意一個頂點,遍歷者將以概率1-a遊走到這個頂點的鄰居頂點,以概率a隨機跳躍到圖中的任何一個頂點,稱a為跳轉發生概率,每次遊走後得出一個概率分佈,該概率分佈刻畫了圖中每一個頂點被訪問到的概率。用這個概率分佈作為下一次遊走的輸入並反覆迭代這一過程。當滿足一定前提條件時,這個概率分佈會趨於收斂。收斂後,即可以得到一個平穩的概率分佈。隨機遊走模型廣泛應用於資料探勘和網際網路領域,PageRan演算法可以看作是隨機遊走模型的一個例項。

3 重啟隨機遊走演算法

重啟隨機遊走演算法是在隨機遊走演算法的基礎的改進。從圖中的某一個節點出發,每一步面臨兩個選擇,隨機選擇相鄰節點,或者返回開始節點。演算法包含一個引數a為重啟概率,1-a表示移動到相鄰節點的概率,經過迭代到達平穩,平穩後得到的概率分佈可被看作是受開始節點影響的分佈。重啟隨機遊走可以捕捉兩個節點之間多方面的關係,捕捉圖的整體結構資訊。