参考:世界を変えたGoogleのPageRankアルゴリズム
ページランクアルゴリズムはノード重要度の計算に使用されます
考え
Web ページの重要性は、インディグリー (参照) が多いほど高くなります。
重要な Web サイトに引用されることは、通常の Web サイトに引用されることよりも重要です。
したがって、Web サイトが重要かどうかを検討するには、その Web サイトを参照している Web サイトが重要かどうかを確認する必要があり、これは再帰的な質問になります。
ページランクの 5 つの観点を理解する
連立一次方程式を反復的に解く
例
3 つの方程式と 3 つの未知数があるように見えますが、実際には方程式は 2 つだけです。
ガウス消去法は解決できますが、拡張性が劣ります。
ノード j のランク値rj r_jrjすべてをJJに考慮することですノードjのランク値はその出力次数で除算され、合計されます。
反復的な解決策
左乗算 M 行列の反復
反復プロセスは行列で表されます: (左側の行列の i 行と j 列のA ij はゼロ以外の値を持ち、A_{ij} はゼロ以外の値を持ちます。あイジゼロ以外の値は、 j 番目のノードから i 番目のノードへの有向辺が存在することを示します)
左側の行列は列確率行列 (列転送行列/列置換行列、列確率行列) と呼ばれ、
右側のベクトルはページランク ベクトルと呼ばれます。
行列の固有ベクトル
反復公式:
r = M ⋅ rr=M \cdot rr=M⋅r は実際には1 ⋅ r = M ⋅ r 1 \cdot r=M \cdot rとみなすことができます。
1⋅r=M⋅この観点から
、ページランク ベクトルは、固有値 1 を持つ M 行列の固有ベクトルです。
列確率行列の場合、ペレオン-フロベニウスの定理によれば、最大の固有値は 1 であり、一意の主固有ベクトル (固有値 1 に対応する固有ベクトル) があり、ベクトルのすべての要素の合計は 1 になります。
べき乗反復により、ページランク ベクトルを迅速に解決できます。
ランダムウォーク
ランダム ウォーク -> カウントの合計 -> 確率に正規化され、結果がページランク ベクトルになります。
マルコフ連鎖
ページランクを解決する
収束解析
1. 収束するかどうか - 収束、同じ結果に収束する
エルゴードの定理
エルゴードの定理によると、既約非周期マルコフ連鎖の場合:
1. 独自の安定したマルコフ分布が存在します
。 2. すべての初期分布は同じ分布に収束します。
可還元マルコフ連鎖と既約マルコフ連鎖
還元可能とは孤立した状態が存在することを意味し
、既約とはすべての状態が到達可能であることを意味します
周期マルコフ連鎖と非周期マルコフ連鎖
2. 結果は重要性を表していますか - 2 種類の質問
蜘蛛の罠の問題
すべての出次数エッジがグループ内にあるため、このグループがすべての重要性を吸収します。
行き止まりの問題
出次数がなければ、重要度は最終的に 0 になります。
これら 2 つのケースでは、たとえ収束したとしても、それは妥当なネットワーク重要度ではありません。
例
解決
クモトラップ問題の解決策
行き止まりの解決策
最終的解決
ページランクのアップグレード - マップの作業を減らす
ページランク アルゴリズムは、ノードの類似性を計算するために使用されます - レコメンデーション システムで使用されます
前提条件: ユーザーと製品間のインタラクションを表すために二部グラフが使用される
目標: 指定されたノードに最も類似するノードを見つける
仮定: 同じユーザーが訪問するノードは類似する可能性が高くなります。
ページランク、ランダム ウォークの観点からインスピレーションを得た
ページランクの 1 つの説明は、「ネットワーク内の任意のノードにランダムに送信され、ウォークを続ける確率を伴うランダム ウォーク」です。トピック固有のページランク (パーソナライズされたページランクとも呼ばれます): 送信される確率を伴うランダム ウォークです
。ノード、
再起動付きランダム ウォークを継続: ランダム ウォーク、および指定されたノードに送信され、ウォークを継続
ランダム ウォーク訪問数 - 類似性の尺度
ノード セット query_nodes を指定して、ランダム ウォークをシミュレートします。
- 訪問を記録する
- 確率α \alphaでαの下で、query_nodes でウォークを再開します。
- アクセス時間が長いノードは、query_nodes 内のポイントとの類似性が高くなります。
疑似コード
アドバンテージ
コードの練習
参考: https://www.bilibili.com/video/BV1Wg411H7Ep/?p=16&spm_id_from=pageDriver