Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Topological data analysis

8,207 views

Published on

計算ホモロジーの解説です

Published in: Science
  • Be the first to comment

Topological data analysis

  1. 1. Topological data analysis 大林一平 京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST 2015 年 3 月 KMC 春合宿 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 1 / 30
  2. 2. 自己紹介 数学者 (力学系,応用数学) 4 月から東北大の WPI-AIMR に移ります WPI(World Premier International Research Center Initiative) Advanced Institute for Materials Research 仙台駅前 (誇張あり) に引越ししました Ruby Ruby/SDL Ruby Reference manual net/*, rexml, openssl など KMC サーバの保守管理をしていました 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 2 / 30
  3. 3. 趣味など 数学 プログラミング roguelike シューティング ゲーム音楽 非電源ゲーム 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 3 / 30
  4. 4. 概要 ホモロジーとは図形の穴を分類し,その数を数え ることである. パーシステントホモロジーを使うと,穴の大きさ なんかもある程度わかる これらは計算機で計算可能である 計算してみよう 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 4 / 30
  5. 5. 穴の大きさや数を調べてどうするの? 軽石や活性炭のような多孔質の物体では穴がその 機能性に重要 消臭剤 数や大きさが知りたい 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 5 / 30
  6. 6. 完全に秩序的な構造(結晶)と完全にランダムな構造 (液体や気体) の中間的な構造を特徴付ける可能性 ガラスなど 結晶は群論的な構造 液体,気体は確率論的な構造 (統計力学など) 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 6 / 30
  7. 7. 計算幾何学 データから計算機によって幾何的な情報を取りだす/計 算する ボロノイ図 空間探索/検索 kd-tree oct-tree 三角形分割 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 7 / 30
  8. 8. トポロジーとは? 幾何学の一分野で,空間,図形の「つながり具合を調べ る」のが問題 例えば図形に穴が空いているかどうかといった問 題を考える 結び目 (knot) や組紐 (braid) 平面グラフ この講座では,最も応用範囲の広い「ホモロジー」につ いて考える 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 8 / 30
  9. 9. ホモロジー 図形の「穴」を分類して,その数を数える 穴の種類とは? どうやって数えるの 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 9 / 30
  10. 10. 穴の種類について 3 次元であれば,穴の種類は 2 つある. ドーナツの穴,筒 穴の内側が見える 紐を通せる 豆腐の鬆,風船 穴の内側が見える 紐を通せない 実は 0 次元の穴を連結成分の個数とすると都合がよい. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 10 / 30
  11. 11. 浮き輪の穴は何個? 穴の内側は見れない でも紐は通せる 実は 2 種類の穴の「両方」では? 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 11 / 30
  12. 12. 平面グラフのオイラーの定理 平面グラフの辺,頂点,面,の数の間には以下の関係が ある. (面の数) − (辺の数) + (頂点の数) = 1 これはグラフが連結の場合. この定理を使ってビットマップ画像の穴の数を数えて みよう. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 12 / 30
  13. 13. 頂点の数 = 40 辺の数 = 62 ビットマップの画素数 = 21 (面の数) = (辺の数) − (頂点の数) + 1 = 62 − 40 + 1 = 23 (画像の穴の数) = (面の数) - (画素数) = 2 画像の連結性を仮定すれば数を数えるだけで穴の個数 がわかる 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 13 / 30
  14. 14. 1次元の穴を定義してみよう 以下の図には,頂点が 6 個,辺が 7 個,面が 1 個あり, 穴は 1 個である. ここで突然であるが,係数が Z/2Z で基底が頂点/辺/面 であるベクトル空間を C0, C1, C2 と置く.係数が Z/2Z だと同じものを 2 つ足すと 0 になる. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 14 / 30
  15. 15. 穴とは? →ループではないか. 線形写像 ∂1 : C1 → C0 を, ∂1(辺) = (辺の一方の頂点) + (辺のもう一方の頂点) と すると,∂1(ループ) = 0 となっている. つまりループとは ker∂1 で表されるのでは? ループの 個数とは dim ker∂1 では? 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 15 / 30
  16. 16. 緑のループは 2 つの赤のループの和ということに注意す ると dim ker∂1 = 2 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 16 / 30
  17. 17. この図形ではループの一方は埋まっているため穴では ない. →埋まっているループとそうでないループを区別する 必要がある. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 17 / 30
  18. 18. 線形写像 ∂2 : C2 → C1 を,∂2(面) = (面の各辺) で定 義すると,∂2(A) の像がループになっている. →これが埋まっているループだろう.→つまり埋まっ ているループの個数は dim im∂2. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 18 / 30
  19. 19. 結局,穴の個数は dim ker∂1 − dim im∂2 と言える.で,これは行列の rank を計算すればよい. 行列の rank は掃き出し法で計算機で計算できる! 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 19 / 30
  20. 20. 2次元の穴の場合 この場合は 3 次元データを考える必要がある.頂点, 辺,面に加えてキューブを考える.そして, ∂3(キューブ) = キューブの各面 ∂2(面) = (面の各辺) とすると,先程と同様にして dim ker∂2 − dim im∂3 が 2 次元の穴の個数. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 20 / 30
  21. 21. 色々なcomplex 長方形以外でも同じ計算法で様々な場合に計算でき ます. Vietris-Rips complex (n-単体はPairwise で近い n+1個の頂点からなる) Simplicial complex (三角形分割) Alpha complex (ボロノイ図から定義される) 実習には alpha complex を使います. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 21 / 30
  22. 22. α-complex point clound data(空間上の点の集合,左図) に円 (すべ て同じ半径) を貼り付けて穴を見付ける 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 22 / 30
  23. 23. 穴の生死とパーシステントホモロジー 円の半径を 0 から大きくしていくことを考える. a hole is born at radius 接する a hole is dead at radius すると,ある r1 で穴が生じ,連続的に変化していって r2 で消える.この穴の種類と数に加えて,各穴の生死の情 報を保持しているのがパーシステンスホモロジーで ある. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 23 / 30
  24. 24. a hole is born at radius 接する a hole is dead at radius 穴の死の時刻 (半径) はおよそ穴の大きさを表して いる 穴の生の時刻はループを構成する点の密度を表し ている 生死の時刻差はそれが穴としてどれくらい意味が あるか,を示している. (ループを構成する点の密度)≈(穴の大きさ) ならばその 穴はあまり穴の体をなしていない 生死の時刻差が小さいならば,その穴はノイズ的なもの と見なしてよい 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 24 / 30
  25. 25. パーシステンスダイアグラム 各「穴」の誕生時刻を x 軸に,死亡時刻を y 軸にプロッ トしたもの -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 "./exmaple/circle.txt" 入力データ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 "./h1.txt" ここ 対 角 線 パーシステンスダイアグラム 対角線の側にある点は「ノイズ的」点.そこから離れた 点が 1 つある.これが入力データの中央の穴を表して いる. 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 25 / 30
  26. 26. パーシステントホモロジー関連 実は点集合データ with 円 (or 球) でなくとも色んな設定 で計算できる. 点ごとに半径の大きさに重みを付けて考える 例えば高分子の原子配置データで原子の種類ごとに重み を付けるとか グレイスケールデータで二値化閾値を段階的に変 化させたときの穴の生成と消滅の様子を調べる この場合は穴の大きさではなく「くっきり度」みたいな ものを調べている 2 つの白黒データの「差」を穴の様子という観点か ら調べる データが何らかの理由で歪んだときの歪み具合を調べる 当然 3 次元とかでもできるよ 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 26 / 30
  27. 27. 色々なアイデア パーシステンスダイアグラムを特徴量として機械 学習する 適当なベクトル空間に埋め込む方法がいくつか開発され ている カーネル関数を構成してカーネル法を用いる 2D, 3D の両方のデータに使える 2D/3D 画像など パーシステンスダイアグラムでコンピュータ診断 支援 血管とか臓器のデータとか CT スキャンのような 3 次元データを取る方法が色々活用さ れている 適当な特徴量に集約する 分子の変形性と穴の関係 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 27 / 30
  28. 28. ソフトウェアについて パーシステントホモロジーを計算するソフトウェアは 結構たくさんある radhom http://capd.sourceforge.net/capdRedHom/ perseus http://www.sas.upenn.edu/~vnanda/perseus/ phat http://code.google.com/p/phat/ dipha https://code.google.com/p/dipha/ α-complex はドロネー三角形分割で計算できるので, 適当な計算幾何のソフトウェアを使う (CGAL など) 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 28 / 30
  29. 29. 参考文献 Jan Reininghaus, et al.: phat, dipha 高速&並列計算に対応した persistent homology 計算ラ イブラリ 平岡裕章: タンパク質構造とトポロジー ―パーシ ステントホモロジー群入門 日本語で唯一の本 H.Edelsbrunner, J.Harer: Computational Topology, An Introduction. American Mathematical Society, 2010 T.Kaczynski, K.Mischaikow, M.Mrozek: Computational Homology, 2004 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 29 / 30
  30. 30. まとめ ホモロジーとは図形の穴を分類し,その数を数え ることである. パーシステントホモロジーを使うと,穴の大きさ なんかもある程度わかる これらは計算機で計算可能である パーシステントホモロジーは幾何データの重要な 特徴量になりうる 夢は広がる 大林一平   (京大マイコンクラブ (KMC)/京都大学数学教室/JST-CREST)Topological data analysis 2015 年 3 月 KMC 春合宿 30 / 30

×