Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Google PageRank勉強会#2 / Google PageRank 2011-07-06

Google PageRank勉強会#2 / Google PageRank 2011-07-06

Google PageRankの数理 第6章〜第10章の輪講スライドです。

Jun Hashimoto

July 06, 2011
Tweet

More Decks by Jun Hashimoto

Other Decks in Technology

Transcript

  1. Google検索システムにおける
    PageRank手法(2)
    M2 Jun HASHIMOTO
    1

    View Slide

  2. 参考文献について
    • Google PageRankの数理
    – 共立出版,¥4725
    • 今日は第6~10章の内容
    の説明です
    2

    View Slide

  3. Agenda
    • 前回の質問回答・復習
    • PageRankの計算について
    – 固有値・計算速度
    – 計算の高速化
    • ぶら下がりノードの考慮・適応的ベキ乗法・凝集
    • PageRankの更新について
    – リンク更新におけるPageRankの更新
    ※今日はスライドが黒いです(数式多め)
    3

    View Slide

  4. 内容得点と人気得点の比率
    • おそらく企業秘密(探しても分からず…)
    – http://www.imaginary-design.net/blog/archives/266
    4
    “ランク付け自体は内容得点(コンテンツスコア)と人気得点(ポピュラリ
    ティスコア)の合計である合計得点(オーバーオールスコア)によって順
    位付けが導き出されるのですが、内容(内部)と人気(リンク)のそれぞ
    れに対する配点は、その時々によって変化していきます。
    今のgoogleの流れは確実に内容重視になってきているというだけで、良
    質なコンテンツを創っていくことも立派なSEOなわけです。”

    View Slide

  5. [復習]総和方程式の行列表現
    • ハイパーリンク行列H(n*n)
    – ノードi->jのリンクがあれば
    = 1
    ||
    ,それ以外0

    :ページ
    からの出リンクの個数
    • PageRankベクトルπ(1*n)
    • (2)式の行列表現: +1 =
    – Hは疎な行列
    – 平均的なwebページは出リンクが10個
    • O(10n)の計算量
    5

    View Slide

  6. [復習]基本モデルに対する調整
    • ぶら下がり問題に対する解決策(確率的調整)
    – = + 1


    – a:ぶら下がりノードベクトル
    • ぶら下がりノードなら
    = 1,そうでなければ0
    – この調整により,Sは確率的(stochastic)となる
    • 収束性の保証のための調整(原始的調整)
    – = + 1 − ∗ 1


    – G:Google行列
    – α:パラメータ(ハイパーリンクに従う時間の比率)
    6
    テレポーテーション行列E

    View Slide

  7. [復習]GoogleのPageRank調整手法
    • +1 = ,これだけ
    • Gに適用したベキ乗法で計算できる
    – 最大の2つの固有値を1
    , 2
    とすると,漸近的な
    収束の速さは, 2
    1
    ->0の速さ
    – Google行列では1
    = 1, 2
    ≦ であるため,が
    おおよその収束の目安となる
    7

    View Slide

  8. 1
    = 1である理由
    • Gの固有値に1が存在…成分が全て1のベクト
    ルpを適用するとGp=pとなる
    • 任意の行列Aに対し,絶対値が最大である固
    有値をrとすると,以下が成り立つ
    – || ≦ max



    • Gにおいて,任意の行に対し,

    = 1
    • || ≦ 1,r=1が存在するため,最大固有値は1
    8

    View Slide

  9. 2
    ≒ である理由
    • Gの固有値: = (1, 2
    , 3
    , …
    )
    • Sの固有値: = (1, 2
    , 3
    , …
    )
    – k=2,3,…nに対し
    =
    が成立
    • Webの世界におけるリンク構造から,
    ≒ 1
    – これにより
    ≒ が示される
    9

    View Slide

  10. 正行列に対するペロンの定理
    • 正行列A,Aの固有値で絶対値が最大のもの
    をrとすると,以下が成り立つ
    1. rは正
    2. rは単根
    3. = , > 0かつ |
    | = 1

    となるベクトル
    が唯一存在
    10

    View Slide

  11. Google行列Gに対するペロンの定理
    • 確率行列においてr=1(次回説明)
    – = に左から, 右からを乗算: =
    • Google行列を用いたPageRankの更新式
    – +1 =
    • :定常ベクトル=PageRankベクトル
    11

    View Slide

  12. ベキ乗法が優れている理由
    • 1回のGの乗算->ほぼ()
    • 固有値計算のアルゴリズム:どんなに頑張って
    も(2)
    12
    + 1 =
    = + 1 −
    = + ( + 1 − )
    Hは非常に疎(Sparse):1行あたり10個ほどの成分
    ->O(10n)の計算量
    O(n)の計算量
    1

    View Slide

  13. PageRank計算の高速化(1)
    • ぶら下がりノードの考慮
    13
    + 1 = + ( + 1 − )
    = (
    11
    12

    )
    ND D
    ND
    D
    <-このように行列を入れ替えてやる
    ND(Not dangling):非ぶら下がりノード
    D(dangling):ぶら下がりノード
    の計算量を削減可能

    View Slide

  14. PageRank計算の高速化(2)
    • 適応型ベキ乗法
    – Kamvar et al.[2003]:一部分の”頑固な”ページの
    収束に時間がかかり,それ以外はより速く収束す
    ることを発見


    −1 < の際に要素iの計算を止める
    – 問題点:収束に関する証明がない
    • 途中で計算を止めた要素が本当の収束値か不明
    – とはいえベキ乗法によるPageRank計算の高速化
    に,現実的な貢献をしている
    14

    View Slide

  15. [Site B]www.huga.com
    [Site A]www.hoge.com
    PageRank計算の高速化(3)-1
    • 凝集
    – WebPageのリンク構造を階層的に考える
    – 例:
    15
    1 2
    3 6
    5
    4
    7
    www.hoge.com www.huga.com
    ページ1~7までの
    PageRankの計算
    hoge.comとhuga.com
    間のPageRankの計算

    各サイト内の
    PageRankの計算

    View Slide

  16. PageRank計算の高速化(3)-2
    • 7つのノードを2つのノード(各サイト)へと凝集
    • ノード間での遷移確率を以下のように仮定
    16
    www.hoge.com www.huga.com
    0.96
    0.04 1
    (
    0.96 0.04
    0 1
    )
    1
    2
    1
    2
    α = 0.9, = (0.5 0.5)の時,
    定常ベクトルは(0.3676 0.6324)
    HostRankベクトルと呼ぶ

    View Slide

  17. PageRank計算の高速化(3)-3
    • www.hoge.comのPageRankベクトル
    17
    [Site A]www.hoge.com
    1
    3
    7
    2
    1
    =
    0 1 0 0
    0 0 1 0
    1/3 1/3 0 1/3
    0 0 0 0
    1
    2
    3
    7
    1
    2
    3
    7
    α = 0.9, = (0.25 0.25 0.25 0.25)の時,
    PageRankベクトルは(0.1671 0.3175 0.3483 0.1671)

    View Slide

  18. PageRank計算の高速化(3)-4
    • www.huga.comのPageRankベクトル
    18
    [Site B]www.huga.com
    6
    5
    4
    1
    =
    0 1 0
    0 0 1
    1 0 0
    4
    5
    6
    4
    5
    6
    α = 0.9, = (1/3 1/3 1/3)の時,
    PageRankベクトルは(1/3 1/3 1/3)

    View Slide

  19. PageRank計算の高速化(3)-5
    • 3つの定常ベクトルから近似のPageRankベクトル
    を算出
    19
    www.hoge.com www.huga.com
    1
    3
    7
    2
    6
    5
    4
    (0.3676 0.6324)
    (0.1671 0.3175 0.3483 0.1671) (1/3 1/3 1/3)
    = (0.3676 0.1671 0.3175 0.3483 0.1671 0.6324(1/3 1/3 1/3 ))
    = (0.0614 0.1167 0.1280 0.0614 0.2108 0.2108 0.2108)
    = (0.0538 0.1022 0.1132 0.0538 0.2271 0.2256 0.2242)
    凝集が機能し,計算量を減らすことができる

    View Slide

  20. PageRankの更新-1
    • PageRankはGoogleにより毎月更新(Google
    Danceと呼ばれる)
    – Cho et al.[2000]:全ページの40%は一週間以内に
    変更される
    • 更新における変更点
    – i)ハイパーリンクの追加・削除(Hの要素のみ変更)
    – ii)ページの追加・削除(Gの大きさそのものが変更)
    20

    View Slide

  21. PageRankの更新-2
    • リンク更新を扱う近似更新「近似凝集」
    – 更新前のPageRankベクトルを以下のように定義
    – 更新後のマルコフ連鎖状態空間Sを = ∪ に分割
    • 更新後のGoogle行列,PageRankベクトルを以下のように
    表す
    21
    = (1
    , 2
    , …
    )
    =
    11
    12
    21
    22



    :更新後に定常確率が一定の影響を受けるノード
    :更新後も定常確率が著しい影響を受けないノード
    = (1
    , 2
    , …
    |+1
    , +2
    , …
    )

    の中で, に属するノードの
    PageRankを行ベクトルとする

    View Slide

  22. PageRankの更新-3
    • 近似凝集を用いた近似更新
    – :(l+1)*(l+1)行列
    – に対する定常ベクトル = 1
    , 2
    , … +1
    • 正確なPageRankベクトルに対する近似ベクトル
    は以下のように表せる
    22
    =
    11
    12

    21
    1 − 21
    =


    = 1
    , 2
    , …
    |

    View Slide

  23. Thank you for Listening!!!
    23

    View Slide