簡介
PageRank算法,是一種網頁排名算法。在組建搜索引擎時,爬下來的數據從網頁的角度來看,將所有的連接指向放到一起,可以構成一個圖。PageRank,就是在這圖上做文章。利用PageRank算法,得到PR(PageRank)值,當一個網頁的PR值越大,則說明該網頁越受歡迎。
算法原理
基本思想
"重要性",即如果兩個網頁的鏈入的網頁數相同的,如果網頁1的連入的頁面重要性較高,則認為網頁1比網頁2重要
隨機游走模型
假設有一個永不停息,在瀏覽器上瀏覽網頁的人,他隨機的點擊一個鏈接繼續訪問下一個網頁,當達到穩態的時候(即經過了足夠長的時間),他會正在看哪個網頁?
這等價於,在靜態情況下,每個網頁$v$都有一個被訪問的概率$p(v)$,它可以視為網頁的重要程度。
$p(v)=\sum{E[u,v]*p(u)/d_u}$
其中$d_u$時網頁$u$的"出度",$\sum{p(u)}=1$
我們可以令$L[u,v]={E[u,v] \over d_u}$
此時的公式就改寫為$p[v]=\sum{L[u,v]p[u]}$,寫成矩陣形式
當節點為懸掛節點時,,即出度為0的節點,修正為$L[u,v]={1 \over N}$
模型存在的問題
上訴隨機游走模型有穩態解的條件:強連通,無圈,即形成的有向圖通過鏈接方式訪問到每一個網頁
破壞條件:
- 圖中有圈
- 有入度或出度為0的點
改進后PageRank模型
引入一個隨機跳轉概率$\beta$,每次瀏覽者都有$1-\beta$的概率沿着鏈接走,有$\beta$的概率重新隨機的選擇一個新的起始點。
其中 Google matrix 為
模型的求解過程