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