什麼是Pagerank
-PageRank是Google提出的算法,用於衡量特定網頁相對於搜索引擎索引中的其他網頁而言的重要程度。
-是Google創始人拉里.佩奇和謝爾蓋.布林於1997年創造的
-PageRank實現了將鏈接價值概念作爲排名因素
#計算環境
--Hadoop-2.7.1
--四臺主機
--兩臺RM的HA
--離線計算框架MapReduce
算法原理
---思考超鏈接在互聯網中的作用?
---入鏈====投票
PageRank讓鏈接來“投票”,到一個頁面的超鏈接相當於該頁投一票
---入鏈數量
如果一個頁面節點接收到的其他網頁指向的入鏈數量越多,那麼這個頁面越重要。
---入鏈質量
指向頁面A的入鏈質量不同,質量高的頁面會通過鏈接向其他頁面傳遞更多的權重。所以越是質量高的頁面指向頁面A,則頁面A越重要。
算法原理(2)
------初始值
Google的每個頁面設置相同的PR值
pagerank算法給每個頁面的PR初始值爲1.
-------迭代計算(收斂)
Googel不斷的重複計算每個頁面的PageRank,那麼經過不斷的重複計算,這些頁面的RP值會趨向於穩定,也就是收斂的狀態。
在具體企業應用中怎麼樣確定收斂標準?
1.每個頁面的PR值和上一次計算的PR相等
2.設定一個差值指標(0.0001),當所有頁面和上一次計算的PR差值平均小於該標準時,則收斂
3.設定一個百分比(99%),當99%的頁面和上一次計算的PR相等
算法原理(3)
站在互聯網的角度:
只出,不入:PR會爲0
只入,不出:PR會很高
直接訪問網頁
--------修改PageRank計算公式:增加阻尼係數
在簡單公式的基礎上增加了阻尼係數(damping factor) d
一般取值d=0.85(google通過大量數據分析所得經驗數據)
---------完整PageRank計算公式
d:阻尼係數
M(i):指向i的頁面集合
L(i):頁面的出鏈數
PR(pj):j頁面的PR值
n:所有頁面數