浅谈PageRank算法
@TOC[目錄]
PageRank 是 由佩奇(Larry Page)等人提出 的 Google 最為有名的技術之一
PageRank 是一種基于隨機游走 的 評價網站權值的算法
總之, PageRank 是一種十分重要的算法 不管在學術界 還是在產業界
Node Similarity(節點相似度)
假設在一個圖G(V,E)中研究兩個節點u,v之間的相關性
直觀上,u,v之間的相似度高于u,w之間的相似度
可以按計算時用到部分點還是全部點來進行分類
local
Common Neighbors(CN), Jaccard, Adamic-Adar Index
grobal
Personalized PageRank(PPR), SimRank, Katz
事實上 節點相似度在生產過程中有極強的落地場景,尤其是和社交網絡分析相關的好友推薦
,另外 還可以運用在 Top-k 的關系發現當中。
local
CN 算法(common neighbor)
一個節點的鄰居集合可以表征這個節點的周圍結構
規定:
Jaccard
單一的數值對于衡量一個節點的相似度, 可能存在尺度標準不統一的情況
故 jaccard 在 CN 的基礎上進行了一個歸一化的處理
得到
Adamic-Adar Index
是一種基于節點之間共同鄰居的親密度測算方法。2003年由 Lada Adamic 和 Eytan Adart在 predict links in a social network中提出的,計算親密度的公式如下:
global
Naive PageRank
PageRank 的核心思想
對應PageRank 背后的兩個基本假設:
數量假設:更重要的網頁可能被更多的網頁鏈接到。
質量假設:有更高的 PageRank 的網頁將會傳遞更高的權重。
PageRank 算法計算每一個網頁的 PageRank 值,然后根據這個值的大小對網頁的重要性進行排序。它的思想是模擬一個悠閑的上網者,上網者首先隨機選擇一個網頁打開,然后在這個網頁上呆了幾分鐘,跳轉到該網頁所指向的鏈接,這樣無所事事、漫無目的地在網頁上跳來跳去,PageRank 就是估計這個悠閑的上網者分布在各個網頁上的概率。
PageRank 模型
將整個 Web 被抽象為一張有向圖
轉移矩陣
用**轉移矩陣(Transition Matrix)**來表示頁面以及頁面間的連接關系:
性質:
- 矩陣的每一列代表一個具體網頁的出鏈,簡單地說就是當前網頁向其他網頁的鏈接;
- 矩陣的每一行代表一個具體網頁的入鏈,簡單地說就是其他網頁向當前網頁的鏈接。
Naive PageRank 計算
陷阱問題
上圖中 5、6、7 三個頁面構成一個閉環,它們緊密鏈接成環而沒有外出的鏈接,最終也會導致上網者“深陷于此”。同樣的,經過多次跳轉,陷阱網頁的概率值之和為 1,而其他正常網頁的概率值為 0。
隨機瀏覽模型
假定一個上網者從一個隨機的網頁開始瀏覽,此時有兩種選擇:
通過點擊當前頁面的其他鏈接開始下一次瀏覽;
通過在瀏覽器的地址欄輸入新的地址以開啟一個新的網頁。
其中,上網者通過點擊鏈接開啟新頁面的概率為 d(d 也稱阻尼系數,通常取 0.85)。
此時,PageRank 模型變為:在每一個頁面,用戶都有 d 的概率通過點擊鏈接進入下一個頁面;此外,還有 1 - d 的概率隨機跳轉,此時跳轉到其他頁面的概率為 1 / N(當前頁面的其他鏈接數)
參考:
- 如何一口氣理解PageRank
- 大圖中如何快速計算PPR
- PageRank 筆記
總結
以上是生活随笔為你收集整理的浅谈PageRank算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QVGA、WVGA、VGA、WQVGA、
- 下一篇: 什么是IP、MAC地址?图文解说它们之间