一、 PageRank算法概述:
PageRank,即網(wǎng)頁排名,又稱網(wǎng)頁級別、Google左側(cè)排名或佩奇排名。
是Google創(chuàng)始人拉里·佩奇和謝爾蓋·布林于1997年構(gòu)建早期的搜索系統(tǒng)原型時提出的鏈接分析算法,自從Google在商業(yè)上獲得空前的成功后,該算法也成為其他搜索引擎和學術界十分關注的計算模型。眼下許多重要的鏈接分析算法都是在PageRank算法基礎上衍生出來的。PageRank是Google用于用來標識網(wǎng)頁的等級/重要性的一種方法,是Google用來衡量一個站點的好壞的唯一標準。在揉合了諸如Title標識和Keywords標識等全部其他因素之后,Google通過PageRank來調(diào)整結(jié)果,使那些更具“等級/重要性”的網(wǎng)頁在搜索結(jié)果中另站點排名獲得提升,從而提高搜索結(jié)果的相關性和質(zhì)量。其級別從0到10級,10級為滿分。PR值越高說明該網(wǎng)頁越受歡迎(越重要)。比如:一個PR值為1的站點表明這個站點不太具有流行度,而PR值為7到10則表明這個站點很受歡迎(或者說極其重要)。一般PR值達到4,就算是一個不錯的站點了。Google把自己的站點的PR值定到10,這說明Google這個站點是很受歡迎的,也能夠說這個站點很重要。
PageRank算法
二、從入鏈數(shù)量到 PageRank:
在PageRank提出之前,已經(jīng)有研究者提出利用網(wǎng)頁的入鏈數(shù)量來進行鏈接分析計算,這樣的入鏈方法如果一個網(wǎng)頁的入鏈越多,則該網(wǎng)頁越重要。早期的非常多搜索引擎也採納了入鏈數(shù)量作為鏈接分析方法,對于搜索引擎效果提升也有較明顯的效果。 PageRank除了考慮到入鏈數(shù)量的影響,還參考了網(wǎng)頁質(zhì)量因素,兩者相結(jié)合獲得了更好的網(wǎng)頁重要性評價標準。
對于某個互聯(lián)網(wǎng)網(wǎng)頁A來說,該網(wǎng)頁PageRank的計算基于下面兩個基本如果:
1、數(shù)量如果:在Web圖模型中,如果一個頁面節(jié)點接收到的其它網(wǎng)頁指向的入鏈數(shù)量越多,那么這個頁面越重要。
2、質(zhì)量如果:指向頁面A的入鏈質(zhì)量不同,質(zhì)量高的頁面會通過鏈接向其它頁面?zhèn)鬟f很多其它的權重。所以越是質(zhì)量高的頁面指向頁面A,則頁面A越重要。
利用以上兩個如果,PageRank算法剛開始賦予每一個網(wǎng)頁同樣的重要性得分,通過迭代遞歸計算來更新每一個頁面節(jié)點的PageRank得分,直到得分穩(wěn)定為止。 PageRank計算得出的結(jié)果是網(wǎng)頁的重要性評價,這和用戶輸入的查詢是沒有不論什么關系的,即算法是主題無關的。如果有一個搜索引擎,其相似度計算函數(shù)不考慮內(nèi)容相似因素,全然採用PageRank來進行排序,那么這個搜索引擎的表現(xiàn)是什么樣子的呢?這個搜索引擎對于隨意不同的查詢請求,返回的結(jié)果都是同樣的,即返回PageRank值最高的頁面。
三、PageRank算法原理:
1、基本概念
先了解幾個基本概念,一遍后面內(nèi)容理解
Ⅰ、出鏈
如果在網(wǎng)頁A中附加了網(wǎng)頁B的超鏈接B-Link,用戶瀏覽網(wǎng)頁A時可以點擊B-Link然后進入網(wǎng)頁B。上面這種A附有B-Link這種情況表示A出鏈B??芍?,網(wǎng)頁A也可以出鏈C,如果A中也附件了網(wǎng)頁C的超鏈接C-Link。
Ⅱ、入鏈
上面通過點擊網(wǎng)頁A中B-Link進入B,表示由A入鏈B。如果用戶自己在瀏覽器輸入欄輸入網(wǎng)頁B的URL,然后進入B,表示用戶通過輸入URL入鏈B
Ⅲ、無出鏈
如果網(wǎng)頁A中沒有附加其他網(wǎng)頁的超鏈接,則表示A無出鏈
Ⅳ、只對自己出鏈
如果網(wǎng)頁A中沒有附件其他網(wǎng)頁的超鏈接,而只有他自己的超鏈接A-Link,則表示A只對自己出鏈
Ⅴ、PR值
一個網(wǎng)頁的PR值,概率上理解就是此網(wǎng)頁被訪問的概率,PR值越高其排名越高。
下面給出計算PR值可能遇到的幾種不同情況:
case1:網(wǎng)頁都有出入鏈
PageRank算法
此種情況下的網(wǎng)頁A的PR值計算公式為:
PageRank算法
case2:存在沒有出鏈的網(wǎng)頁
PageRank算法
網(wǎng)頁C是沒有出鏈。因為C沒有出鏈,所以對A,B,D網(wǎng)頁沒有PR值的貢獻。PageRank算法的策略:從數(shù)學上考慮,為了滿足Markov鏈,設定C對A,B,C,D都有出鏈(也對他自己也出鏈~)。你也可以理解為:沒有出鏈的網(wǎng)頁,我們強制讓他對所有的網(wǎng)頁都有出鏈,即讓他對所有網(wǎng)頁都有PR值貢獻。
此種情況PR(A)的計算公式:
case3:存在只對自己出鏈的網(wǎng)頁
PageRank算法
C是只對自己出鏈的網(wǎng)頁。
此時訪問C時,不會傻乎乎的停留在C頁面,一直點擊C-Link循環(huán)進入C,即C網(wǎng)頁只對自己的網(wǎng)頁PR值有貢獻。正常的做法是,進入C后,存在這種情況:在地址輸入欄輸入A/B/C/D的URL地址,然后跳轉(zhuǎn)到A/B/C/D進行瀏覽,這就是PageRank算法解決這種情況的策略:設定存在一定概率為α,用戶在地址欄輸入A/B/C/D地址,然后從C跳轉(zhuǎn)到A/B/C/D進行瀏覽。
此時PR(A)的計算公式為:
PageRank算法
一般取值α=0.85
Ⅵ、算法公式:
PageRank算法
注:Mpi是有出鏈到pi的所有網(wǎng)頁集合,L(pj)是有網(wǎng)頁pj的出鏈總數(shù),N是網(wǎng)頁總數(shù),α一般取值為0.85
所有網(wǎng)頁PR值同時計算需要迭代計算:一直迭代計算,停止直到下面2情況之一發(fā)生:每個網(wǎng)頁的PR值前后誤差dleta_pr小于自定義誤差閾值,或者迭代次數(shù)超過了自定義的迭代次數(shù)閾值
三、PR值計算方法:
1、幾個基本公式
PageRank算法
2、冪迭代法
PageRank算法
先對P0賦隨機初值,然后通過上面公式進行迭代計算,直到滿足條件停止迭代計算:一直迭代計算,停止直到下面2情況之一發(fā)生:每個網(wǎng)頁的PR值前后誤差dleta_pr小于自定義誤差閾值,或者迭代次數(shù)超過了自定義的迭代次數(shù)閾值
3、特征值法
Markov Chain收斂時,存在:
PageRank算法
4、代數(shù)法
Markov Chain收斂時,存在:
PageRank算法
可以通過上面公式計算出來PR值矩陣。
以上文章來源于網(wǎng)絡,如有侵權請聯(lián)系創(chuàng)一網(wǎng)的客服處理。謝謝!