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
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
420
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
670
Qiita埋め込み用スライド
naoki_0531
0
860
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
1
110
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
180
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.3k
The World Runs on Bad Software
bkeepers
PRO
65
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Designing Experiences People Love
moore
138
23k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Code Review Best Practice
trishagee
65
17k
BBQ
matthewcrist
85
9.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