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
280
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
300
CSスタッフの能力を最大限に引き出すための3つの工夫 / 3 approaches for improving cs staff creativity
hashijun
2
610
一人ひとりに寄り添ったCRMツールによるカスタマーサポートの新しい形 / New kindly approach of customer support with CRM tool
hashijun
0
2.5k
モンストのお問い合わせフォームを支える技術 / Dive into mixi night 2018-08-22
hashijun
1
1.7k
Google PageRank勉強会#1 / Google PageRank 2011-06-22
hashijun
0
220
Other Decks in Technology
See All in Technology
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.5k
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
200
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
130
事業を差別化する技術を生み出す技術
pyama86
2
480
AIエージェント入門
minorun365
PRO
33
19k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.9k
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
110
E2Eテスト自動化入門
devops_vtj
1
110
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
160
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
140
データモデルYANGの処理系を再発明した話
tjmtrhs
0
220
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building an army of robots
kneath
303
45k
A better future with KSS
kneath
238
17k
Writing Fast Ruby
sferik
628
61k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Site-Speed That Sticks
csswizardry
4
410
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
It's Worth the Effort
3n
184
28k
Rails Girls Zürich Keynote
gr2m
94
13k
Speed Design
sergeychernyshev
27
810
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