Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google PageRank勉強会#2 / Google PageRank 2011-07-06
Search
Jun Hashimoto
July 06, 2011
Technology
0
270
Google PageRank勉強会#2 / Google PageRank 2011-07-06
Google PageRankの数理 第6章〜第10章の輪講スライドです。
Jun Hashimoto
July 06, 2011
Tweet
Share
More Decks by Jun Hashimoto
See All by Jun Hashimoto
月1万件のデータ移行を 自動化するための3つの秘訣 / 3 tips for automating customer data transfer
hashijun
0
280
CSスタッフの能力を最大限に引き出すための3つの工夫 / 3 approaches for improving cs staff creativity
hashijun
2
590
一人ひとりに寄り添ったCRMツールによるカスタマーサポートの新しい形 / New kindly approach of customer support with CRM tool
hashijun
0
2.4k
モンストのお問い合わせフォームを支える技術 / Dive into mixi night 2018-08-22
hashijun
1
1.7k
Google PageRank勉強会#1 / Google PageRank 2011-06-22
hashijun
0
210
Other Decks in Technology
See All in Technology
Qiita埋め込み用スライド
naoki_0531
0
5.3k
多様なメトリックとシステムの健全性維持
masaaki_k
0
120
スケールし続ける事業とサービスを支える組織とアーキテクチャの生き残り戦略 / The survival strategy for Money Forward’s engineering.
moneyforward
0
110
ネットワーク可視化の世界
likr
6
4.3k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
190
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
310
Wantedly での Datadog 活用事例
bgpat
2
780
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
27
24k
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
0
220
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
170
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
2
320
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Fireside Chat
paigeccino
34
3.1k
Testing 201, or: Great Expectations
jmmastey
41
7.1k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
What's in a price? How to price your products and services
michaelherold
244
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
How to Ace a Technical Interview
jacobian
276
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Thoughts on Productivity
jonyablonski
68
4.4k
Transcript
Google検索システムにおける PageRank手法(2) M2 Jun HASHIMOTO 1
参考文献について • Google PageRankの数理 – 共立出版,¥4725 • 今日は第6~10章の内容 の説明です 2
Agenda • 前回の質問回答・復習 • PageRankの計算について – 固有値・計算速度 – 計算の高速化 •
ぶら下がりノードの考慮・適応的ベキ乗法・凝集 • PageRankの更新について – リンク更新におけるPageRankの更新 ※今日はスライドが黒いです(数式多め) 3
内容得点と人気得点の比率 • おそらく企業秘密(探しても分からず…) – http://www.imaginary-design.net/blog/archives/266 4 “ランク付け自体は内容得点(コンテンツスコア)と人気得点(ポピュラリ ティスコア)の合計である合計得点(オーバーオールスコア)によって順 位付けが導き出されるのですが、内容(内部)と人気(リンク)のそれぞ れに対する配点は、その時々によって変化していきます。
今の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 とすると,漸近的な 収束の速さは, 2 1 ->0の速さ – Google行列では1 = 1, 2 ≦ であるため,が おおよその収束の目安となる 7
1 = 1である理由 • Gの固有値に1が存在…成分が全て1のベクト ルpを適用するとGp=pとなる • 任意の行列Aに対し,絶対値が最大である固 有値をrとすると,以下が成り立つ –
|| ≦ max • Gにおいて,任意の行に対し, = 1 • || ≦ 1,r=1が存在するため,最大固有値は1 8
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 − ) = ( 11 12 ) ND D ND D <-このように行列を入れ替えてやる ND(Not dangling):非ぶら下がりノード D(dangling):ぶら下がりノード の計算量を削減可能
PageRank計算の高速化(2) • 適応型ベキ乗法 – Kamvar et al.[2003]:一部分の”頑固な”ページの 収束に時間がかかり,それ以外はより速く収束す ることを発見 –
− −1 < の際に要素iの計算を止める – 問題点:収束に関する証明がない • 途中で計算を止めた要素が本当の収束値か不明 – とはいえベキ乗法によるPageRank計算の高速化 に,現実的な貢献をしている 14
[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の計算
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ベクトルと呼ぶ
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)
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)
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) 凝集が機能し,計算量を減らすことができる
PageRankの更新-1 • PageRankはGoogleにより毎月更新(Google Danceと呼ばれる) – Cho et al.[2000]:全ページの40%は一週間以内に 変更される •
更新における変更点 – i)ハイパーリンクの追加・削除(Hの要素のみ変更) – ii)ページの追加・削除(Gの大きさそのものが変更) 20
PageRankの更新-2 • リンク更新を扱う近似更新「近似凝集」 – 更新前のPageRankベクトルを以下のように定義 – 更新後のマルコフ連鎖状態空間Sを = ∪ に分割
• 更新後のGoogle行列,PageRankベクトルを以下のように 表す 21 = (1 , 2 , … ) = 11 12 21 22 :更新後に定常確率が一定の影響を受けるノード :更新後も定常確率が著しい影響を受けないノード = (1 , 2 , … |+1 , +2 , … ) の中で, に属するノードの PageRankを行ベクトルとする
PageRankの更新-3 • 近似凝集を用いた近似更新 – :(l+1)*(l+1)行列 – に対する定常ベクトル = 1 ,
2 , … +1 • 正確なPageRankベクトルに対する近似ベクトル は以下のように表せる 22 = 11 12 21 1 − 21 = = 1 , 2 , … |
Thank you for Listening!!! 23