ネットワークと学習理論 -...

28
41 ネットワークと学習理論 社会的ネットワークが情報配布共有のスピードや範囲めたり意見形成流行などにきな影響えているということにくのづいて いるこのグローバルなネットワークの時代えて以下のような疑問じて くる社会的ネットワークにする分析どのような現状にあるのだろうからに社会科学のみならず数学やコンピュータをいたネットワーク分析関連理論方法にネットワーク分析のために開発されたソフトウェア経済 においても利用可能なのだろうかいま現在異なる信念をもつ個人のグループや 組織意見交換っていくと共通信念倫理観をもつにいたるのだろ うかまたネットワークをじて意見収集けがわれるとき個人のグ ループや組織信念倫理観きな影響えるのはなのかさらにはど れくらいのさで個人やグループ組織ぶことができるのかまた社会のな かで散在している情報たとえばつに集約されたとするとその集約された正確なのだろうかそしてこれらの疑問をネットワークの構造関連付けなが 考察することが可能なのだろうかキーワード社会的ネットワークソフトウェア学習理論DeGroot 目次 はじめに ネットワーク分析 ネットワークを表現する DeGroot モデル おわりに

Upload: others

Post on 20-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

41

ネットワークと学習理論

菅   準 一

社会的ネットワークが、情報の配布・共有のスピードや範囲を決めたり、様々な意見の形成や流行などに大きな影響を与えているということに多くの人が気づいている。このグローバルなネットワークの時代を迎えて、以下のような疑問が生じてくる。社会的ネットワークに関する分析は、どのような現状にあるのだろうか。さらに社会科学のみならず、数学やコンピュータを用いたネットワーク分析に関連する理論や方法(特にネットワーク分析のために開発されたソフトウェア)は、経済学においても利用可能なのだろうか。いま現在異なる信念をもつ個人のグループや組織の間で、意見交換を行っていくと、共通の信念や倫理観をもつにいたるのだろうか。またネットワークを通じて意見の収集と重み付けが行われるとき、個人のグループや組織の信念や倫理観に最も大きな影響を与えるのは誰なのか。さらにはどれくらいの速さで個人やグループ、組織は学ぶことができるのか。また、社会のなかで散在している情報が、たとえば一つに集約されたとすると、その集約された情報は正確なのだろうか。そしてこれらの疑問をネットワークの構造と関連付けながら考察することが可能なのだろうか。

キーワード:社会的ネットワーク、ソフトウェア、学習理論、DeGroot

目次はじめに1.ネットワーク分析2.ネットワークを表現する3.DeGroot モデルおわりに

Page 2: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

はじめに

個人と個人や個人と組織、組織と組織を結びつけている社会的ネットワークが、情報の配布・共有のスピードや範囲を決めたり、様々な意見の形成や流行などに大きな影響を与えているということに多くの人が気づいている。インターネットを通じて多くの人々や組織が緊密に結びつき、かつてない速さで情報が交換される。このグローバルなネットワークの時代を迎えて、以下のような疑問が生じてくる。社会的ネットワークに関する分析は、どのような現状にあるのだろうか。ソシオメトリー

に代表されるような社会的ネットワークの構造を記述し分析するための諸概念や諸理論は経済分析にどの程度影響をおよぼしているのだろうか。またそれらの諸概念や諸理論は利用可能なのだろうか。さらに社会科学のみならず、数学やコンピュータを用いたネットワーク分析に関連する理論や方法(特にネットワーク分析のために開発されたソフトウェア)は、経済学においても利用可能なのだろうから、経済学教育の中にどのように取り入れていくのがよいのだろうか。必要最低限の知識や技術はどのようなものになるのか。いま現在異なる信念をもつ個人のグループや組織の間で、意見交換を行っていくと、共通

の信念や倫理観をもつにいたるのだろうか。それとも信念や倫理観は一つに収束しないで、異なる信念をもつ個人のグループや組織がいくつかできるのだろうか。またネットワークを通じて意見の収集と重み付けが行われるとき、個人のグループや組織の信念や倫理観に最も大きな影響を与えるのは誰なのか。さらにはどれくらいの速さで個人やグループ、組織は学ぶことができるのか。また、社会のなかで散在している情報が、たとえば一つに集約されたとすると、その集約された情報は正確なのだろうか。そしてこれらの疑問をネットワークの構造と関連付けながら考察することが可能なのだろうか。

1 ネットワーク分析

1.1 ネットワークの数値解析について

ネットワークに関する分析は多岐にわたっており、その全貌を捉えることは難しいことだが、三つの大きな流れが目に留まる。その一つ目は数学の一領域であるグラフ理論に関連するもの、二つ目はソシオメトリーに代表されるような社会的ネットワーク分析、三つ目は複雑ネットワーク理論である。かなり大雑把な捉え方にはなるが、最初の二つは既にあるネットワーク上で定義された問題を解いたり、ネットワークの構造上の特徴を捉えたりすることを主な目的とするスタティックな分析である。三つ目の複雑ネットワーク理論は、現実のネットワークに共通する構造的特徴(スケールフリー性、スモールワールド性、クラスター性)を抽出すると同時に、そのような特徴をもつネットワークを簡単なアルゴリズムを用いて生成するダイナミックな分析である。

42

Page 3: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

比較的小さなネットワークに関わる分析と大規模なネットワークの分析という視点もあるであろう。また、ネットワークの分析には分析用のソフトウェアを使った可視化や統計解析、ネット

ワークの生成が欠かせないものとなってきている。そのために、ネットワークについて学ぶ場合にも、ネットワークを分析するソフトウェアを用いながら学ぶことが必要になる。ネットワークを分析するソフトウェアは、有償のもの無償のものが数多くある。その中で、学生のように研究予算を持たないものが使える無償ソフトにしぼってみると、Pajekやigraphなどが使い易いのではないかと思える。PajekはWindows用ソフトとして定評があり、日本語に翻訳された解説書も既に出版されている。1 Windowsユーザーであれば、バイナリファイルをダウンロードしてインストールすれば、解説書をみながら簡単に使い始めることができる。また、igraphは、CライブラリかRパッケージ、Pythonの拡張モジュールとして提供されているので、使い方に応じたものをダウンロードする必要がある。ここでは、簡単に使い始めることができる、Rパッケージとしてのigraphを使いながらネットワークについて考えてみる。

2 ネットワークを表現する

2.1 グラフとネットワーク

ネットワークをいかに表現するかを考えるとき、ネットワークとはどういうものかを明らかにする必要があり、その捉え方にはいろいろな考えがある。ここでは、グラフとの関連でネットワークを定義すると、グラフの点または(および)辺に物理的意味をもたせたものがネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。より一般的にはネットワークはグラフとそのグラフの点や線に付与された追加的な情報とで構成され、その性質を究明するのがネットワーク理論であるといえる。グラフは、システム(組織、体系)の構造(ないしは位相(トポロジィ))を表現するだけであり、その要素に関してより立ち入った情報をなんら与えるものではない。他方、ネットワークは、ある追加的な、数量情報を伝達する。2 したがってネットワークを表現するためには、その構造を表現するグラフの表現あるいは定義から始めるのが自然である。有向の(方向づけられた)グラフ(directed graph)は、通常縮約されてダイグラフ(digraph)と呼ばれ、そして有向の辺は弧(arc)と呼ばれる。方向はネットワークにおいてもしばしば重要であり、ネットワークの基礎をなす構造はグラフであるよりはむしろダイグラフであ

43

1 『Pajekを活用した社会ネットワーク分析』など2 『よくわかるネットワークのアルゴリズム』6ページ

Page 4: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

ることがしばしばでる。ネットワークの理論は、組み合わせ理論の一つの部門であると考えることができる。…組

み合わせ論の大方の問題は、次の表題の一つあるいはそれ以上に分類することができる。3

1.存在の問題(existence problem)…は存在するか。…することは可能か。2.構成の問題(construction problem)…が存在するならば、いかにしてそれを構成できるか。

3.数え上げの問題(enumeration problem)いくつの…が存在するか(勘定の問題)。それらをすべて列挙できるか(列挙の問題)

4.最適化の問題(optimization problem)いくつかの可能性が存在するとき、そのうちのどれが最善であるか。

2.2 グラフ

定義1 グラフ(graph)空でない集合 V とその2点集合からなる集合 E⊂{{x, y} : x, y ∈V, x ≠ y} を組にした G =

{V, E} をグラフという。V の元を頂点(vertex)、E の元を辺(edge)と呼ぶ。V の2点 x, y

が {x, y} ∈ Eを満たすとき、x, y は隣接しているといい、x ~ yで表す。隣接している頂点x, y をつなぐ辺を exyと記す。集合の要素の数を n = |V|, m = |E| とすると、nはグラフの頂点の数であり、m はグラフの辺の数である。つまり、頂点の集合と頂点の間にある隣接関係を表したものがグラフであり、以下のよう

に配列やリストを使って表すことができる。4

1.配列を用いたグラフの表現(a)辺行列(edge matrix)

各行が一つの辺を表す m × 2 行列(b)接続行列(incident matrix)

各列が一つの辺を表す n × m行列(c)隣接行列(adjacency matrix)n × n行列

ⅰ.二値グラフ(binary graph)隣接行列に0か1の値を入れて、関係の有無だけを表現

44

3 同書13ページ4 ある辺の両端点が等しいとき、ループ(loop)という。二つの頂点間に二つ以上の辺があるとき、多重辺(multiedge)という。グラフはループのあるなしと多重辺のあるなしにより、4つに分類できるが、そのうち、ループを含むグラフ(多重辺ある・なし)を擬グラフ(psuedo graph)という。ループがないグラフは次のように二つに分けられる。どの二つの頂点間にも一つの辺しかなく、ループもないグラフを単純グラフ(simple graph)という。ループがなく、いくつかの頂点間に二つ以上の辺があるようなグラフを多重グラフ(multi graph)という。

Page 5: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

ⅱ.多値グラフ(valued graph)関係の強さやノード間の距離を表現するために、0や1以外の適当な数値を代入する

2.リストを使った表現配列では隣接しないものまで保存していた。リストで無駄を省くことができる。隣接リスト(adjacency list)(a)単純なリスト

各頂点について、1つの辺でその頂点とつながっている全ての他の頂点のリストを作る(これがその頂点の「隣接リスト」である)。

(b)incidence list

頂点のみならず辺のリストを加える定義2 グラフを構成する頂点の次数(degree)頂点が持つ辺の数をその頂点の次数という。グラフが有向グラフのケースでは、頂点に入

ってくる辺の数である入次数(indegree)と頂点から出て行く辺の数である出次数(outdegree)を考える。定義3 ウォーク(walk)、トレイル(trail)、パス(path)、ツアー(tour)、サイクル(cycle)5

x0, x1, … , xn∈Vが x0~ x1~ … ~ xnをみたすとき、長さ nのウォーク(walk)という。ここで、頂点 xi と xi + 1( i = 1, … , n) をつなぐ辺を ei + 1 = {xi, xi+1} ( i = 1, … , n) と表すと、ウォークは頂点とそれらを結ぶ辺が交互に現れる次のような形 x0, e1, x1, … , xn-1, en, xn として表すことができる。ここで x0, x1, … , xn の中には同じものがあってもよいし、e1, e2,

… , en の中に同じものがあってもよい。ウォーク x0, e1, x1, … , xn-1, en, xn で x0, x1, … , xn

がすべて異なるものを長さ n の道(path)と呼ぶ。またウォーク x0, e1, x1, … , xn-1, en, xn

で e1, e2, … , enがすべて異なるものをトレイル(trail)という。さらにトレイルであって、始点と終点が等しくなっているものをツアー(tour)という。旅に例えるならば、何カ所かの都市を回って出発地点に戻ってくるのであるが、一度通った道は通ることはできないが、一度訪れた都市をもう一度訪ねてもよいのがツアーである。また、一度訪れた都市をもう一度訪ねてはいけないという条件をツアーに加えると、サイクル(cycle)になる。ウォークx0, e1, x1, … , xn-1, en, xnは、n ≥ 3 で x0, x1, … , xn-1がすべて異なり、xn = x0となっているとき、長さ n のサイクル(cycle)と呼ばれる。通常、サイクルは(比喩に用いた旅ほどには出発点を重視しないので、x0, e1, x1, … , xn-1, en, x0 がサイクルであれば、x1, e2, x2, … ,

45

5 グラフ理論の用語法の一つとして、ウォークをパス(path)とよび、トレイルを初等路(elementary path)、パスを単純路(simple path)、と呼ぶ仕方もある。このときツアーは初等閉路であり、サイクルは単純閉路とよぶ

Page 6: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

xn-1, en, x0, e1, x1などもサイクルであり、それらは区別しない。6

2.3 連結および連結成分

1.無向グラフの連結性

定義4 無向グラフ G の二つの頂点 x, y ∈ Vをつなぐウォークが存在するとき、xと yは連結している(connected)という。部分集合 V'⊆ Vの任意の2点が連結しており、同じ性質をもつ部分集合のうちの極大部分集合であるとき、V'をグラフ G の連結成分(connected

component)という。任意の点 x ∈ V は、どれかの連結成分に属し、また、異なる連結成分 Vi と Vj は互いに

素である(Vi ∩ Vj = 0)。したがって、グラフ G のすべての連結成分の族 {V1, V2, … , Vk}

は Vの分割である。グラフ G の連結成分が一つであるとき、グラフ G は連結であるという。

2.有向グラフの連結性

定義5 有向グラフ G の二つの頂点 x, y∈ Vについて、xから yへの有向路が存在するとき、xから yへ到達可能(reachable)という。xから yへ到達可能であると同時に yからxへも到達可能であるなら、二つの頂点 x と y は強連結(strongly connected)しているという。部分集合 V'⊆ Vの任意の2点が強連結しており、同じ性質をもつ部分集合のうちの極大部分集合であるとき、V' あるいはその生成部分グラフ G = G [V'] をグラフ G の強連結成分(strongly connected component)という。グラフ G のすべての強連結成分の族 {V1, V2, … , Vk} は Vの分割である。グラフ G の強

連結成分が一つであるとき、グラフ G は強連結であるという。定義6 カットとカット関数

G = (V, E) を連結無向グラフとする。辺集合 F⊆ Eを G から除いて得られるグラフ G' =

(V, E - F) が連結でないとき、Fをカットセット(cut‑set切断集合)という。カットセット Fが一つの辺 eからなる(つまり F = {e})とき、この eを橋(bridge)と

いう。カットセットの作り方点集合 X, Y⊆ Vに対して、X と Y を橋渡しする辺の集合を E (X, Y; G ) = {{x, y} ∈ E | x

∈ X, y∈ Y} とすると、Vの空でない真部分集合 Xを元に作った Vの分割 (X, V - X) を橋渡

46

6 頂点 xixi+1をつなぐ辺が2つ以上ある多重グラフの場合には、ウォークを表すためには、2つ以上の辺のどれを通るかを指定しないといけない。したがって、ウォークは x0e1x1e2

… enxnのように辺 ej ( j = 1,… , n) を必ず指定する必要がある。各頂点を結ぶ辺が一つしかない単純グラフでは、辺を省略して、頂点の列 x0, x1, … , xnとしてウォークを表すことができる。一つの点も長さ0の閉路であり、ループは長さ1の閉路である。長さ1以上の閉路を持たない無向グラフとして森や木を定義する。

Page 7: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

しする辺集合 E (X, V - X ; G ) = {{x, y} ∈ E | x∈ X, y∈ V - X} をグラフ Gから取り除くことで、G は Xと V - Xの生成部分グラフ G [X] と G [V - X] に分かれる。7 このように真部分集合 X⊂ Vをもとに作成したカットセット(あるいは Xそのもの)をカット(cut)という。定義7 グラフ Gの連結度(connectivity)1.点連結度連結なグラフ G から k個の点を取り除いて G を非連結にする操作を k-点切断というが、 Gを k-点切断する kのうちの最小の kを点連結度という。

2.辺連結度連結なグラフ G から k個の辺を取り除いて G を非連結にする操作を k-辺切断というが、Gを k-辺切断する kのうちの最小の kを辺連結度という。

定義8 部分グラフと生成部分グラフ(誘導部分グラフ)G = {V, E} を無向グラフあるいは有向グラフとする。Vと Eの部分集合 X⊆ V F⊆ Eに

よって決まる G ' = {X, F} がグラフである(つまり {x, y} ∈ Fならば x, y∈ Xである)とき、グラフ G ' = {X, F} は G = {V, E} の部分グラフである。Vの部分集合 Xが与えられ、x, y∈Xを満たす Gの辺 {x, y} が必ず {x, y} ∈ Fを満たすならば(つまり F = {{x, y} ∈ E | x, y

∈ X)ならば、グラフ G ' = {X, F} を Gの Xによる生成部分グラフ(induced subgraph 誘導部分グラフ)と呼び G ' = G [X] と記す。8

定義9 グラフの2頂点 x, y間の距離 d (x, y)

1.辺に重みがついていない場合2点間を結ぶ経路のうちで、その辺の数が最小の経路(最短経路)に含まれる辺の数を距離(distance)と呼ぶ。

2.辺に重みがついている場合2点間を結ぶ経路の辺の重みの総和を求め、それらの最小値を2点間の距離とする。

距離を用いたグラフの特徴量1.グラフの直径グラフ上の任意の2頂点 x, y間の距離の最大値をグラフの直径といい D ( G ) で表す。D ( G ) = maxx, y∈ V d (x, y)

2.グラフの半径

47

7 G = {V, E} を無向グラフあるいは有向グラフとする。Vと Eの部分集合 X ⊆ V F ⊆ E によって決まるG ' = {X, F} がグラフである(つまり {x, y} ∈ Fならば x, y∈ Xである)とき、グラフ G ' = {X, F} は G ={V, E} の部分グラフである。Vの部分集合 Xが与えられ、u, v∈ Xを満たす Gの辺 {u, v} が必ず {u, v}∈ Fを満たすならば(つまり F = {{u, v} ∈ E | u, v∈ X)ならば、グラフ G ' = {X, F} を Gの Xによる生成部分グラフ(induced subgraph誘導部分グラフ)と呼び G = G [X] と記す。

8 『グラフ理論ー連結構造とその応用ー』p.4

Page 8: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

グラフ上の任意の頂点 xから最も離れている頂点の距離 K (x) = maxy∈ V d (x, y) を求め、その最小値をグラフの半径といい R ( G ) で表す。R ( G ) = minx∈ V K (x) また、グラフの半径に対応する頂点を中心(center)と呼び C ( G ) と記す。C ( G ) =

argminx∈ V K (x)

3.平均経路長(a)点 x の平均経路長(average path length)点 x とつながるすべての点間の最

短経路(パス)長を平均した値であり、グラフの頂点の数を n とするとき、以下のように計算する

(b)グラフ全体の平均経路長ネットワークに存在するすべての頂点の間の最短経路(パス)長を平均した値であり、すべての点の平均経路長を平均した値を計算

さらには、以下のような特徴量がある。1.クラスター係数(cluster coefficient)ネットワークの中で点が塊になっている程度を表す

2.次数分布(degree distribution)ネットワークにおける点ごとの次数の分布

構造的特徴を数値化するための尺度(ソシオメトリー)1.ネットワーク密度(density)グラフにおいて張ることのできる最大可能な辺の数と実際の辺の数との比率を求めたものである。社会的ネットワークにおいて、密度は集団における人間関係の緊密さや個人に対する集団からの統制の強さの指標となりえる。9 グラフの頂点の数をn、辺の数を mとすると、(a)無向グラフの密度

(b)有向グラフの密度

48

9 『Rで学ぶデータサイエンス』8ネットワーク分析 p.32

apl(x) =∑y d(x,y)

n−1 (y �= x) (1)

∑x apl(x,y)n

=∑x∑y,y�=x d(x,y)

n(n−1) (2)

density=m

n(n−1)/2 =2m

n(n−1)

density=m

n(n−1)

Page 9: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

2.推移性(transitivity)例えば友人のネットワークを考えたとき、頂点間の関係(友人関係)が推移的で

あるとは、「自分の友達の友達が、自分の友達である」とき、3人の友人関係は推移的である。もちろん「自分の友達の友達が、自分の友達でない」ことは、いくらでもあり、友人関係の推移性が成り立たないこともいくらでもある。そこで推移的な関係が成り立っている程度を比率で表したもの(推移性(transitivity))を考え、10 ネットワーク内の「自分の友達の友達」の内どれぐらいの割合で自分の友達が含まれているかという割合を考える。つまりある頂点 iから頂点 jを経由して他の頂点 kへいたる長さ2の経路(友達の友達)のうち、頂点 iと頂点 kが直接結ばれている(友人である)ものの比率である。グラフの隣接行列を A とするとき、長さ2の経路の数は、A2 で求められるが、

この中には自分自身に戻ってくる経路も含まれる(対角成分)ので、それを除くためにA2の対角成分をゼロとした行列 A2 を考え、A2 の成分の総和を求めると、ネットワーク内の「友達の友達」という関係の総数を求めることができる。そのうち「友達の友達が友達」である関係は、行列 A2 と隣接行列 Aの成分積をとって、その成分の総和をとることで求められる。

3.相互性(reciprocity, mutuality)頂点がもつ特性に関するものネットワークの頂点がもつ特徴の中で、最も注目されてきたものの一つが中心性

(centrality)である。ネットワークの中の頂点がどれほど重要であるかに注目して、それを計測するために様々な指標が考えだされている。ネットワークにおける中心性指標は(1)次数や(2)距離、さらには(3)媒介や伝達に基づいた指標が考えられている。11

次数に基づいた中心性1.次数中心性(degree centrality)頂点に接続している辺の数として定義される次数を使って中心性を測る。比喩

的な表現を使うと、「友達の数が多いほど、ネットワークにおいて重要な人物で

49

10 同書 p.3311 金光淳(2003)では、グラフ理論による中心概念、地位中心モデル、情報中心モデルという整理がされている。グラフ理論では、次数や距離(離心数、地位、近接中心性)、脆弱性(切断数、媒介値、ネットワーク・フロー)等を用いる。地位中心モデルではカッツ・ハベルの中心性などがあり、パワーと権威づけが絡んでくる。情報中心性は、伝播の統合度・放射性の中心性など、情報や病理の伝播中心性モデル

transitivity=A2 A

A2

Page 10: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

ある」という考えに基づいている。12 しかし、ハブではあってもネットワークにおいて辺境にあったりする。しかし、友達の単なる数ではなくて、友達がどれほど中心的であるかも考慮すべきである。2.固有ベクトル中心性

中心の大きい点につながっている点の中心性は高くなる。xi = ∑j Aij xjこの遷移を何度も繰り返すと、値が収束して Ax = λ1xここで λ1は隣接行列 Aの最大固有値であり、中心性は最大固有値 λ1の固有ベクトルとして求められる。どれだけの頂点とつながっているかだけではなく、つながっている相手の中心性を考慮して、辺に重みづけをする。13 分離したグラフや有向グラフでは使えないという欠点を持つ3.カッツの中心性(Katz centrality)固有ベクトル中心性にはやっかいな問題がある。ネットワークの中に一つもエ

ッジを張られていない頂点があったとき、その頂点に対してはどこからも中心性が遷移してこないので、当然中心性はゼロとなる。このような頂点が複数あって、そのような頂点からしかエッジが張られていない頂点 iの中心性は、いくつかの頂点からエッジが張られているにもかかわらず、遷移してくる中心性の値がすべてゼロなので、iの中心性はゼロとなる。直観に反する。カッツはこの問題を解決するために、一つもエッジを張られていないノードに対しても中心性に対して小さな値 β を与える。xi = α ∑j Aij xj + β ここで、α は他の頂点から遷移してくる中心性の値の大きさを制御する定数。β = 1 として中心性の値が収束するまで遷移すると x = ( I - α A)-11最後の 1はすべての要素が 1 であるベクトル14

4.PageRank

分離したグラフや有向グラフでは使えないという欠点を乗り越えるための工夫がされている。15

(単純化版)

50

12 Proctor & Loomis, 195113 Bonacich, 198714 たとえば、Networks: An introduction15 Brin, S. and Page, L. 1998.

xi =N

∑j=1

Bjix j =N

∑j=1

Aji

∑Nl=1Ajl

x j,N

∑i=1

xi = 1 (3)

Page 11: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

頂点の出次数を ki とすると、ページランクは16 ここで、中心性の値が収束するまで遷移を続けると、x = ( I - α AD-1)-11ここで、Dは kiを対角要素とする対角行列。

5.HITS

HITS 17

HITS treated web pages as ”hubs” and ”authorities” It used the circular

definition that authorities are pages that are pointed to by hubs and hubs are pages

that point to authorities and requires an iterative approach to solve.

6.離心中心性(eccentricity centrality)と近接中心性(closeness centrality)各頂点間の最短距離を用いて、それぞれの頂点の中心性を測る。そのとき離心

中心性と近接中心性という2つの考え方がある。(1)離心中心性

頂点 xから他の頂点 yへの最短距離 d (x, y) を求め、その最大値(離心数)K (x) = maxy ∈ V d (x, y) を中心性の計算に用いる。K (x) の値が小さいほどグラフの中心に近いと考えられる。離心数が最小値をとるような頂点の集合を中心(center)と呼び C ( G ) と記す。C ( G ) = argminx∈ V K (x) 逆に離心数が最大になる頂点の集合をグラフの周辺(periphery)とよび P ( G ) と記す。P ( G ) = argmaxx∈ V K (x) したがって、中心性の指標を中心に近いほど値を大きくなるように作成するには、離心数 K (x) の逆数を用いるとよい。

(2)近接中心性頂点 x から他の頂点 y への最短距離 d (x, y) を求め、その合計 S (x) = ∑y

∈ V d (x, y) を中心性の計算に用いる。S (x) が小さいほどグラフの中心にあると考える。18 中心性の指標を中心に近いほど値を大きくなるように作成するには、S (x) の逆数を用いるとよい。その頂点から情報を発信するとき、ネットワーク全体に行き渡りやすいかどうかがわかる。

7.媒介中心性(betweenness centrality)19

ネットワークにおいて、他の頂点をつなぐ働きをする頂点が物理的な移動や情報の中継や伝達において大きな役割を果たすと考えられる。媒介中心性とは、他

51

16 たとえば、Networks: An introduction17 Kleinberg, 1999.18 Beauchamp, 196519 A. シンベル(A. Shimbel)が1953年に言及し、M. E. ショー(M. E. Shaw1954年)、J. M. アントニーゼ(J. M. Anthonisse, 1971年)、L. C. フリーマン(L. C. Freeman, 1977)などによって研究されてきた指標、

コミュニティ分割、カスケード故障、予防接種の順番決め、感染予測

xi = α ∑ j Ai jx jk j

CB(i) =i

i

Page 12: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

の頂点の間にあって、それぞれをつなぐことにおいて中心的な役割を果たす頂点を見つけ出そうとする中心性概念である。つなぐことにおいて中心的な役割を果たす頂点は、(1)他の頂点どうしをつなぐ最短経路上に位置し、(2)頂点を通過する最短経路の数が多いほど中心性は高くなると考えられる。媒介中心性の取り得る範囲はグラフの含まれる頂点数によって異なるので、媒介中心性をそれが取り得る最大の値で割ることで、0から1の範囲をとるように標準化できる。無向グラフの場合、媒介中心性の最大値は、スターグラフの中心にみられる。グラフに含まれる中心以外の n-1 個の頂点から、2つの頂点を取り出す組み合わせの数に等しいので、

となる。有向グラフにおける理論的な最大値もスターグラフのときにみられ、中心以外の点から2つの点を取り出す順列の数に等しい。20

8.ランダム・ウォーク(媒介)中心性媒介中心性は最短経路のみを考慮、最短経路以外もそれなりに重要(例を挙げよ)ランダム・ウォークが頂点 iを訪れる回数で中心性を定義9.構造的空隙(structural holes)

2.4 グラフを計算機上で表現する

グラフを扱うことのできるいくつかのソフトウエアの中から、有料ソフトであるMathematicaと無料のソフトのPajekを使ってみる。

2.4.1 Mathematicaによる分析

Mathematicaのノートブックは対話型なので、手作業でグラフを書く感覚に近いものがある。u と v の間の無向辺は u ↔ vで、u と v の間の有向辺は u - > で表すことができる。また以下のような矢印→を使って、Graphコマンドで有向グラフg3を定義し、それを

GraphPlotコマンドで描画することもできる。g3 = Graph [{”d” → ”c”, ”e” → ”b”, ”e” → ”c”, ”e” → ”d”, ”f” → ”a”, ”f” → ”b”, ”f” →”d”, ”f” → ”e”, ”g” → ”a”, ”g” → ”b”, ”g” → ”c”, ”g” → ”e”}];

GraphPlot [g3, VertexLabeling → True]

このように入力することで、以下のようなグラフが描かれる。

52

20 『Rで学ぶデータサイエンス』 8ネットワーク分析 p.59

(n−1)(n−2)2

Page 13: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

グラフを定義する形式の一つである、隣接行列 (adjacency matrix) A = (aij) でグラフg3を表現することができる。21

グラフg3の隣接行列 A は、MathematicaではA = AdjacencyMatrix [g3] で求めることができる。

A = ノードのラベルを明示すると A =

この隣接行列 A の要素 aij はノード iとノード jが長さ1の歩道(walk)で結ばれているときには、その歩道の数である。ノード iとノード jを結ぶ長さ1の歩道が無いと0をとる。隣接行列 A を n乗して得られる Anの要素 a(n)

ij はノード iとノード jが長さ nの歩道で結ばれているとき、その歩道の数であり、ノード iとノード jを結ぶ長さ nの歩道が無いと0をとる。

53

d

ce

b

f a

g

21 グラフg3でノードがどのような順番でリスト化されたのかを知るために、VertexList[g3]を実行すると、{d, c, e, b, f, a, g} というリストを返す。この順番でノードがリスト化されていることがわかる。つまり{1, 2, 3, 4, 5, 6, 7} → {d, c, e, b, f, a, g} という対応関係がある。隣接行列 A = (aij) の添字 i, jは (i, j) ∈ {1, 2, 3, 4, 5, 6, 7} × {1, 2, 3, 4, 5, 6, 7} から (i, j) ∈ {d, c, e, b, f,

a, g} × {d, c, e, b, f, a, g} に読み替えることが必要である。

0 1 0 0 0 0 0

0 0 0 0 0 0 0

1 1 0 1 0 0 0

0 0 0 0 0 0 0

1 0 1 1 0 1 0

0 0 0 0 0 0 0

0 1 1 1 0 1 0

d c e b f a g

d 0 1 0 0 0 0 0

c 0 0 0 0 0 0 0

e 1 1 0 1 0 0 0

b 0 0 0 0 0 0 0

f 1 0 1 1 0 1 0

a 0 0 0 0 0 0 0

g 0 1 1 1 0 1 0

Page 14: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

A2 = ノードのラベルを明示すると A3 =

A4 =

例えば、べき乗行列 An = (a(n)ij ) (n = 1, 2, 3, 4) において、a(1)

fc , a(2)fc , a(3)

fc , a(4)fcは 0, 2, 1, 0 で

あり、ノード fを出発して cにいたる長さ1の歩道の数は0、長さ2の歩道の数は2、長さ3の歩道の数は1、長さ4の歩道の数は0となり、2点間の歩道の最短距離は2で、またA4が零行列であることから、2点間の歩道の最長距離は3であることがわかる。また、どのべき乗行列 An = (a(n)

ij ) (n = 1, 2, 3, 4) の対角要素もすべて零なので、出発点に戻ってくる閉路(cycle)はない。

2.5 パッケージの読み込みと無効化

library(igraph) #package igraph の読み込みdetach("package:igraph") #package igraph の無効化

2.6 Rへのファイルの読み込み

ワーキングディレクトリ上に保存したファイルから、隣接行列を読み込むことができる。ワーキングディレクトリの確認には、getwd()コマンドを用いる。たとえばワーキングディレクトリをd:/pajekに変更するには、setwd(”d:/pajek”)とすると良い。

54

d c e b f a g

d 0 0 0 0 0 0 0

c 0 0 0 0 0 0 0

e 0 1 0 0 0 0 0

b 0 0 0 0 0 0 0

f 1 2 0 1 0 0 0

a 0 0 0 0 0 0 0

g 1 1 0 1 0 0 0

d c e b f a g

d 0 0 0 0 0 0 0

c 0 0 0 0 0 0 0

e 0 0 0 0 0 0 0

b 0 0 0 0 0 0 0

f 0 0 0 0 0 0 0

a 0 0 0 0 0 0 0

g 0 0 0 0 0 0 0

d c e b f a g

d 0 0 0 0 0 0 0

c 0 0 0 0 0 0 0

e 0 0 0 0 0 0 0

b 0 0 0 0 0 0 0

f 0 1 0 0 0 0 0

a 0 0 0 0 0 0 0

g 0 1 0 0 0 0 0

Page 15: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

1.テキストファイルread.table()関数データをスペースで区切った、以下のようなテキストファイルadj.txtを作って、ワーキ

ングディレクトリに保存する。途中の行の終わりで改行することを忘れることはないだろうが、データの最終行では意外と改行を忘れることがある。最後のデータを入力し終わって、改行しないと、不完全な最終行が見つかりましたというエラーが出るので注意0 1 1 0

1 0 1 0

0 0 0 0

1 0 0 0

adj.txtファイルを行列として読み込んで、それを変数gに代入するには以下のようなコマンドを打ち込む。g<-as.matrix(read.table("adj.txt"

2.CSVファイルread.csv()関数データをカンマで区切った、以下のようなCSVファイルを作る。ここでも最後のデ

ータを入力し終わったなら、改行しないといけない。0, 1, 1, 0

1, 0, 1, 0

0, 0, 0, 0

1, 0, 0, 0

adj.csvファイルを行列として読み込んで、それを変数gに代入するには以下のようなコマンドを打ち込むg<-as.matrix(read.csv("adj.csv",header=FALSE))

adj.txt ,adj.csvファイルのどちらも以下の隣接行列gを作成する。V1 V2 V3 V4

[1,] 0 1 1 0

[2,] 1 0 1 0

[3,] 0 0 0 0

[4,] 1 0 0 0

ここで、列ラベルV1, V2, V3, V4が自動的に付けられている。igraphパッケージを使って、隣接行列gからグラフgfを作成し、それをplot(gf)を使

って描いたものが、図1である。igraphパッケージを読み込んでないとエラーになるので、library(igraph)を実行してから、実行する。#以降はプログラムの可読性をますた

55

Page 16: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

めのコメントであり、プログラムの実行時には無視される。library(igraph) #igraph パッケージを読み込む。ただし二度読み込む必要はない。gf<-graph.adjacency(g) #隣接行列 g からグラフ gf を作るplot(gf) #グラフをプロットする

グラフの点にラベルを付けなかったが、隣接行列の列ラベルV1, V2, V3, V4 を R が頂点のラベルとして自動的に用いている。頂点ラベルをA, B, C, Dに変更して描きたければ、つぎのようにグラフgfのラベルを

変更してから描くと良い。V(gf)Sname<-c("A","B","C","D")

plot(gf)

56

Page 17: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

2.7 Pajekファイルを読み込む

igraphを使ってPajekの.netファイルを読み込むことができる。以下の例では、ワーキングディレクトリに作られたPajekフォルダの中の Dining-table_partners.net ファイルを読み込んでグラフを描く場合を考える。gf<-read.graph(file="./Pajek/Dining-table_partners.net",format="pajek")

plot(gf)

でPajekのファイルが読み込まれ、グラフらしきものが描かれる。しかし、グラフの頂点のラベルが数字に置き換わってしまっているし、矢印が描かれていない。そこで、plot(gf,vertex.label=V(gf)Sid,edge.label=E(gf)Sweight,

edge.arrow.mode="<")

とすると、矢印が描かれる。表示した図をTeXなどで使うために、PDFファイルとして出力するには、ファイルgf3.pdf

を指定して次のコマンドを実行するとよい。おそらく図を描いた「R Graphics Device」ウインドウの方に制御が移っているので、そのまま入力はできない。「R Console」ウインドウ上をクリックしてから次のコマンドを入力する。dev.copy2pdf(file="gf3.pdf")

ただしTeXでPDFファイルを使うには、画像の大きさを示すバウンディング・ボックス情報が必要である。\includegraphics 内でBB指定するか、ebbコマンドでpdfファイルgf3.pdfのebbファイルgf3.ebbを作るか、そういったことはしなくて、mediabb.styをダウロードして\usepackage{mediabb} として宣言して、gf3.pdfのバウンディング・ボックス情報の取得を自動化するかして使う必要がある。

Windows8にRをインストールする執筆時の最新版はR‑3.0.1であり、R‑3.0.1‑win.exeをダウンロードして、指示に従ってイン

ストールする。パッケージをインストールWindows8のパソコンにパッケージをインストールするには、管理者権限でRを起動する

ことが必要である。Rのアイコンを右クリックして、「管理者権限で起動」を選び起動する。起動したら「パッケージ」「パッケージのインストール」でインストールすることができる。このとき、CRANミラーサイトを選択するように促されたら、日本国内の適当なサイトを選ぶとよい。

Windows8にPython3.3をインストールするExtension Packagesの対応の遅れもあって、Python2からPython3へと移行することをため

57

Page 18: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

らう人も多く見受けられる。しかしWindowsユーザーならば、Unofficial Windows Binaries

for Python Extension Packagesというサイトから、Python3用の64bit版のExtension Packages

をインストールすることが、簡単にできてしまうので、思い切ってPython3に移行しても良いかも知れない。以下の操作は、Python3.3.2上で実行している。Python igraphモジュールをインストールして、以下のように対話的に使うことで、Pajekのファイル.netを読み込むことができる。22 Pythonのプロンプトである >>> は入力する必要はない。# 以後はコメントである。>>>import igraph # Python igraph モジュールを読み込む>>>import cairo # グラフ描画用のモジュール cairo を読み込む>>>gf = igraph.Graph.Read_Pajek("d:\\Dining-table_partners.net") #Pajek のDining-table_partners.net

ファイルを読み込んでできるグラフを gf に保存する。ダウンロードする>>>igraph.summary(gf) #gf の概要を表示するIGRAPH U-W- 26 52 -- #出力結果+ attr: id (v), x (v), y (v), z (v), weight (e) #出力結果>>>igraph.plot(gf) # グラフ gf を描く>>>gf.vs["label"]=gf.["id"] # 頂点にラベルを付ける>>>igraph.plot(gf) # グラフを再描画

3 DeGroot Model

ネットワークの構造が情報の拡散や意見の形成に与える影響を分析する出発点として、DeGrootのモデルを紹介する。23

n 人の個人で構成される社会を考え、個々人が初めに抱く意見(第 i 個人が最初にもつ、ある命題が真である確率や製品の質がある水準となる確率などと解釈できる。)を、n次元の確率ベクトル p(0) = (p1(0), … , pn(0)) として表す。ここで各 pi(0) は、区間 [0, 1] の中にある。個々人の考えが相互に影響しあうパターンをその重みと方向で表すために、n × nの非負行列 T を考える。ここで、Tij は個人 i が次の期の意見を形成するために、どの程度 j

の意見を取り入れるかを示していて、Tij>− 0 がすべての i, jで成り立ち、∑nj = 1 Tij = 1 がす

べての iで成り立つ。個々人の意見は Tに従って時間と共に変わっていくので、以下の式が

58

22 64bit版のigraphをインストールするには、python‑igraph‑0.6.5.amd64‑py3.3.exeをダウンロードして、指示にしたっがてインストールする。グラフの描画にはcairoが必要なので、Pycairoもpycairo‑1.10.0.win‑amd64‑py3.3.exeを使って

23 Naïve Learning in Social Networks and theWisdom of Crowdsやそれに基づいて書かれた”Learning andNetworks” chap.8 in Social and Economic Networksを参考にした。

Page 19: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

成り立つ。p(t) = Tp(t - 1) = Tt p(0). (4)

[例]ここで3人で構成される社会を考え、情報の更新を表す行列 Tは以下のようである。

T = (5)

個人1の情報更新の仕方は第1行を横に見ていくとよい。T11 = 1/3 であるから自分自身の意見には 1/3 の重みづけをしている。全部 1/3 なので、自分の意見を含め皆の意見を同じように取り扱う。第2個人の場合は第2行を見ていくと、第1個人と自分自身の意見を同じ重みで考慮し、第3個人の意見は無視している。第3個人は第1個人の意見は無視し、第2個人には1/4 そして自分自身の意見には 3/4 の重みを置く。

Tは重みをもつエッジからなる有向グラフとして以下のように図示できる。

ここで各人の最初の意見を表す確率ベクトル p(0) を次のように設定する。

p(0) = (6)

個人1は完全に信じているが、個人2と3は完全に疑っている状態である。ここで意見を更新するルールである行列 Tを左からかけて、次の第1期の意見 p(1) を導き出すと

p(1) = Tp(0) = = (7)

さらにもう一度みんなの意見を取り入れてそれぞれの意見を更新すると p(2) となる。

59

( )1/3 1/3 1/3

1/2 1/2 0

0 1/4 3/4

( )1

0

0

( )1/3 1/3 1/3

1/2 1/2 0

0 1/4 3/4( )1

0

0( )1/3

1/2

0

1

23

Page 20: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

p(2) = Tp(1) = = (8)

この過程を続けていくと、意見は収束していく

p(t) = Tp(t -1) = Ttp(0) → (9)

実際 Tt を数値計算した結果を5刻みで表示すると、t = 26 辺りで、極限値からの乖離が10‐6以下になった。

ただし、いつも意見が収束していくわけではないことは、以下の反例で示すことができる。

T = (10)

この場合の有向グラフを図示すると以下のようになる。

Tを使って一度意見の更新を行うと p(1) が以下のように得られる。

p(1) = Tp(0) = = (11)

さらにもう一度みんなの意見を取り入れてそれぞれの意見を更新すると p(2) となる。

p(2) = Tp(1) = = (12)

2回目で振出しに戻り、皆の意見は2つの状態を交互にとって、いずれかに収束することはない。

60

( )1/3 1/3 1/3

1/2 1/2 0

0 1/4 3/4

( )0 1/2 1/2

1 0 0

1 0 0

( )1/3

1/2

0( )5/18

5/12

1/8

( )0 1/2 1/2

1 0 0

1 0 0( )1

0

0( )0

1

1

( )0 1/2 1/2

1 0 0

1 0 0( )0

1

1( )1

0

0

( )3/11

3/11

3/11

�0.333333 0.333333 0.3333330.500000 0.500000 0

0 0.250000 0.750000,

0.272728 0.363636 0.3636360.282102 0.366762 0.3511370.263352 0.360511 0.376136

,0.272727 0.363636 0.3636360.273020 0.363734 0.3632460.272434 0.363539 0.364027

,

0.272727 0.363636 0.3636360.272736 0.363639 0.3636240.272718 0.363633 0.363649

,0.272727 0.363636 0.3636360.272728 0.363636 0.3636360.272727 0.363636 0.363637

,

0.272727 0.363636 0.3636360.272727 0.363636 0.3636360.272727 0.363636 0.363636

,0.272727 0.363636 0.3636360.272727 0.363636 0.3636360.272727 0.363636 0.363636

12 3

Page 21: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

Ttを t = 12 まで12回数値計算すると以下のようになる。

定義:Tが非周期的(aperiodic)すべての有向サイクル(directed cycle)の長さの最大公約数が1であるとき T が非周期

的である。定義:強連結集合(Strongly Connected Groups)集合内のどの個人も集合内の他の個人に到達する有向パスをもつとき、強連結集合である

という。定義:個人の閉集合(Closed Sets of Nodes)個人の閉集合 C⊂ {1, … , n} とは、Cの中の個人から Cの外にいる個人へ向かうリンク

がない集合である。つまり i∈ Cと j∈ Cのペアで Tij > 0. となるものはない。したがって、グループの構成員の情報の更新はグループ内で完結している。ただし、グループの外の個人が、情報を更新するために、グループ内の個人の意見を取り入れることは排除しない。定理:T が収束するための必要十分条件は、強連結で閉じている点の集合すべてが非周期

的であること。ここで、n = 6 の場合で意見の更新プロセスが以下の Tで表されるケースを考えよう。

T = (13)

61

( )1 0 0 0 0 0

1/4 1/4 0 0 1/4 1/4

0 0 1/2 1/2 0 0

0 0 0 0 1 0

0 0 1/4 0 3/4 0

0 0 0 1/3 0 2/3

�0 1

2

1

2

1 0 01 0 0

,

1 0 0

0 1

2

1

2

0 1

2

1

2

,0 1

2

1

2

1 0 01 0 0

,

1 0 0

0 1

2

1

2

0 1

2

1

2

,0 1

2

1

2

1 0 01 0 0

,

1 0 0

0 1

2

1

2

0 1

2

1

2

,

0 1

2

1

2

1 0 01 0 0

,

1 0 0

0 1

2

1

2

0 1

2

1

2

,0 1

2

1

2

1 0 01 0 0

,

1 0 0

0 1

2

1

2

0 1

2

1

2

,0 1

2

1

2

1 0 01 0 0

,

1 0 0

0 1

2

1

2

0 1

2

1

2

1

2

3

4

5

6

Page 22: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

強連結で閉じている点の集合は {1} と {3, 4, 5} の二つである。

3.0.1 意見の一致(Consensus in Beliefs)

意見が収束する(ベクトル Tt p(0) がそのすべての要素について極限値を持つ)だけでなく、すべての人が同じ意見になる(ベクトル Tt p(0) の極限値がすべての要素について同じ値をとる)とき意見の一致が得られる。これは、ネットワークの構成員全員の集合 {1, … ,

n} についてだけでなく、その真部分集合 C⊂ {1, … , n} についても言える。定義:意見の一致初めの意見が p(0) でネットワーク T を使って情報を更新するとき、もし limt pi(t) = limt

pj(t) がすべての i, j∈ Cについてなりたつならば、グループ C⊂ {1, … , n} は意見の一致にいたる。命題:Tのもとで、強連結で閉じている個人のグループが、初めの意見がどのようなもの

であっても意見の一致にいたるための必要にして十分な条件は、Tがそのグループ上で非周期的(aperiodic)であること。系1:DeGrootモデルで意見の一致に到るための必要にして十分な条件は、強連結で閉じ

ている個人の集合がただ一つだけあり、Tがそのグループ上で非周期的であること。系2(Berger):DeGrootモデルで意見の一致が得られるための必要にして十分な条件は、ある tがあって Ttのすべての要素が正である列があること。24

[ Tt ]ijは長さ tの道(path)を通じて、個人 iが個人 jに与える重みであるから、その列 j

の要素がすべて正であるならば、すべての個人がその列に対応する個人 jにいくらかのウエイトを与えている。

3.0.2 更新ルールが時間とともに変化する場合の意見の一致

定理(Lorenz)時間とともに変化する更新ルール T(p(t), t) が以下の条件を満たすとき、社会はいくつかの個人の集合に分割されて、各グループはそれぞれ一つの意見に合意する。お互いにウエイトを置きあうどの二人の個人もinfinitely often同じグループに属する。1.T(p(t), t)ij > 0 となるための必要にして十分な条件は、すべての t, i, jと p(t) について

T(p(t), t)ij > δとなるような δ > 0 が存在する。2.T(p(t), t)ii > 0 がすべての i, t, p(t) について成り立つ。3.T(p(t), t)ij > 0 となるための必要にして十分な条件は、すべての t, i, jと p(t) に対して

62

24 DeGroot assert that a consensus is reached if and only if every row of the matrix Tt converges to the samevector, say π = (π1, … , πn) This is clearly a sufficient condition for a consensus to be reached.But it is not anecessary condition

Page 23: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

T(p(t), t)ji > 0 となること。

3.0.3 社会的影響力(Social Influence)

社会的ネットワーク T を構成する個人が、自他の意見を何度も斟酌した結果得られる極限の意見にどれほどの影響力をもつのか計測することで、各個人の社会的影響力をみる。T

が非周期的であるならば、すべての人の意見は収束して一つの意見に纏まる。いま p(0) を初期時点の意見を表すベクトルとし、p(∞) = (p∞, … , p∞) を合意に至った意見とする。合意にいたるまでの影響力を各人について求めるために、∑i si = 1 かつ

であるベクトル s∈ [0, 1]nを探す。もしこのようなベクトル sが見つかれば、合意に至った意見は、最初の意見の加重平均で

あり、その相対的なウエイトは各個人の影響力を表す。いま最初の意見 p(0) がなんであるかに関係なく、各個人の影響力をはかる影響力ベクト

ル sがあるとする。また、p(0) から始まろうが p(1) = Tp(0) から始まろうが、同じ極限にいたるのであるから s · p(1) = s · p(0) となるはず。したがって

s · (Tp(0)) = s · p(0). (15)

さらに、上の等号はどのような p(0) についても成り立つと仮定したので、sT = s (16)

が成り立たないといけない。したがって、sは Tの固有値1に対応する左側固有ベクトル(left‑hand unit eigenvector)

である。もし Tが強連結で非周期的かつ確率行(row stochastic)をもつなら、固有値1に対応する固有ベクトルがただ一つあり、その要素はすべて非負である。実際すべての要素は正である。この固有ベクトル s を計算する簡単な方法がある。s · p(0) は p(∞) = (p∞, … , p∞) =

T∞p(0) と等しくなるはずだから、T∞の各行は sに収束しなければならない。(例)

T = (17)

Tt→ (18)

63

p∞ = s · p(0) = ∑isi pi(0). (14)

( )0 1/2 1/2

1 0 0

0 1 0

( )2/5 2/5 1/5

2/5 2/5 1/5

2/5 2/5 1/5

Page 24: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

このとき、s = (2/5, 2/5, 1/5) は Tの固有値1に対応する左側固有ベクトルであることは以下のようにして確かめることができる。

sT = (2/5, 2/5, 1/5) = = (2/5, 2/5, 1/5) = s. (19)

定理:T が与えられたとき、個人の集合を強連結かつ閉じたグループ B1, … , BK とそのいずれ

にも属さない個人の集合 Rに分割する。確率行列 Tが収束するための必要にして十分な条件は、次の性質を持つ非負の行ベクトル s∈ Rnが存在することである。1.どの強連結かつ閉じた個人のグループ Bkについても、∑i∈ Bk

si = 1

2.iが強連結で閉じたグループに属しているなら si > 0 さもなければ si = 0

3.sBkは Tを Bkに制限したときの固有値1に対応する非負の左側固有ベクトルである4.任意のベクトル pと Bkについて (limt→ ∞ Tt

Bkp)Bk

= sBk pBk

そしてどの強連結かつ閉じたグループにも属さない個人 j∈ Rについては各 Bkに対応した wj

Bk

があって、∑kwjBk

= 1 かつ (limt→ ∞ Ttp)j = ∑kwjBk

sBk pBk

上の定理は、Tが収束するときには、次のことを意味する。1.強連結かつ閉じたグループはグループの社会的影響力ベクトルとグループの初期の意見の積として求まる意見に収束する。2.強連結かつ閉じたグループに属さない個人は、強連結かつ閉じたグループの意見の加重平均として求まる意見へと収束する。

[例]上の定理の意味するところを、6人の個人からなるネットワークの例で確認する。下のグラフで表されているように、強連結かつ閉じたグループは {1} と {3, 4, 5} の二つであった。

64

( )0 1/2 1/2

1 0 0

0 1 0

1

2

3

4

5

6

Page 25: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

個人1は自分の意見に固執し続けるので、s1 = 1 である。{3, 4, 5} は意見の更新にあたってはグループ内で閉じており、これは一つの隔離された社会とみなせる。T を {3, 4, 5} に限定すると、以下の部分グラフが得られる。

T = (20)

これは固有値1に対応する左側固有ベクトル (2/7, 1/7, 4/7) をもち、{3, 4, 5} に限定した s

と対応する。したがって、3人の個人は意見 2/7p3(0) + 1/7p4(0) + 4/7p5(0) に収束する。したがって、社会的な影響力ベクトルは、

s = (1, 0, 2/7, 1/7, 4/7, 0) (21)

である。いずれのグループにも属さない第2個人と第6個人については次のように考える。第6個人第6個人は第4個人と自分自身の考えに注意を払っている。4の意見が収束するならば、

6の意見は4の意見(つまりグループ3,4,5の意見)に収束する。したがって第6個人がそれぞれのグループの意見に与えるウエイトは、それぞれ w6

{1} = 0

かつ w6{3;4;5} = 1 になる。

第2個人第2個人は1,2,5,6に同じ程度の注意を払っている。1,5,6の意見はvarious belief

に収束していくので、第2個人の初めの意見は関係ない。6は5と同じ意見に収束することを考えると p6(∞) = p5(∞) である。

p2(∞) = 1/4p1(∞) + 1/4p2(∞) + 1/4p5(∞) + 1 = 4p6(∞)

を考慮すると、3/4p2(∞) = 1/4p1(∞) + 1/2p5(∞) あるいは p2(∞) = 1/3p1(∞) + 2/3p5(∞) である。従って、w2

{1} = 1/3 w2{3, 4, 5} = 2/3 である。第2個人の極限的意見は第1個人の意見に 1/3

第3,4,5個人の一致した意見に 2/3 の重みを与えることで得られる。これは、sを Ttの極限として数値計算で求めるて確かめることができる。t = 1 と t = 300

について結果を表示したものである。

65

( )1/2 1/2 0

0 0 1

1/4 0 3/4

1. 0. 0. 0. 0. 0.0.25 0.25 0. 0. 0.25 0.250. 0. 0.5 0.5 0. 0.0. 0. 0. 0. 1. 0.0. 0. 0.25 0. 0.75 0.0. 0. 0. 0.333333 0. 0.666667

,

Page 26: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

Vol. 14  No. 1

強連結かつ閉じているグループに属さない個人 iの極限的意見は、強連結で閉じたグループ Bkの極限的意見 pBk

(∞) に対して次の式を満たさないといけない。

ここで、TiBk= ∑l∈Bk

Tilである。したがって、

ネットワーク Tにおいて、個人の社会的な影響力を表すベクトル sは、Tの固有値1に対応する左側固有ベクトルであったから、すべての個人 jについて次式が成り立つ。

したがって、個人 jの影響力の源泉は、影響力をもつ個人 iが jの意見にどれだけ重み付けするかにかかっている。1.もし個人 jが個人 kよりも常に大きなウエイトを与えられたならば、つまり Tij≧Tik

がすべての iで成り立つならば、個人 jは個人 kよりも大きな影響力をもつ。2.siが大きな影響力をもっていても、Tij = 0 であるなら jは影響力を持てない。3.Tij>0 であったとしても、si = 0 ならば、jは影響力をもてない。

おわりに

ネットワーク分析を概観し、小さなネットワークについては、ソフトウェアを使った可視化の有効性について見た。さらには、ナイーブな学習過程をネットワークとして捉え、そのネットワークを表現するマルコフ行列の性質を分析することによって、意見を更新する過程が収束するための条件が求められること。収束した後の極限分布から意見の一致の状況や最終的に得られた意見に誰の意見が反映されたのかという意味での影響力を固有値1に対応する左側固有ベクトルとして求められることもみた。ただし、ここでの分析の基礎となっているマルコフ行列自体がいかなる過程から生成されるのかは明らかではない。また意見のアップデート過程においてマルコフ行列自体が更新されるケースの分析もいくつかの先行研究が

66

1. 0. 0. 0. 0. 0.

0.333333 2.40992 � 10�181 0.190476 0.0952381 0.380952 8.9284 � 10�54

0. 0. 0.285714 0.142857 0.571429 0.0. 0. 0.285714 0.142857 0.571429 0.0. 0. 0.285714 0.142857 0.571429 0.

0. 0. 0.285714 0.142857 0.571429 1.48807 � 10�53

pi(∞) = Tii pi(∞)+∑TiBk pbk(∞)+ ∑j∈R, j �=i

Ti j∑k

w jk pBk(∞) (22)

wiBk =TiBk +∑ j∈R, j �=i Ti jw

jk

1−Tii(23)

s j = ∑iTi jsi (24)

Page 27: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。

ネットワークと学習理論

あり、今後マルコフ行列の変化という意味でのネットワークの変容プロセスも議論したい。

参考文献リスト

[ 1]Bonacich A., Power of Centrality: A Family of Measures, American Journal of

Sociology, Vol.92, No.5, 1987

[ 2]Brin, S. and Page, L. The anatomy of a large-scale hypertextual (web) search engine.

Computer Network and ISDN Systems. 1998.

[ 3]Kleinberg, J. M. Authoritative sources in a hyper linked environment. Journal of the

ACM. 1999.

[ 4]Beauchamp, M., An improved index of centrality, behavioral Science, 1965

[ 5]Benjamin Golub and Jackson, M., Naïve Learning in Social Networks and the Wisdom

of Crowds, American Economic Journal: Micro Economics, 2010

[ 6]Jackson, M., ”Learning and Networks” chap. 8 in Social and Economic Networks,

Princeton University Press, 2008

[ 7]Newman, M., Networks: an introduction,

[ 8]Ploctor, C. H., & Loomis, C. P., Analysis of sociometric data, Research methods in

social relations, 2, 1951

[ 9]茨木俊秀、永持 仁、石井利昌、『グラフ理論:連結構造とその応用』、朝倉書店、(2010)[10]ウオウター・デノーイ(著),安田雪(翻訳)、『Pajekを活用した社会ネットワーク分

析』、東京電機大学出版局(2009)[11]金光 淳、『社会的ネットワーク分析の基礎:社会的関係資本論にむけて』、勁草書房、

(2003)[12]鈴木努、『ネットワーク分析(Rで学ぶデータサイエンス8)』、共立出版、(2009)[13]ドーラン・アラン、オールダス・ジョーン(著)、大石康彦(翻訳)、『よくわかるネ

ットワークのアルゴリズム』、日本評論社(2003)

67

Page 28: ネットワークと学習理論 - harp.lib.hiroshima-u.ac.jpharp.lib.hiroshima-u.ac.jp/onomichi-u/file/12134/20160516191251/0… · ネットワークであり、グラフはネットワークの構造を表現するものと捉えることができる。