木構造のランダム生成と学習 - random generation...

28
木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation and Inductive Learning of Tree Structures ○和佐 州洋 ,有村 博紀 ,伊藤 公人 北海道大学大学院情報科学研究科 北海道大学人獣共通感染症リサーチセンター 10 回 情報科学技術フォーラム FIT2011 in 函館大学・函館短期大学 2011 9 9 1/23

Upload: dangdan

Post on 01-Jun-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

木構造のランダム生成と学習Random Generation and Inductive Learning of Tree

Structures

○和佐州洋†,有村博紀†,伊藤公人‡

† 北海道大学大学院情報科学研究科‡ 北海道大学人獣共通感染症リサーチセンター

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 1/23

Page 2: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

背景

現在,世の中には大量の木構造が存在している.

生命の進化系統樹

XMLで記述されたデータ大規模並列プログラムの実行木

そして,木構造の形について,以下のような要求が高まっている.

木の形の特徴を知りたい.

様々な木を比べたい.

ベンチマークデータを作りたい.

動機: インフルエンザウイルスの進化の様子を知りたい

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 2/23

Page 3: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

例 1: 感染症ウイルスの系統樹の比較

感染症研究では,系統動力学 (Phylodynamics)が注目されている.

進化系統樹の形態比較で,ウイルス間の違いを調べる研究

インフルエンザ

ウイルスデング熱 HIV

図は Grenfell, B. T. et al, Unifying the epidemiological and evolutionarydynamics of pathogens. Science, 303(5656), 327-32, 2004.より.

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 3/23

Page 4: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

例 2: インフルエンザウイルス株の進化系統樹

どのインフルエンザウイルス株が流行するかを知りたい.

進化系統樹の形から,ウイルス進化の仕組みを知りたい.

NCBI データベースから近隣結合法で作成した H1N1 型インフルエンザウイルス 4240 株の系統樹

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 4/23

Page 5: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

関連研究

決定的生成

Proskurowski, A. , On the Generation of Binary Trees.Journal of the ACM, 27(1), 1-2. 1980.Lucas, J., On Rotations and the Generation of BinaryTrees. Journal of Algorithms, 15(3), 343-366. 1993.

ランダム生成

一様生成 Remy, Jean-Luc, Un procede iteratif dedenombrement d’arbres binaires et son application aleur generation aleatoire. RAIRO, Informatiquetheorique, 19 no. 2 1985.

非一様生成 Barlow, M. T., Pemantle, R., & Perkins, E. a.Diffusion-limited aggregation on a tree. ProbabilityTheory and Related Fields, 107(1), 1997.

しかし,インフルエンザウイルス株の進化系統樹のような木をうまく生成できる方法はない.第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 5/23

Page 6: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

研究目的

研究目的木構造のランダム生成▶ アンバランスな木の生成法▶ 特にインフルエンザウイルス株の進化系統樹に似た木をターゲットにする.

主結果生成アルゴリズムの提案▶ 養分分配を用いた生成法 (TreeDN)の提案▶ 中華食堂過程を用いた生成法 (TreeCRP)の提案

インフルエンザウイルスの進化系統樹を用いた実験▶ 各アルゴリズムの目視による比較▶ 実データからのパラメータ推定

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 6/23

Page 7: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

アルゴリズム

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 7/23

Page 8: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

提案手法 1: 養分分配を用いた生成法 (TreeDN)

基本アイディア根ノードから養分を分配していくことで木を成長させる.

1. Nを持ってあるノード vを訪問する.2. 子の数 d ≥ 0を決めて,vの子供

v1, . . . , vdを作る.

3. N1 + · · · +Nd = N − 1となるようにNを分ける.

4. 上記プロセスを v1, . . . , vdで再帰的に実行する.

短所

バランスした木が高い確率で生成されてしまう.インフルエンザウイルスの系統樹のような木の生成に不適.

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 8/23

Page 9: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

提案手法 2: CRPを用いた生成法 (TreeCRP)

基本アイディアクラスタリングで広く用いられる中華食堂過程 (CRP)∗を木に拡張する.

根から出発して,1つずつノードを追加する.ノードの多い部分木に高い確率で追加する.

一定の確率でノードに葉を追加する.

*ベイズ学習に基づいたクラスタリングにおいて,クラスタ数を可変にするために用いられる.

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 9/23

Page 10: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

アルゴリズムTreeCRP

木にノードを 1つ追加するとき,以下の手続きを行う.1. 根ノードからスタートする.2. 現在訪問しているノード vで以下の操作を行う.

2.1 Visit: 確率|Subtree(vi)|

|Subtree(v)|−1+γ で i番目の子 vi を訪問す

る.再帰的にステップ 2を実行する.

2.2 Add: 確率γ

|Subtree(v)|−1+γ で vに葉 vk+1を追加する.

呼び出し元にバックトラックする.� �γ > 0: ユーザーの与えるパラメータ.γは葉ノードの追加される確率を表している.

|Subtree(v)|: vを根とする部分木のノード数� �

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 10/23

Page 11: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

アルゴリズムTreeCRP

補題

サイズ nの木 TをO(n2)時間でランダムに生成する.

長所

バランスしていない木ができる.子供の数が可変の木を作れる.

短所

パラメータ γの値に敏感に反応し,決め方に注意が必要である.

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 11/23

Page 12: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

TreeCRPの動作例

サイズが 5の木に新たなノードが追加されるとき

a

b c d

e

visit(v): vを訪問するadd(v): vに葉ノードを追加

サイズが 5の木に新たなノードが追加されるとき

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 12/23

Page 13: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

TreeCRPの動作例

サイズが 5の木に新たなノードが追加されるとき

visit(v): vを訪問するadd(v): vに葉ノードを追加

根ノード aからスタート.

P(visit(b)|a) =2

4 + γ

P(visit(c)|a) =1

4 + γ

P(visit(d)|a) =1

4 + γ

P(add(a)|a) =γ

4 + γ

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 12/23

Page 14: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

TreeCRPの動作例

サイズが 5の木に新たなノードが追加されるとき

visit(v): vを訪問するadd(v): vに葉ノードを追加

根ノード aからスタート.

P(visit(b)|a) =2

4 + γ

P(visit(c)|a) =1

4 + γ

P(visit(d)|a) =1

4 + γ

P(add(a)|a) =γ

4 + γ

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 12/23

Page 15: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

TreeCRPの動作例

サイズが 5の木に新たなノードが追加されるとき

visit(v): vを訪問するadd(v): vに葉ノードを追加

根ノード aからスタート.

P(visit(b)|a) =2

4 + γ

bが選択され,同様に

P(visit(e)|b) =1

1 + γ

P(add(b)|b) =γ

1 + γ

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 12/23

Page 16: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

TreeCRPの動作例

サイズが 5の木に新たなノードが追加されるとき

f

visit(v): vを訪問するadd(v): vに葉ノードを追加

根ノード aからスタート.

P(visit(b)|a) =2

4 + γ

bが選択され,同様に

P(visit(e)|b) =1

1 + γ

P(add(b)|b) =γ

1 + γ

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 12/23

Page 17: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

TreeCRPの動作例

サイズが 5の木に新たなノードが追加されるとき

f

visit(v): vを訪問するadd(v): vに葉ノードを追加

根ノード aからスタート.

P(visit(b)|a) =2

4 + γ

bが選択され,同様に

P(add(b)|b) =γ

1 + γ

bに葉ノード f が追加され終了

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 12/23

Page 18: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 13/23

Page 19: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験環境

データNCBI Influenza Virus ResourceからH1N1型インフルエンザウイルスを 4240株取得し,近隣結合法で作成した系統樹(正解の系統樹と呼ぶ)

アルゴリズムC++言語で次のアルゴリズムを実装した

TreeDLA:統計物理の分野でよく知られた拡散限定凝集過程 (DLA)にヒントを得た木生成法 (Barlowら, 1997)TreeDN:養分分配法を用いた木生成法(提案手法 1)TreeCRP:中華食堂過程を用いた木生成法(提案手法 2)

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 14/23

Page 20: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 1: アルゴリズムの比較

各アルゴリズムの生成した木について,正解の系統樹との類似度を比較する.木の類似度は目視で判定する.

方法

1. 各アルゴリズム毎に目視により,適当と思われるパラメータを探索する.

2. そのパラメータを利用して,ノード数 n = 4240の木構造を生成する.

3. 目視により比較する.

結果次の順で元の木によく似ていた: (>は類似度を表す)TreeCRP > TreeDN > TreeDLA

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 15/23

Page 21: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 1.1: TreeDLAの木

TreeDLA(α = 0.8) インフルエンザウイルス

正解のインフルエンザの木とはあまり似ていない.(各部分木が小さい.)

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 16/23

Page 22: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 1.2: TreeDNの木

TreeDN(α = (100, 10)) インフルエンザウイルス

正解のインフルエンザの木とはあまり似ていない.(全体として均一すぎる.)

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 17/23

Page 23: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 1.3: TreeCRP

TreeCRP(γ = 0.1) インフルエンザウイルス

正解のインフルエンザの木と似ている.(部分木の大きさも不均一さも似ている.)

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 18/23

Page 24: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 2: TreeCRPのパラメータ推定

正解の系統樹を訓練例として,TreeCRPの生成パラメータ γの推定を行う.

方法

1. 正解のインフルエンザウイルスの系統樹を訓練例として,次の 2種類の方法でパラメータ推定をする.1.1 正解の木の生成確率の最大化(最尤法)1.2 頂点の深さ分布の二乗誤差の最小化

2. 得られた 2つの木を次の方法で比較した.2.1 頂点の深さ分布2.2 木の形状の目視

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 19/23

Page 25: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 2.1: TreeCRPのパラメータ推定

(2.1)頂点の深さ分布による比較

二乗誤差最小化の木と正解の木の頂点深さ分布を比較した.その結果,分布は非常に似ていることがわかった.

10- 3

10- 2

10- 1

100

101

102

103

1 10 100 1000

インフルエンザウイルス

γ=0.1

ノード数

深さ

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 20/23

Page 26: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

実験 2.2: TreeCRPのパラメータ推定(2.2)木の形状の目視による比較(1)尤度最大化

パラメータ γ = 0.45(2)二乗誤差最小化パラメータ γ = 0.1

(3)正解の木

二乗誤差最小化したパラメータ γ = 0.1が正解の木に最もよく似ていた.第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 21/23

Page 27: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

まとめ

主結果

木構造のランダム生成を考察養分分配を用いた生成法 (TreeDN)の提案中華食堂過程を用いた生成法 (TreeCRP)の提案実験 1: 各アルゴリズムの目視による比較▶ TreeCRPがインフルエンザウイルスの進化系統樹に最も近い木を生成した.

実験 2: 実データからのパラメータ推定▶ 最尤法よりも深さ分布の二乗誤差最小化のほうがインフルエンザウイルスの進化系統樹によく似た木を生成した.

今後の課題

様々な感染症ウイルスに対する実験(例:デング熱,HIV)木の形の評価指標の検討(例:頂点の深さ分布)ウイルス以外のデータへの適用

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 22/23

Page 28: 木構造のランダム生成と学習 - Random Generation …wasa/slides/slide_FIT2011.pdf木構造のランダム生成と学習 木構造のランダム生成と学習 Random Generation

木構造のランダム生成と学習

ご清聴ありがとうございました.

第 10 回情報科学技術フォーラム FIT2011 in函館大学・函館短期大学 2011 年 9 月 9 日 23/23