introductino to persistent homology and topological data analysis

70
Introduction to Introduction to Persistent Homology Persistent Homology and and Topological Data Analysis Topological Data Analysis 8 回数学カフェ(2015/10/27) @simizut22

Upload: tatsuki-shimizu

Post on 22-Jan-2018

535 views

Category:

Science


1 download

TRANSCRIPT

Page 1: introductino to persistent homology and topological data analysis

Introduction toIntroduction toPersistent HomologyPersistent Homology

andandTopological Data AnalysisTopological Data Analysis

第 8 回数学カフェ(2015/10/27)

@simizut22

Page 2: introductino to persistent homology and topological data analysis

⾃自⼰己紹介⾃自⼰己紹介

Page 3: introductino to persistent homology and topological data analysis

C++er(3C++er(3年⽣生年⽣生))

Page 4: introductino to persistent homology and topological data analysis

仕事では主に荷物積んでます:仕事では主に荷物積んでます:Contailer Loading ProblemContailer Loading Problem

3d Bin Packing Problem3d Bin Packing Problem

Page 5: introductino to persistent homology and topological data analysis

社内勉強会社内勉強会GPGPUGPGPU並列並⾏行プログラミング並列並⾏行プログラミングEMC++EMC++輪読会輪読会

Page 6: introductino to persistent homology and topological data analysis

ところで...ところで...

Page 7: introductino to persistent homology and topological data analysis

並⾏行プログラムには並⾏行プログラムには

Page 8: introductino to persistent homology and topological data analysis

Homotopy Homotopy が潜んでるんですが潜んでるんです

Page 9: introductino to persistent homology and topological data analysis

Marco Grandis

Directed Algebraic Topology ~Models of Non-Reversible Worlds~

Page 10: introductino to persistent homology and topological data analysis

Directed Algebraic Topology and Concurrency(近⽇日発売)

Page 11: introductino to persistent homology and topological data analysis

⼀一緒に勉強してくれる⽅方⼀一緒に勉強してくれる⽅方募集中!!募集中!!

⾮非可換幾何も潜んでいますよ(ボソッ

Page 12: introductino to persistent homology and topological data analysis

本⽇日の内容本⽇日の内容

Page 13: introductino to persistent homology and topological data analysis

単体複体と単体複体と Homology Homology 群群Persistent Homology/ModulePersistent Homology/Module

Discrete Morse Discrete Morse 理論理論

Page 14: introductino to persistent homology and topological data analysis

申し訳ないけど申し訳ないけど

Page 15: introductino to persistent homology and topological data analysis

1. Manifold LearningManifold Learning2. 画像処理画像処理3. 確率場と確率場と Persitent Homology Persitent Homology4. Euler IntegralEuler Integral

Page 16: introductino to persistent homology and topological data analysis

とかの話はしません!!とかの話はしません!!

Page 17: introductino to persistent homology and topological data analysis

出し渋ってます出し渋ってます

Page 18: introductino to persistent homology and topological data analysis

本⾳音は本⾳音は......

Page 19: introductino to persistent homology and topological data analysis

Euler Integral Euler Integral なら話したいなら話したいPersistent/離散 morse との関係含めて,後⽇日 LT ででも...

Page 20: introductino to persistent homology and topological data analysis

1. 1. 単体複体と単体複体と homology homology 群群

Page 21: introductino to persistent homology and topological data analysis

V : finite set, K ⊂ P(V )

が抽象単体複体が抽象単体複体

1) ∀v ∈ V , v ∈ K{ }

2) σ ∈ K, σ ⊃ τ ≠ ϕ ⇒ τ ∈ K

Page 22: introductino to persistent homology and topological data analysis

例:例:Euclid Euclid 空間内の空間内の n- n-単体単体⼀一般の位置にある⼀一般の位置にある n n 点が張る多⾯面体点が張る多⾯面体

2 2 単体単体 3 3 単体単体

Page 23: introductino to persistent homology and topological data analysis

(V , K) : simplicial complex

C (K) = R⟨k simplices⟩ : free modulei

R R 係数の係数の chain chain 複体を次で与える複体を次で与える

C (K) := C (K)∗ ⨁ i

∂⟨v , ..., v ⟩ = (−1) ⟨v , ..., , ..., v ⟩0 n ∑ j0 vj n

Page 24: introductino to persistent homology and topological data analysis

∂ ∘ ∂ = 0Lem. Lem.

従って,従って,B (K) := Im∂ ⊂ ker∂ =: Z (K)j j+1 j j

H (K) = Z (K)/B (K)k k k

def. def.

をを k- k-次次 homology homology 群と⾔言う群と⾔言う

Page 25: introductino to persistent homology and topological data analysis

Rem. Rem.

単体複体の単体複体の homology homology論論 はは chain map chain mapに対しての関⼿手性を持つに対しての関⼿手性を持つ

i : C ↪ D : inclusion∗ ∗

特に,特に,

に対して次の準同型を導くに対して次の準同型を導く

i : H (C) → H (D)∗ ∗ ∗

Page 26: introductino to persistent homology and topological data analysis

例:離散集合の例:離散集合の homology homologyV = v , K = v (i = 1, ..., k){ i}i=1

k {{ i} }

∂ = 0 (∀i)i は明らかなのでは明らかなのでH (K) = R0

k

H (K) = 0 (i ≠ 0)i

Page 27: introductino to persistent homology and topological data analysis

単体複体の例単体複体の例

Page 28: introductino to persistent homology and topological data analysis

ČČechech複体複体

point cloud X = x ⊂ R{ i}iN

半径半径 r>0 r>0 に対し,に対し,ČČech ech 複体複体

(X) = i , ...i ∣∩ B (x ) ≠ ϕCkr {{ 0 k} j=0

kr ij

}

で与える.ここでで与える.ここでB (x) = y ∈R ∣∣y − x∣ ≤ r : closed ballr { N }

Page 29: introductino to persistent homology and topological data analysis

Vietoris-Rips Vietoris-Rips 複体複体Čech 複体の k-単体は k 個全ての interseection ≠φだったけど...

V (X) = i , ...i ∣B (x ) ∩ B (x ) ≠ ϕkr {{ 0 k} r ij r il

}

i.e. i.e. 任意にペアを取って交わればおk任意にペアを取って交わればおk

Page 30: introductino to persistent homology and topological data analysis

明らかに明らかに......(X) ⊂ V (X)Cr r

は成り⽴立つが,実は次も成⽴立は成り⽴立つが,実は次も成⽴立Prop.[Vin de Silva & R.Ghrist]Prop.[Vin de Silva & R.Ghrist]

V (X) ⊂ (X) ⊂ V (X)r/√2 Cr r

De Silva, Vin, and Robert Ghrist. "Coverage in sensor networks via persistent homology."

Algebraic & Geometric Topology 7.1 (2007): 339-358.

Page 31: introductino to persistent homology and topological data analysis

Persistent Homology/ModulePersistent Homology/Module

Page 32: introductino to persistent homology and topological data analysis

K : ech or Rips complex∗r C

以下,簡単のため以下,簡単のため

とするとする

Page 33: introductino to persistent homology and topological data analysis

半径の列半径の列0 ≤ r ≤ r ≤ ... ≤ r ≤ ...0 1 n に対し,に対し,

K ⊂ K∗ri−1

∗ri

包含写像を包含写像をi : K → K : chain mapp,k rk rp+k

で表すで表す

Page 34: introductino to persistent homology and topological data analysis

def.(Persistent Homology)def.(Persistent Homology)

H (X ) = = Im(i )∗p rk

i (Z (X ))∩B (X )p,k∗

rk ∗rp+k

i (Z (X ))p,k∗

rk

∗p,k

をを k-frame p-persistent homology k-frame p-persistent homology 群という群という

Page 35: introductino to persistent homology and topological data analysis

注意: この本の定義とちょっと違うと感じてる⼈人もいるかも...

Page 36: introductino to persistent homology and topological data analysis

先の本では,係数環先の本では,係数環 R R を体としてを体としてR[x] : polynomial ring

がが PID PID であることを⽤用いて単因⼦子論であることを⽤用いて単因⼦子論↓↓

R[x] R[x] 係数⾏行列の係数⾏行列の smith normal form smith normal formを⽤用いて具体的基底を定めて定義を⽤用いて具体的基底を定めて定義

Page 37: introductino to persistent homology and topological data analysis

algorithmic algorithmic に記述されているし,に記述されているし,そのまま実装できるんじゃないそのまま実装できるんじゃない((適当適当

Page 38: introductino to persistent homology and topological data analysis

Persistent Homology Persistent Homology ははPersisten Module Persisten Module の構造を持つの構造を持つ

Page 39: introductino to persistent homology and topological data analysis

What Persistent Module??What Persistent Module??

Page 40: introductino to persistent homology and topological data analysis

以下,以下, index index を考える順序集合はを考える順序集合は

(I, ≤) : (R, ≤) or (Z, ≤) or (N, ≤)

とするとする

先ほどは 半径の離散列だったので N を使⽤用してた

Page 41: introductino to persistent homology and topological data analysis

def. (persistent module)def. (persistent module)

(V , ρ ) : P ersitent Modulet t,s

V : vector spaces{ t}t∈I

ρ : V → V (s ≤ t ∈ I)t,s s t

に対しに対し

⇔ ρ = ρ ∘ ρ (r ≤ s ≤ t)t,r t,s s,r

Page 42: introductino to persistent homology and topological data analysis

先に与えた先に与えた Persistent Homology Persistent Homology ががPersistent Module Persistent Module になることは,になることは,

Homology Homology の関⼿手性の関⼿手性

i : C → D , j : D → E∗ ∗ ∗ ∗

(j ∘ i) = j ∘ i : H (C) → H (E)∗ ∗ ∗ ∗ ∗

より従うより従う

Page 43: introductino to persistent homology and topological data analysis

例例:(Interval Module):(Interval Module)J ⊂ R : interval に対し,に対し,

k (s) = k (s ∈ J)J

k (s) = 0 (otherwise)J

ρ = id (s ≤ t & s, t ∈ J)t,s

で定まるものをで定まるものを interval module interval module と⾔言うと⾔言う

Page 44: introductino to persistent homology and topological data analysis

Persistent Module Persistent Module の⼀一般論からの⼀一般論から

Thm. (decomposition theorem)Thm. (decomposition theorem)

(V , ρ ) : P ersistent moduleV

wh/ V is finite dim.t

このとき,このとき,V ≅ k⨁ J

と,と, interval module interval module の和で表すことができるの和で表すことができる

Page 45: introductino to persistent homology and topological data analysis

Remark:Remark:上の定理より,上の定理より,Persistent Module Persistent Module をを "bar" "bar" で図⽰示で図⽰示これが世にいうこれが世にいう bar-code bar-code

Page 46: introductino to persistent homology and topological data analysis

⼀一⽅方,⼀一⽅方,J: interval J: interval に対しに対しb(J): b(J): 左端点左端点 = birth = birthd(J): d(J): 右端点右端点 = death = death

(b(J), d(J)) ∈R2

persistent module persistent module を図⽰示を図⽰示↓

世にいう世にいう Persistent Diagram Persistent Diagram

を⽤用いてを⽤用いて

Page 47: introductino to persistent homology and topological data analysis

先の表現定理は,当初は先の表現定理は,当初は

Z or N

離散離散 index index でのみ⽰示されていたがでのみ⽰示されていたがR index に対しても

で⽰示された

Crawley-Boevey, William. "Decomposition of pointwise finite-dimensional persistence modules."

Journal of Algebra and Its Applications 14.05 (2015): 1550066.

Page 48: introductino to persistent homology and topological data analysis

Persistent Homology Persistent Homology ののMorse Morse 理論的⾒見⽅方理論的⾒見⽅方

Page 49: introductino to persistent homology and topological data analysis

X = x ⊂R : pt cloud{ i} N

""⾼高さ⾼高さ""関数関数 f f を次で与えるを次で与える

f(p) = min ∣∣p − x ∣∣i { i }

X ↪ X ↪ ... : augumented pt cloudr0 r1

はは f f を⽤用いて次のように書けるを⽤用いて次のように書ける

Page 50: introductino to persistent homology and topological data analysis

f (−∞, r ] ↪ f (−∞, r ] ↪ ..−10

−11

Page 51: introductino to persistent homology and topological data analysis

Morse Morse 関数っぽいぞ!!関数っぽいぞ!!

Page 52: introductino to persistent homology and topological data analysis

別に距離じゃなくても!?別に距離じゃなくても!?

Page 53: introductino to persistent homology and topological data analysis

例:例:(Eccentricity Functional)(Eccentricity Functional)

Page 54: introductino to persistent homology and topological data analysis

X-shape X-shape 上の上の Eccentricity functional Eccentricity functional

E (x) := d(x, y) dyp {∫y∈X

p }1/p

このときこのとき t t を適切にとるとを適切にとるとH (E ) ≅ k0 ≥t

p 4

が分かる.が分かる.((計算すればわかる)計算すればわかる)

Lum, P. Y., et al. "Extracting insights from the shape of complex data using topology."

Scientific reports 3 (2013).

Page 55: introductino to persistent homology and topological data analysis

Morse Theory for filtrationsMorse Theory for filtrationsandand

efficient computing of Persistent efficient computing of PersistentHomologyHomology

Page 56: introductino to persistent homology and topological data analysis

Persistent Homology Persistent Homology の最悪計算量はの最悪計算量はn n をを filtration filtration の⾧長さとしたときの⾧長さとしたとき

O(n )ω

ここで,ここで, ωω はは n × n n × n ⾏行列の⾏行列積の計算量の指数⾏行列の⾏行列積の計算量の指数

rem: rem: Strassen Strassen のの algorithm algorithm ではでは ωω ~ 2.8 ~ 2.8

Page 57: introductino to persistent homology and topological data analysis

鎖複体を⼩小さくして計算量少なく鎖複体を⼩小さくして計算量少なく

Page 58: introductino to persistent homology and topological data analysis

記号の導⼊入記号の導⼊入(C , ∂) : chain complex∗

κ : C × C → R∗ ∗

∂σ = κ(σ, τ)τ∑

を,次が成り⽴立つものとして定めるを,次が成り⽴立つものとして定める

Page 59: introductino to persistent homology and topological data analysis

def.(partial matching)def.(partial matching)

C : chain complex∗

がが C C の分割の分割

(A, ω : Q → K)

⇔ (A, K, Q)

がが partial matching partial matching

κ(ω(q), q) ∈ R×

Page 60: introductino to persistent homology and topological data analysis

def(acyclic)

⇔⇔ 2 2 項関係項関係

q′ ⊲ q ⇔ q′ ≺ ω(q)

のの transitive closure transitive closure がが partial ordering partial ordering

partial matching( A, ω : Q → K) : acyclic

(i.e. 反射的・推移的・反対称的な 2 項関係)

Page 61: introductino to persistent homology and topological data analysis

(A, ω : Q → K) : acyclic に対してに対してρ = (q , ω(q ), ..., q , ω(q ))1 1 M M

がが gradient path gradient path

このときこのとき⇔ q ⊲ q (⇔ q ≺ ω(q ) )j+1 j j+1 j

q := q ∈ Qρ 1

k := ω(q ) ∈ Kρ M

Page 62: introductino to persistent homology and topological data analysis

def(index of ρ)

ν(ρ) := −κ(ω(q ),q )∏j=1M

j j

κ(ω(q ),q )∏ j=1M−1

j j+1

A, A′ : simplices に対して,に対して,q ≺ A, A′ ≺ kρ ρ

が成り⽴立つとき,が成り⽴立つとき,ρρをを A A からから A' A' へのへのconnectionconnectionというという

Page 63: introductino to persistent homology and topological data analysis

def : (morse complex)

(A : ω : Q → K) : acyclic

A := A ∩ Cq q

(a, a′) = κ(a, a′) + κ(a, q )ν(ρ)κ(k , a′)κ~ ∑ ρ ρ

と置くと置く

( A , )∏q∈Z q κ~をを morse complex morse complex というという

Page 64: introductino to persistent homology and topological data analysis

T hm :H (C) ≅ H (A)∗ ∗

Page 65: introductino to persistent homology and topological data analysis

Persistent Persistent にこれを拡張するにこれを拡張する

Page 66: introductino to persistent homology and topological data analysis

Filetered Morse Complex Filetered Morse Complex

Page 67: introductino to persistent homology and topological data analysis

F = C ∣k = 1, ..., n : filtration{ k }

def : (filtered acyclic matching)

(A , ω : Q → K ) : acylic matchingk k k k

が,さらにが,さらにω ≡ ω ∣k k+1

Qk

を満たすとき,を満たすとき,filtered acyclic matching filtered acyclic matching というという

Page 68: introductino to persistent homology and topological data analysis

M := A ∣k = 1, ..., n{ k }

P rop

はは(A , ) : morse complexn κ~n

のの filtration filtration

Page 69: introductino to persistent homology and topological data analysis

T hm :

H (C ) = H (A )∗p k

∗p k

i.e. Persistent homology i.e. Persistent homology に拡張できるに拡張できる

Page 70: introductino to persistent homology and topological data analysis

algorithm:algorithm:省略省略