You are on page 1of 85

くらしの中のコンピュータと

数学
—Webページの重要度を定めるPageRankの技術—

照井 章
(筑波大学 数理物質科学研究科 数学専攻)
2011年5月13日
今回のお題

World Wide Web


Webサーフィンには
検索(サイト)が必要不可欠

数学特別講義I 検 索
検索結果が約22万件
検索結果が約22万件 筑波大学の数学特別講義I
(オープンコースウェア)
検索結果が約22万件 筑波大学の数学特別講義I
(オープンコースウェア)

誰のブログだ、これは!?
大量の検索結果から
より重要なwebページを
優先的に取り出すには
どうすればよいか?
PageRank

定量的なwebページの重要度の指標

≤ ≤ ≤ ≤ ≤
PageRank

定量的なwebページの重要度の指標

≤ ≤ ≤ ≤ ≤

の話をします!
アイデア実現のステップ

モデル化 開 発 実 装


アイデア実現のステップ

モデル化 開 発 実 装

対象を観察し、問題
を数学の言葉で表す
アイデア実現のステップ

モデル化 開 発 実 装

モデル化した問題の
解法をつくる
アイデア実現のステップ

モデル化 開 発 実 装

計算機のプログラムや
システムを作って動かす
今回の話の流れ

モデル化 開 発 実 装

マルコフ過程 線形代数 いろいろ


マルコフ過程

確率論で扱われる
確率過程の一つ
例:ある地方の明日の天気

今日の
天気

毎日、今日の天気から
ある決まった確率で推移
今日が晴のとき
明日の天気の確率
100%

80%

60%

40%

20%

0%
今日が曇のとき
明日の天気の確率
100%

80%

60%

40%

20%

0%
今日が雨のとき
明日の天気の確率
100%

80%

60%

40%

20%

0%
時間の推移に伴う
日々の天気の確率の推移

今日 明日 あさって

確率過程
今後の仮定(2つ)
仮定1: マルコフ性
おととい 昨日 今日 明日

3日前 あさって
明日の各天気の確率は
今日の天気にのみ依存する
「マルコフ過程」
仮定2: 時間について一様

おととい 昨日 今日 明日

3日前 あさって
翌日の各天気に推移する
確率は、毎日常に一定
確率過程を計算しよう
推移図(有向グラフ)

1/2

1/2 2/5  1/10 1/2


2/5 3/10
 1/10 
1/5

ノード(節) エッジ(辺)
推移図を表にまとめる

明日の天気
1/2

1/2 2/5  1/10 1/2 今 1/2 2/5 1/10


2/5 3/10 日
 1/10  の
1/5

【問題1】表を完成させよう!
推移図を表にまとめる

明日の天気
1/2

1/2 2/5  1/10 1/2 今 1/2 2/5 1/10


2/5 3/10 日
 1/10 
1/5
の 2/5 1/2 1/10

気 1/5 3/10 1/2

【問題1】表を完成させよう!
表から推移確率行列を定義
する
明日の天気

 
1/2 2/5 1/10
今 1/2 2/5 1/10 P = ? ? ? 

? ? ?
の 2/5 1/2 1/10

気 1/5 3/10 1/2

【問題2】推移確率行列 P を完成させよう!
確率分布
ある時点での「晴」「曇」「雨」それぞれの確率を
順に並べた行ベクトル

(  ,   ,   )

各要素は非負で、それらの総和は1
例:「今日の天気は晴」の
確率分布

� �
π(0) = 1 0 0
明日の天気の確率分布を
計算すると
π(1) = π(0) P
 
� � 1/2 2/5 1/10
= 1 0 0 2/5 1/2 1/10
1/5 3/10 1/2
� �
= 1/2 2/5 1/10
あさっての天気の確率分布を
計算すると

π(2) = π(1) P
 
� � 1/2 2/5 1/10
= 1/2 2/5 1/10 2/5 1/2 1/10
1/5 3/10 1/2
� �
= 43/100 43/100 7/50
n日後の天気の確率分布を
計算すると
π(n) = π(n − 1) P
= π(n − 2) P 2

..
.
= π(0) P n
例:水戸における1967年~1996年の
30年間の5月13日の天気出現率

� �
π(0) = 0.5 0.167 0.333
4日後の天気の確率分布を
計算すると

π(4) = π(0) P
4
� �
= 0.405 0.424 0.171
定常分布
今日の天気を「晴」と仮定して
10日後までの天気の確率分布を計算すると
� �
π(0) = 1 0 0
� �
π(1) = 0.5 0.4 0.1
� �
π(2) = 0.43 0.43 0.14
� �
π(3) = 0.415 0.429 0.156
� �
π(4) = 0.410 0.427 0.162
� �
π(5) = 0.409 0.426 0.165
� �
π(6) = 0.408 0.426 0.166
� �
π(7) = 0.408 0.426 0.166
� �
π(8) = 0.407 0.426 0.167
� �
π(9) = 0.407 0.426 0.167
� �
π(10) = 0.407 0.426 0.167
水戸における5月13日の天気出現率から
10日後までの天気の確率分布を計算すると
� �
π(0) = 0.5 0.167 0.333
� �
π(1) = 0.383 0.383 0.233
� �
π(2) = 0.392 0.415 0.193
� �
π(3) = 0.401 0.422 0.177
� �
π(4) = 0.405 0.424 0.171
� �
π(5) = 0.406 0.425 0.168
� �
π(6) = 0.407 0.426 0.167
� �
π(7) = 0.407 0.426 0.167
� �
π(8) = 0.407 0.426 0.167
� �
π(9) = 0.407 0.426 0.167
� �
π(10) = 0.407 0.426 0.167
どのような確率分布から出発しても
日数が十分経つと、同一の確率分布に
落ち着くように見える
� � � �
π(0) = 1 0 0 π(0) = 0.5 0.167 0.333
� � � �
π(1) = 0.5 0.4 0.1 π(1) = 0.383 0.383 0.233
� � � �
π(2) = 0.43 0.43 0.14 π(2) = 0.392 0.415 0.193
� � � �
π(3) = 0.415 0.429 0.156 π(3) = 0.401 0.422 0.177
� � � �
π(4) = 0.410 0.427 0.162 π(4) = 0.405 0.424 0.171
� � � �
π(5) = 0.409 0.426 0.165 π(5) = 0.406 0.425 0.168
� � � �
π(6) = 0.408 0.426 0.166 π(6) = 0.407 0.426 0.167
� � � �
π(7) = 0.408 0.426 0.166 π(7) = 0.407 0.426 0.167
� � � �
π(8) = 0.407 0.426 0.167 π(8) = 0.407 0.426 0.167
� � � �
π(9) = 0.407 0.426 0.167 π(9) = 0.407 0.426 0.167
� � � �
π(10) = 0.407 0.426 0.167 π(10) = 0.407 0.426 0.167
実際、ある条件下では
同一の確率分布に落ち着く!

定理:既約かつ非周期的なマルコフ過程にお
π(n) はある唯一のベクトル 
いて、   α に収束す
る.
Pの固有値1に属する固有ベクトル

α = αP
定常分布
【問題3】天気の例題の
定常分布を求めよう
基本的には、以下の連立1次方程式を解けばよい:

α = αP
 
� � � � 1/2 2/5 1/10
x y z = x y z 2/5 1/2 1/10
1/5 3/10 1/2

要素の総和を1に規格化することに注意
Webページの相互関係を
考えよう!
Webページの相互リンク
(ハイパーリンク)の例(図2)

2つの仮定
仮定1:各webページから自分以外の
すべてのwebページに到達可能
仮定2:これらのwebページ
以外からのリンクの出入りはない
Webページのリンク関係を
有向グラフで考える(図3)

Page 3 Page 6

Page 1 Page 2 Page 4

Page 5

Page 7

ノード
エッジ
天気の推移図との対応関係

1/2
Page 3 Page 6

1/2 2/5  1/10 1/2 Page 1 Page 2 Page 4

2/5 3/10 Page 5

 1/10  Page 7
1/5

天気 Webページ
天気の推移 Webページ間のリンク
天気が推移する確率 ??? 何を与える?
Random Surfer Model
1/n

1/n

1/n

1/n

n個のハイパーリンクから1個を
無作為に選んで進む(確率1/n)
Random Surfer Model による
推移図(図4)
Random Surfer Model による
確率過程の計算
確率分布
ある時点で “Page 1”, ... , “Page 7” それぞれを
閲覧している確率を順に並べた行ベクトル

(  ,   , ... ,   )

各要素は非負で、それらの総和は1
確率分布がマルコフ過程に従うと
仮定し、推移確率行列を求める

 
? ? ? ? ? ? ?
? ? ? ? ? ? ?
 
? ? ? ? ? ? ?
 
P =
? ? ? ? ? ? ?
? ? ? ? ? ? ?
 
? ? ? ? ? ? ?
? ? ? ? ? ? ?

【問題4】推移確率行列 P を求めよう!
マルコフ過程の既約性と非周期性を
仮定すると、定常分布が求まる

α = αP

定常分布

(  ,   , ... ,   )


定常分布から各webページの
PageRank を定める
十分な回数の試行の後
定常分布
各webページを訪問している確率

(  ,   , ... ,   )

各webページを訪問する確率を
PageRank と定義する!
PageRank の意味(1)

被リンク数がより
多いほど
PageRank はより
大きい傾向がある
PageRank の意味(2)
PageRank がより
大きなwebページ
からのリンク数が
多いほど
PageRank はより
大きい傾向がある
【問題5】PageRankを
求めてみよう!
定常分布

α = αP
要素の総和を1に規格化することに注意

(  ,   , ... ,   )


現実のwebページの
相互関係に即したモデルの修正
「仮定1:各webページから自分以外の
すべてのwebページに到達可能」
「仮定2:これらのwebページ以外から
のリンクの出入りはない」
仮定が成り立たない例
(1)

入るリンクが
あっても
出ていくリン
クがない
仮定が成り立たない例
(2)

出ていくリン
クがあっても
入るリンクが
ない
仮定が成り立たない例
(3)
リンクの相互
関係が一部で
閉じていて、
他のwebペー
ジからの
出入りがない
このようなwebページがあると
マルコフ過程の既約性や
非周期性が必ずしも
成り立たない。どうする!?
Random Surfer Model を
一部修正
1/n

1/n

85% 1/n
1/n

n個のハイパーリンクから1個を
無作為に選んで進む(確率1/n)

全く異なるwebページを無作為に
15% 選んでジャンプする!(確率1/N)
一部修正した Random Surfer Model の
推移確率行列

85%の部分 15%の部分
 
1/N ··· 1/N
 .. .. 
P = 0.85P + 0.15  .

. 
1/N ··· 1/N
もともとの
Random
Surfer Model N: 行列の次元
【問題6】

Random Surfer Model(または


その修正)に対する意見や
改善のためのアイデアなど
現実世界でのPageRankの計算と
webページ検索に求められる技術
巨大次元の行列の
固有ベクトルの計算
実際の推移確率行列の次元
 
1/N ··· 1/N
 .. .. 
P = 0.85P + 0.15  .

. 
1/N ··· 1/N

α = αP �

行列の次元 (=N) は全世界に存在するweb


ページの個数に等しくする必要がある
これまでにGoogleが処理した
webページ数(単位:百万)
1000000
1,000,000
900,000
800,000
700,000
600,000
500,000
400,000
300,000
200,000
100,000
26 1000
0
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008

これだけの個数のwebページをどうやって集めるか?
実際の推移確率行列の次元
 
1/N ··· 1/N
 .. .. 
P = 0.85P + 0.15  .

. 
1/N ··· 1/N

α = αP �

これだけの次元の推移確率行列から
定常分布をどのように効率的に計算するか?
Webページの検索技術
検索語の候補となる
キーワードの抽出と整理
実用的なインデックス
(索引)の構築
高速な検索とPageRankに
沿った検索結果の並べ替え
効率的かつ安定な
サービス提供のための技術
大量の検索要求に対する
負荷分散と応答性の保持
データの分散と共有
障害時のデータ保持と
迅速な復旧
地球環境保護と
省エネルギー
アイデアの実現には
ありとあらゆる知恵が必要
知恵を生み出す力を身に
つけるために大学で学ぶ
レポート課題

配布資料の問題

本講義の感想
レポート課題

配布資料の問題 Thank
you!

本講義の感想

You might also like