Google PageRankの数理 第6章〜第10章の輪講スライドです。
Google検索システムにおけるPageRank手法(2)M2 Jun HASHIMOTO1
View Slide
参考文献について• Google PageRankの数理– 共立出版,¥4725• 今日は第6~10章の内容の説明です2
Agenda• 前回の質問回答・復習• PageRankの計算について– 固有値・計算速度– 計算の高速化• ぶら下がりノードの考慮・適応的ベキ乗法・凝集• PageRankの更新について– リンク更新におけるPageRankの更新※今日はスライドが黒いです(数式多め)3
内容得点と人気得点の比率• おそらく企業秘密(探しても分からず…)– http://www.imaginary-design.net/blog/archives/2664“ランク付け自体は内容得点(コンテンツスコア)と人気得点(ポピュラリティスコア)の合計である合計得点(オーバーオールスコア)によって順位付けが導き出されるのですが、内容(内部)と人気(リンク)のそれぞれに対する配点は、その時々によって変化していきます。今のgoogleの流れは確実に内容重視になってきているというだけで、良質なコンテンツを創っていくことも立派なSEOなわけです。”
[復習]総和方程式の行列表現• ハイパーリンク行列H(n*n)– ノードi->jのリンクがあれば= 1||,それ以外0• :ページからの出リンクの個数• PageRankベクトルπ(1*n)• (2)式の行列表現: +1 = – Hは疎な行列– 平均的なwebページは出リンクが10個• O(10n)の計算量5
[復習]基本モデルに対する調整• ぶら下がり問題に対する解決策(確率的調整)– = + 1∗ – a:ぶら下がりノードベクトル• ぶら下がりノードなら= 1,そうでなければ0– この調整により,Sは確率的(stochastic)となる• 収束性の保証のための調整(原始的調整)– = + 1 − ∗ 1∗ – G:Google行列– α:パラメータ(ハイパーリンクに従う時間の比率)6テレポーテーション行列E
[復習]GoogleのPageRank調整手法• +1 = ,これだけ• Gに適用したベキ乗法で計算できる– 最大の2つの固有値を1, 2とすると,漸近的な収束の速さは, 21->0の速さ– Google行列では1= 1, 2≦ であるため,がおおよその収束の目安となる7
1= 1である理由• Gの固有値に1が存在…成分が全て1のベクトルpを適用するとGp=pとなる• 任意の行列Aに対し,絶対値が最大である固有値をrとすると,以下が成り立つ– || ≦ max• Gにおいて,任意の行に対し, = 1• || ≦ 1,r=1が存在するため,最大固有値は18
2≒ である理由• Gの固有値: = (1, 2, 3, … )• Sの固有値: = (1, 2, 3, … )– k=2,3,…nに対し= が成立• Webの世界におけるリンク構造から, ≒ 1– これにより≒ が示される9
正行列に対するペロンの定理• 正行列A,Aの固有値で絶対値が最大のものをrとすると,以下が成り立つ1. rは正2. rは単根3. = , > 0かつ || = 1となるベクトルが唯一存在10
Google行列Gに対するペロンの定理• 確率行列においてr=1(次回説明)– = に左から, 右からを乗算: = • Google行列を用いたPageRankの更新式– +1 = • :定常ベクトル=PageRankベクトル11
ベキ乗法が優れている理由• 1回のGの乗算->ほぼ()• 固有値計算のアルゴリズム:どんなに頑張っても(2)12 + 1 = = + 1 − = + ( + 1 − )Hは非常に疎(Sparse):1行あたり10個ほどの成分->O(10n)の計算量O(n)の計算量1
PageRank計算の高速化(1)• ぶら下がりノードの考慮13 + 1 = + ( + 1 − ) = (1112 )ND DNDD<-このように行列を入れ替えてやるND(Not dangling):非ぶら下がりノードD(dangling):ぶら下がりノード の計算量を削減可能
PageRank計算の高速化(2)• 適応型ベキ乗法– Kamvar et al.[2003]:一部分の”頑固な”ページの収束に時間がかかり,それ以外はより速く収束することを発見– − −1 < の際に要素iの計算を止める– 問題点:収束に関する証明がない• 途中で計算を止めた要素が本当の収束値か不明– とはいえベキ乗法によるPageRank計算の高速化に,現実的な貢献をしている14
[Site B]www.huga.com[Site A]www.hoge.comPageRank計算の高速化(3)-1• 凝集– WebPageのリンク構造を階層的に考える– 例:151 23 6547www.hoge.com www.huga.comページ1~7までのPageRankの計算hoge.comとhuga.com間のPageRankの計算+各サイト内のPageRankの計算
PageRank計算の高速化(3)-2• 7つのノードを2つのノード(各サイト)へと凝集• ノード間での遷移確率を以下のように仮定16www.hoge.com www.huga.com0.960.04 1(0.96 0.040 1)1212α = 0.9, = (0.5 0.5)の時,定常ベクトルは(0.3676 0.6324)HostRankベクトルと呼ぶ
PageRank計算の高速化(3)-3• www.hoge.comのPageRankベクトル17[Site A]www.hoge.com13721=0 1 0 00 0 1 01/3 1/3 0 1/30 0 0 012371237α = 0.9, = (0.25 0.25 0.25 0.25)の時,PageRankベクトルは(0.1671 0.3175 0.3483 0.1671)
PageRank計算の高速化(3)-4• www.huga.comのPageRankベクトル18[Site B]www.huga.com6541=0 1 00 0 11 0 0456456α = 0.9, = (1/3 1/3 1/3)の時,PageRankベクトルは(1/3 1/3 1/3)
PageRank計算の高速化(3)-5• 3つの定常ベクトルから近似のPageRankベクトルを算出19www.hoge.com www.huga.com1372654(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)凝集が機能し,計算量を減らすことができる
PageRankの更新-1• PageRankはGoogleにより毎月更新(GoogleDanceと呼ばれる)– Cho et al.[2000]:全ページの40%は一週間以内に変更される• 更新における変更点– i)ハイパーリンクの追加・削除(Hの要素のみ変更)– ii)ページの追加・削除(Gの大きさそのものが変更)20
PageRankの更新-2• リンク更新を扱う近似更新「近似凝集」– 更新前のPageRankベクトルを以下のように定義– 更新後のマルコフ連鎖状態空間Sを = ∪ に分割• 更新後のGoogle行列,PageRankベクトルを以下のように表す21 = (1, 2, … ) =11122122 :更新後に定常確率が一定の影響を受けるノード :更新後も定常確率が著しい影響を受けないノード = (1, 2, … |+1, +2, … ) の中で, に属するノードのPageRankを行ベクトルとする
PageRankの更新-3• 近似凝集を用いた近似更新– :(l+1)*(l+1)行列– に対する定常ベクトル = 1, 2, … +1• 正確なPageRankベクトルに対する近似ベクトル は以下のように表せる22 =1112 211 − 21 = = 1, 2, … |
Thank you for Listening!!!23