Upload
tatsuki-shimizu
View
535
Download
1
Embed Size (px)
Citation preview
Introduction toIntroduction toPersistent HomologyPersistent Homology
andandTopological Data AnalysisTopological Data Analysis
第 8 回数学カフェ(2015/10/27)
@simizut22
⾃自⼰己紹介⾃自⼰己紹介
C++er(3C++er(3年⽣生年⽣生))
仕事では主に荷物積んでます:仕事では主に荷物積んでます:Contailer Loading ProblemContailer Loading Problem
3d Bin Packing Problem3d Bin Packing Problem
社内勉強会社内勉強会GPGPUGPGPU並列並⾏行プログラミング並列並⾏行プログラミングEMC++EMC++輪読会輪読会
ところで...ところで...
並⾏行プログラムには並⾏行プログラムには
Homotopy Homotopy が潜んでるんですが潜んでるんです
Marco Grandis
Directed Algebraic Topology ~Models of Non-Reversible Worlds~
Directed Algebraic Topology and Concurrency(近⽇日発売)
⼀一緒に勉強してくれる⽅方⼀一緒に勉強してくれる⽅方募集中!!募集中!!
⾮非可換幾何も潜んでいますよ(ボソッ
本⽇日の内容本⽇日の内容
単体複体と単体複体と Homology Homology 群群Persistent Homology/ModulePersistent Homology/Module
Discrete Morse Discrete Morse 理論理論
申し訳ないけど申し訳ないけど
1. Manifold LearningManifold Learning2. 画像処理画像処理3. 確率場と確率場と Persitent Homology Persitent Homology4. Euler IntegralEuler Integral
とかの話はしません!!とかの話はしません!!
出し渋ってます出し渋ってます
本⾳音は本⾳音は......
Euler Integral Euler Integral なら話したいなら話したいPersistent/離散 morse との関係含めて,後⽇日 LT ででも...
1. 1. 単体複体と単体複体と homology homology 群群
V : finite set, K ⊂ P(V )
が抽象単体複体が抽象単体複体
1) ∀v ∈ V , v ∈ K{ }
2) σ ∈ K, σ ⊃ τ ≠ ϕ ⇒ τ ∈ K
⇔
例:例:Euclid Euclid 空間内の空間内の n- n-単体単体⼀一般の位置にある⼀一般の位置にある n n 点が張る多⾯面体点が張る多⾯面体
2 2 単体単体 3 3 単体単体
(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
∂ ∘ ∂ = 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 群と⾔言う群と⾔言う
Rem. Rem.
単体複体の単体複体の homology homology論論 はは chain map chain mapに対しての関⼿手性を持つに対しての関⼿手性を持つ
i : C ↪ D : inclusion∗ ∗
特に,特に,
に対して次の準同型を導くに対して次の準同型を導く
i : H (C) → H (D)∗ ∗ ∗
例:離散集合の例:離散集合の 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
単体複体の例単体複体の例
ČČ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 }
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
明らかに明らかに......(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.
Persistent Homology/ModulePersistent Homology/Module
K : ech or Rips complex∗r C
以下,簡単のため以下,簡単のため
とするとする
半径の列半径の列0 ≤ r ≤ r ≤ ... ≤ r ≤ ...0 1 n に対し,に対し,
K ⊂ K∗ri−1
∗ri
包含写像を包含写像をi : K → K : chain mapp,k rk rp+k
で表すで表す
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 群という群という
注意: この本の定義とちょっと違うと感じてる⼈人もいるかも...
先の本では,係数環先の本では,係数環 R R を体としてを体としてR[x] : polynomial ring
がが PID PID であることを⽤用いて単因⼦子論であることを⽤用いて単因⼦子論↓↓
R[x] R[x] 係数⾏行列の係数⾏行列の smith normal form smith normal formを⽤用いて具体的基底を定めて定義を⽤用いて具体的基底を定めて定義
algorithmic algorithmic に記述されているし,に記述されているし,そのまま実装できるんじゃないそのまま実装できるんじゃない((適当適当
Persistent Homology Persistent Homology ははPersisten Module Persisten Module の構造を持つの構造を持つ
What Persistent Module??What Persistent Module??
以下,以下, index index を考える順序集合はを考える順序集合は
(I, ≤) : (R, ≤) or (Z, ≤) or (N, ≤)
とするとする
先ほどは 半径の離散列だったので N を使⽤用してた
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
先に与えた先に与えた Persistent Homology Persistent Homology ががPersistent Module Persistent Module になることは,になることは,
Homology Homology の関⼿手性の関⼿手性
i : C → D , j : D → E∗ ∗ ∗ ∗
(j ∘ i) = j ∘ i : H (C) → H (E)∗ ∗ ∗ ∗ ∗
より従うより従う
例例:(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 と⾔言うと⾔言う
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 の和で表すことができるの和で表すことができる
Remark:Remark:上の定理より,上の定理より,Persistent Module Persistent Module をを "bar" "bar" で図⽰示で図⽰示これが世にいうこれが世にいう bar-code bar-code
⼀一⽅方,⼀一⽅方,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
を⽤用いてを⽤用いて
先の表現定理は,当初は先の表現定理は,当初は
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.
Persistent Homology Persistent Homology ののMorse Morse 理論的⾒見⽅方理論的⾒見⽅方
X = x ⊂R : pt cloud{ i} N
""⾼高さ⾼高さ""関数関数 f f を次で与えるを次で与える
f(p) = min ∣∣p − x ∣∣i { i }
X ↪ X ↪ ... : augumented pt cloudr0 r1
はは f f を⽤用いて次のように書けるを⽤用いて次のように書ける
f (−∞, r ] ↪ f (−∞, r ] ↪ ..−10
−11
Morse Morse 関数っぽいぞ!!関数っぽいぞ!!
別に距離じゃなくても!?別に距離じゃなくても!?
例:例:(Eccentricity Functional)(Eccentricity Functional)
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).
Morse Theory for filtrationsMorse Theory for filtrationsandand
efficient computing of Persistent efficient computing of PersistentHomologyHomology
Persistent Homology Persistent Homology の最悪計算量はの最悪計算量はn n をを filtration filtration の⾧長さとしたときの⾧長さとしたとき
O(n )ω
ここで,ここで, ωω はは n × n n × n ⾏行列の⾏行列積の計算量の指数⾏行列の⾏行列積の計算量の指数
rem: rem: Strassen Strassen のの algorithm algorithm ではでは ωω ~ 2.8 ~ 2.8
鎖複体を⼩小さくして計算量少なく鎖複体を⼩小さくして計算量少なく
記号の導⼊入記号の導⼊入(C , ∂) : chain complex∗
κ : C × C → R∗ ∗
∂σ = κ(σ, τ)τ∑
を,次が成り⽴立つものとして定めるを,次が成り⽴立つものとして定める
def.(partial matching)def.(partial matching)
C : chain complex∗
がが C C の分割の分割
(A, ω : Q → K)
⇔ (A, K, Q)
がが partial matching partial matching
κ(ω(q), q) ∈ R×
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 項関係)
(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
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というという
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 というという
T hm :H (C) ≅ H (A)∗ ∗
Persistent Persistent にこれを拡張するにこれを拡張する
Filetered Morse Complex Filetered Morse Complex
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 というという
M := A ∣k = 1, ..., n{ k }
P rop
はは(A , ) : morse complexn κ~n
のの filtration filtration
T hm :
H (C ) = H (A )∗p k
∗p k
i.e. Persistent homology i.e. Persistent homology に拡張できるに拡張できる
algorithm:algorithm:省略省略