$30 off During Our Annual Pro Sale. View Details »

PageRankとその応用

 PageRankとその応用

More Decks by NearMeの技術発表資料です

Transcript

  1. 0
    PageRankとその応用
    2023-07-14 第52回NearMe技術勉強会
    Takuma Kakinoue

    View Slide

  2. 1
    ページランクの概要
    ● ウェブページのランク付けを行うアルゴリズム。
    ● ページをノード、リンクをエッジとして右図のような有
    向グラフでネットワークを表す。
    ● ランクの定義
    ○ 被リンク数が多いページほどランクが高い(ペー
    ジ1)。
    ○ また被リンク数が多いページからリンクされてい
    るページもランクが高い(ページ5)。
    論文:The PageRank Citation Ranking : Bringing Order to the Web, 1998, L.Page

    View Slide

  3. 2
    ページランクの算出
    ページランクは、隣接行列a(実際にはランダム
    ジャンプなども考慮してGoogle行列という行列が
    用いられる)の固有値問題を解くことで求められ
    る。
    import numpy as np
    a = np.array([[0, 1/2, 0, 1/2, 0, 0],
    [0, 0, 0, 0, 0, 1],
    [0, 0, 0, 1, 0, 0],
    [0, 1, 0, 0, 0, 0],
    [0, 1, 0, 0, 0, 0],
    [1/6, 1/6, 1/6, 1/6, 1/6, 1/6]])
    ret = np.linalg.eig(a.T)
    pr = np.abs(ret[1][:, 0] / np.sum(ret[1][:, 0]))
    for i in range(6):
    print("node ", i, ":", '{:.3f}'.format(pr[i]))
    node 4 : 0.061
    node 5 : 0.364
    node 1 : 0.303
    node 0 : 0.061
    node 3 : 0.152
    node 2 : 0.061

    View Slide

  4. 3
    ページランクの応用
    ● 競馬の勝敗予想(https://alphaimpact.co.jp/2017/07/13/pagerank/)
    ○ 馬をノード、勝敗をエッジ(馬Aが馬Bに負けた場合、AからBにエッジを結ぶ)とする対戦ネット
    ワークを過去データから作り、固有値問題を解くことで強い馬が判る。
    ● 企業間取引データから企業の成長率を予測
    (https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=71529&file_id=1&file_no=1)
    ○ 企業をノード、取引によるお金の流れをエッジとした有向グラフを作成。
    ○ 「単位リンク数あたりのページランク」と「企業の成長率」の間に相関があることを発見。

    View Slide

  5. 4
    Thank you

    View Slide