日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PageRank 算法

發布時間:2024/7/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PageRank 算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. PageRank 的定義
      • 1.1 基本想法
      • 1.2 PageRank 的基本定義
      • 1.3 PageRank 的一般定義
    • 2. PageRank 的計算
      • 2.1 迭代算法
      • 2.2 冪法
      • 2.3 代數算法

PageRank算法是圖的鏈接分析(link analysis)的代表性算法,屬于圖數據上的無監督學習方法。

PageRank算法最初作為互聯網網頁重要度的計算方法,1996年由Page和Brin提出,并用于谷歌搜索引擎的網頁排序。
事實上,PageRank可以定義在任意有向圖上,后來被應用到社會影響力分析文本摘要等多個問題。
PageRank算法基本想法

  • 在有向圖上定義一個隨機游走模型,即一階馬爾可夫鏈,描述隨機游走者沿著有向圖隨機訪問各個結點的行為
  • 在一定條件下,極限情況訪問每個結點的概率收斂到平穩分布,這時各個結點的平穩概率值就是其PageRank值,表示結點的重要度
  • PageRank是遞歸定義的,PageRank的計算可以通過迭代算法進行

1. PageRank 的定義

1.1 基本想法

PageRank是定義在網頁集合上的一個函數,對網頁給出一個正實數,表示網頁的重要程度,整體構成一個向量,PageRank值越高,網頁就越重要,在互聯網搜索的排序中可能就被排在前面

  • 假設互聯網是一個有向圖
  • 在其基礎上定義隨機游走模型,即一階馬爾可夫鏈,表示網頁瀏覽者在互聯網上隨機瀏覽網頁的過程
  • 假設瀏覽者在每個網頁依照連接出去的超鏈接以等概率跳轉到下一個網頁,并在網上持續不斷進行這樣的隨機跳轉,這個過程形成一階馬爾可夫鏈
  • PageRank表示這個馬爾可夫鏈的平穩分布。每個網頁的PageRank 值就是平穩概率

1.2 PageRank 的基本定義

給定一個包含 nnn 個結點 v1,v2…,vnv_1,v_2…,v_nv1?v2?vn?強連通非周期性的有向圖,在有向圖上定義隨機游走模型,即一階馬爾可夫鏈。
隨機游走的特點是從一個結點 到有 有向邊連出的所有結點的轉移概率相等,轉移矩陣為M。這個馬爾可夫鏈具有平穩分布 R, MR=RMR=RMR=R

平穩分布 R 稱為這個有向圖的 PageRank。R的各個分量稱為各個結點的PageRank值

其中PR(vi),i=1,2,?,n,P R\left(v_{i}\right), i=1,2, \cdots, n,PR(vi?),i=1,2,?,n, 表示結點 viv_{i}vi? 的 PageRank 值
R=[PR(v1)PR(v2)?PR(vn)]PR(vi)?0,i=1,2,?,n∑i=1nPR(vi)=1PR(vi)=∑vj∈M(vi)PR(vj)L(vj),i=1,2,?,n\begin{array}{c}R=\left[\begin{array}{c}P R\left(v_{1}\right) \\ P R\left(v_{2}\right) \\ \vdots \\ P R\left(v_{n}\right)\end{array}\right] \\ \begin{array}{c} \\P R\left(v_{i}\right) \geqslant 0, \quad i=1,2, \cdots, n \\ \\ \sum\limits_{i=1}^{n} P R\left(v_{i}\right)=1\end{array} \\ \begin{array}{l}\\ P R\left(v_{i}\right)=\sum\limits_{v_{j} \in M\left(v_{i}\right)} \frac{P R\left(v_{j}\right)}{L\left(v_{j}\right)}, \quad i=1,2, \cdots, n\end{array}\end{array}R=??????PR(v1?)PR(v2?)?PR(vn?)???????PR(vi?)?0,i=1,2,?,ni=1n?PR(vi?)=1?PR(vi?)=vj?M(vi?)?L(vj?)PR(vj?)?,i=1,2,?,n??
M(vi)M(v_i)M(vi?) 表示指向節點 viv_ivi? 的節點集合,L(vj)L(v_j)L(vj?) 表示節點 vjv_jvj? 連出的有向邊個數

定理 :不可約且非周期的有限狀態馬爾可夫鏈,有唯一平穩分布存在,并且當時間趨于無窮時狀態分布收斂于唯一的平穩分布。

  • 一般的有向圖未必滿足強連通且非周期性的條件
  • 比如,在互聯網,大部分網頁沒有連接出去的超鏈接,也就是說從這些網頁無法跳轉到其他網頁。所以PageRank的基本定義不適用

1.3 PageRank 的一般定義

有 n 個結點的任意有向圖,定義一個一般的隨機游走模型,即一階馬爾可夫鏈。
一般的隨機游走模型的轉移矩陣由兩部分的線性組合組成:

  • 一部分是有向圖的基本轉移矩陣M,表示從一個結點到其連出的所有結點的轉移概率相等
  • 另一部分是完全隨機的轉移矩陣,表示從任意一個結點到任意一個結點的轉移概率都是1/n,線性組合系數為阻尼因子 d(0≤d≤1)d(0≤d≤1)d0d1

這個一般隨機游走的馬爾可夫鏈存在平穩分布,記作 R。
定義平穩分布向量R為這個有向圖的一般PageRank。R由公式 R=dMR+1?dn1R= dMR+\frac{1-d}{n} \bf1R=dMR+n1?d?1 決定,1\bf 11 是所有分量為 1 的 n 維向量

PR(vi)=d(∑vj∈M(vi)PR(vj)L(vj))+1?dn,i=1,2,?,nP R\left(v_{i}\right)=d\left(\sum_{v_{j} \in M\left(v_{i}\right)} \frac{P R\left(v_{j}\right)}{L\left(v_{j}\right)}\right)+\frac{1-d}{n}, \quad i=1,2, \cdots, nPR(vi?)=d???vj?M(vi?)?L(vj?)PR(vj?)????+n1?d?,i=1,2,?,n

一般PageRank的定義意味著互聯網瀏覽者:

  • 在任意一個網頁上,瀏覽者或者以概率 d 決定按照超鏈接隨機跳轉,這時以等概率從連接出去的超鏈接跳轉到下一個網頁
  • 或者以概率(1-d)決定完全隨機跳轉,這時以等概率1/n跳轉到任意一個網頁
  • 第二個機制保證從沒有連接出去的超鏈接的網頁也可以跳轉出。這樣可以保證平穩分布,即一般PageRank的存在

2. PageRank 的計算

包括迭代算法、冪法、代數算法。常用的方法是 冪法

2.1 迭代算法

輸入:含有 n 個結點的有向圖,轉移矩陣 M,阻尼因子 d,初始向量 R0
輸出:有向圖的 PageRank 向量 R

  • t=0t=0t=0
  • 計算 Rt+1=dMRt+1?dn1R_{t+1} = dMR_t+\frac{1-d}{n}\bf1Rt+1?=dMRt?+n1?d?1
  • 如果 Rt+1R_{t+1}Rt+1?RtR_tRt? 充分接近,令 R=Rt+1R=R_{t+1}R=Rt+1?,停止迭代
  • 否則,令 t=t+1t=t+1t=t+1,執行步 2
  • 2.2 冪法

    輸入:含有 n 個結點的有向圖,轉移矩陣 M,系數 d,初始向量 x0,計算精度 ε\varepsilonε
    輸出:有向圖的 PageRankR

  • t=0t=0t=0,選擇初始向量 x0x_0x0?
  • 計算有向圖的一般轉移矩陣 A ,A=dM+1?dnEA=dM+\frac{1-d}{n}\bf EA=dM+n1?d?EE\bf EE 是所有元素為1的n階方陣
  • 迭代并規范化結果向量
    yt+1=Axty_{t+1} = Ax_tyt+1?=Axt?
    xt+1=yt+1∣∣yt+1∣∣\quad \quad x_{t+1} = \frac{y_{t+1}}{||y_{t+1}||}xt+1?=yt+1?yt+1??
  • ∣∣xt+1?xt∣∣<ε||x_{t+1}-x_t|| < \varepsilonxt+1??xt?<ε 時,令 R=xtR=x_tR=xt?,停止迭代
  • 否則,令 t=t+1t=t+1t=t+1,執行步 3
  • 對 R 進行規范化處理,使其表示概率分布
  • 2.3 代數算法

    代數算法 通過一般轉移矩陣的逆矩陣計算求有向圖的一般 PageRank
    按照PR的一般定義:R=dMR+1?dn1R=d M R+\frac{1-d}{n} \mathbf{1}R=dMR+n1?d?1
    于是有:
    (I?dM)R=1?dn1(I-d M) R=\frac{1-d}{n} \mathbf{1} (I?dM)R=n1?d?1
    R=(I?dM)?11?dn1R=(I-d M)^{-1} \frac{1-d}{n} \mathbf{1}R=(I?dM)?1n1?d?1
    這里 I\bf II 是單位矩陣。
    0<d<10<d<10<d<1 時,上面方程的解存在且唯一
    可以通過求逆矩陣 (I?dM)?1(I-d M)^{-1}(I?dM)?1 得到有向圖的一般 PageRank

    總結

    以上是生活随笔為你收集整理的PageRank 算法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。