SlideShare a Scribd company logo
1 of 70
Download to read offline
Introduction toIntroduction to
Persistent HomologyPersistent Homology
andand
Topological 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++輪読会輪読会
ところで...ところで...
並⾏行プログラムには並⾏行プログラムには
HomotopyHomotopy が潜んでるんですが潜んでるんです
Marco Grandis
Directed Algebraic Topology ~Models of Non-Reversible Worlds~
Directed Algebraic Topology and Concurrency(近⽇日発売)
⼀一緒に勉強してくれる⽅方⼀一緒に勉強してくれる⽅方
募集中!!募集中!!
⾮非可換幾何も潜んでいますよ(ボソッ
本⽇日の内容本⽇日の内容
単体複体と単体複体と HomologyHomology 群群
Persistent Homology/ModulePersistent Homology/Module
Discrete MorseDiscrete Morse 理論理論
申し訳ないけど申し訳ないけど
1. Manifold LearningManifold Learning
2. 画像処理画像処理
3. 確率場と確率場と Persitent HomologyPersitent Homology
4. Euler IntegralEuler Integral
とかの話はしません!!とかの話はしません!!
出し渋ってます出し渋ってます
本⾳音は本⾳音は......
Euler IntegralEuler Integral なら話したいなら話したい
Persistent/離散 morse との関係含めて,後⽇日 LT ででも...
1.1. 単体複体と単体複体と homologyhomology 群群
V : finite set, K ⊂ P(V )
が抽象単体複体が抽象単体複体
1) ∀v ∈ V , v ∈ K{ }
2) σ ∈ K, σ ⊃ τ ≠ ϕ ⇒ τ ∈ K
⇔
例:例:EuclidEuclid 空間内の空間内の n-n-単体単体
⼀一般の位置にある⼀一般の位置にある nn 点が張る多⾯面体点が張る多⾯面体
22 単体単体 33 単体単体
(V , K) : simplicial complex
C (K) = R⟨k simplices⟩ : free modulei
RR 係数の係数の chainchain 複体を次で与える複体を次で与える
C (K) := C (K)∗ ⨁ i
∂⟨v , ..., v ⟩ = (−1) ⟨v , ..., , ..., v ⟩0 n ∑ j
0 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-次次 homologyhomology 群と⾔言う群と⾔言う
Rem.Rem.
単体複体の単体複体の homologyhomology論論 はは chain mapchain map
に対しての関⼿手性を持つに対しての関⼿手性を持つ
i : C ↪ D : inclusion∗ ∗
特に,特に,
に対して次の準同型を導くに対して次の準同型を導く
i : H (C) → H (D)∗ ∗ ∗
例:離散集合の例:離散集合の homologyhomology
V = 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}i
N
半径半径 r>0r>0 に対し,に対し,ČČechech 複体複体
(X) = i , ...i ∣∩ B (x ) ≠ ϕCˇ
k
r
{{ 0 k} j=0
k
r ij
}
で与える.ここでで与える.ここで
B (x) = y ∈R ∣∣y − x∣ ≤ r : closed ballr { N
}
Vietoris-RipsVietoris-Rips 複体複体
Čech 複体の k-単体は k 個全ての interseection ≠φだったけど...
V (X) = i , ...i ∣B (x ) ∩ B (x ) ≠ ϕk
r
{{ 0 k} r ij r il
}
i.e.i.e. 任意にペアを取って交わればおk任意にペアを取って交わればおk
明らかに明らかに......
(X) ⊂ V (X)Cˇr r
は成り⽴立つが,実は次も成⽴立は成り⽴立つが,実は次も成⽴立
Prop.[Vin de Silva & R.Ghrist]Prop.[Vin de Silva & R.Ghrist]
V (X) ⊂ (X) ⊂ V (X)r/√2
Cˇr 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 homologyk-frame p-persistent homology 群という群という
注意: この本の定義とちょっと違うと感じてる⼈人もいるかも...
先の本では,係数環先の本では,係数環 RR を体としてを体として
R[x] : polynomial ring
がが PIDPID であることを⽤用いて単因⼦子論であることを⽤用いて単因⼦子論
↓↓
R[x]R[x] 係数⾏行列の係数⾏行列の smith normal formsmith normal form
を⽤用いて具体的基底を定めて定義を⽤用いて具体的基底を定めて定義
algorithmicalgorithmic に記述されているし,に記述されているし,
そのまま実装できるんじゃないそのまま実装できるんじゃない((適当適当
Persistent HomologyPersistent Homology はは
Persisten ModulePersisten Module の構造を持つの構造を持つ
What Persistent Module??What Persistent Module??
以下,以下, indexindex を考える順序集合はを考える順序集合は
(I, ≤) : (R, ≤) or (Z, ≤) or (N, ≤)
とするとする
先ほどは 半径の離散列だったので N を使⽤用してた
def. (persistent module)def. (persistent module)
(V , ρ ) : Persitent 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 HomologyPersistent Homology がが
Persistent ModulePersistent Module になることは,になることは,
HomologyHomology の関⼿手性の関⼿手性
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 moduleinterval module と⾔言うと⾔言う
Persistent ModulePersistent Module の⼀一般論からの⼀一般論から
Thm. (decomposition theorem)Thm. (decomposition theorem)
(V , ρ ) : Persistent moduleV
wh/ V is finite dim.t
このとき,このとき,
V ≅ k⨁ J
と,と, interval moduleinterval module の和で表すことができるの和で表すことができる
Remark:Remark:上の定理より,上の定理より,
Persistent ModulePersistent Module をを "bar""bar" で図⽰示で図⽰示
これが世にいうこれが世にいう bar-codebar-code
⼀一⽅方,⼀一⽅方,J: intervalJ: interval に対しに対し
b(J):b(J): 左端点左端点 = birth= birth
d(J):d(J): 右端点右端点 = death= death
(b(J), d(J)) ∈R2
persistent modulepersistent module を図⽰示を図⽰示
↓
世にいう世にいう Persistent DiagramPersistent Diagram
を⽤用いてを⽤用いて
先の表現定理は,当初は先の表現定理は,当初は
Z or N
離散離散 indexindex でのみ⽰示されていたがでのみ⽰示されていたが
R index に対しても
で⽰示された
Crawley-Boevey, William. "Decomposition of pointwise finite-dimensional persistence modules."
Journal of Algebra and Its Applications 14.05 (2015): 1550066.
Persistent HomologyPersistent Homology のの
MorseMorse 理論的⾒見⽅方理論的⾒見⽅方
X = x ⊂R : pt cloud{ i} N
""⾼高さ⾼高さ""関数関数 ff を次で与えるを次で与える
f(p) = min ∣∣p − x ∣∣i { i }
X ↪ X ↪ ... : augumented pt cloudr0 r1
はは ff を⽤用いて次のように書けるを⽤用いて次のように書ける
f (−∞, r ] ↪ f (−∞, r ] ↪ ..−1
0
−1
1
MorseMorse 関数っぽいぞ!!関数っぽいぞ!!
別に距離じゃなくても!?別に距離じゃなくても!?
例:例:(Eccentricity Functional)(Eccentricity Functional)
X-shapeX-shape 上の上の Eccentricity functionalEccentricity functional
E (x) := d(x, y) dyp
{∫y∈X
p
}
1/p
このときこのとき tt を適切にとるとを適切にとると
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 filtrations
andand
efficient computing of Persistentefficient computing of Persistent
HomologyHomology
Persistent HomologyPersistent Homology の最悪計算量はの最悪計算量は
nn をを filtrationfiltration の⾧長さとしたときの⾧長さとしたとき
O(n )ω
ここで,ここで, ωω はは n × nn × n ⾏行列の⾏行列積の計算量の指数⾏行列の⾏行列積の計算量の指数
rem:rem:
StrassenStrassen のの algorithmalgorithm ではでは ωω ~ 2.8~ 2.8
鎖複体を⼩小さくして計算量少なく鎖複体を⼩小さくして計算量少なく
記号の導⼊入記号の導⼊入
(C , ∂) : chain complex∗
κ : C × C → R∗ ∗
∂σ = κ(σ, τ)τ∑
を,次が成り⽴立つものとして定めるを,次が成り⽴立つものとして定める
def.(partial matching)def.(partial matching)
C : chain complex∗
がが CC の分割の分割
(A, ω : Q → K)
⇔ (A, K, Q)
がが partial matchingpartial matching
κ(ω(q), q) ∈ R×
def(acyclic)
22 項関係項関係
q′ ⊲ q ⇔ q′ ≺ ω(q)
のの transitive closuretransitive closure がが partial orderingpartial ordering
partial matching( A, ω : Q → K) : acyclic
(i.e. 反射的・推移的・反対称的な 2 項関係)
(A, ω : Q → K) : acyclic に対してに対して
ρ = (q , ω(q ), ..., q , ω(q ))1 1 M M
がが gradient pathgradient 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=1
M
j j
κ(ω(q ),q )∏ j=1
M−1
j j+1
A, A′ : simplices に対して,に対して,
q ≺ A, A′ ≺ kρ ρ
が成り⽴立つとき,が成り⽴立つとき,
ρρをを AA からから 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 complexmorse complex というという
Thm :
H (C) ≅ H (A)∗ ∗
PersistentPersistent にこれを拡張するにこれを拡張する
Filetered Morse ComplexFiletered 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 matchingfiltered acyclic matching というという
M := A ∣k = 1, ..., n{ k
}
Prop
はは
(A , ) : morse complexn
κ~n
のの filtrationfiltration
Thm :
H (C ) = H (A )∗
p k
∗
p k
i.e. Persistent homologyi.e. Persistent homology に拡張できるに拡張できる
algorithm:algorithm:
省略省略

More Related Content

Similar to introductino to persistent homology and topological data analysis

topology of musical data
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Masahiro Sakai
 
導来代数幾何入門
導来代数幾何入門導来代数幾何入門
導来代数幾何入門Naoya Umezaki
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装するShuhei Iitsuka
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationtakutori
 
OWLで何が言えるか
OWLで何が言えるかOWLで何が言えるか
OWLで何が言えるかKazuro Fukuhara
 
カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論Daiki Tanaka
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門Tatsuki SHIMIZU
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Taiji Suzuki
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical ProgrammingMasahiro Sakai
 
生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333Issei Kurahashi
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介Deep Learning JP
 
130323 slide all
130323 slide all130323 slide all
130323 slide allikea0064
 
半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...
半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...
半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...Yuya Masumura
 
Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明Yoshihiro Mizoguchi
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転Yoshihiro Mizoguchi
 

Similar to introductino to persistent homology and topological data analysis (20)

topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
導来代数幾何入門
導来代数幾何入門導来代数幾何入門
導来代数幾何入門
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装する
 
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___informationDeep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
 
OWLで何が言えるか
OWLで何が言えるかOWLで何が言えるか
OWLで何が言えるか
 
カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 
Topic model
Topic modelTopic model
Topic model
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 
生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
 
130323 slide all
130323 slide all130323 slide all
130323 slide all
 
半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...
半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...
半正定値計画問題と最大カット Sedemifinite Programming and Approximation Algorithm for Maxcu...
 
Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明Coq関係計算ライブラリの開発と写像の性質の証明
Coq関係計算ライブラリの開発と写像の性質の証明
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 

More from Tatsuki SHIMIZU

Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~Tatsuki SHIMIZU
 
Introduction to Persistence Theory
Introduction to Persistence TheoryIntroduction to Persistence Theory
Introduction to Persistence TheoryTatsuki SHIMIZU
 
エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~
エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~
エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~Tatsuki SHIMIZU
 
Euler 標数は測度ですか??
Euler 標数は測度ですか??Euler 標数は測度ですか??
Euler 標数は測度ですか??Tatsuki SHIMIZU
 
Operad and Recognition Principle
Operad and Recognition PrincipleOperad and Recognition Principle
Operad and Recognition PrincipleTatsuki SHIMIZU
 
Introduction to Topological Data Analysis
Introduction to Topological Data AnalysisIntroduction to Topological Data Analysis
Introduction to Topological Data AnalysisTatsuki SHIMIZU
 
情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5Tatsuki SHIMIZU
 
情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1Tatsuki SHIMIZU
 
effective modern c++ chapeter36
effective modern c++ chapeter36effective modern c++ chapeter36
effective modern c++ chapeter36Tatsuki SHIMIZU
 

More from Tatsuki SHIMIZU (17)

ロマ数16 simizut
ロマ数16 simizutロマ数16 simizut
ロマ数16 simizut
 
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~Magnitude ~ extend the Euler Characteristics via  Möbius Inversion ~
Magnitude ~ extend the Euler Characteristics via Möbius Inversion ~
 
TDA やら Night!!
TDA やら Night!!TDA やら Night!!
TDA やら Night!!
 
Introduction to Persistence Theory
Introduction to Persistence TheoryIntroduction to Persistence Theory
Introduction to Persistence Theory
 
エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~
エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~
エキゾチック球面ナイト(浮気編)~28 日周期の彼女たち~
 
Practical topology
Practical topologyPractical topology
Practical topology
 
Euler 標数は測度ですか??
Euler 標数は測度ですか??Euler 標数は測度ですか??
Euler 標数は測度ですか??
 
Operad and Recognition Principle
Operad and Recognition PrincipleOperad and Recognition Principle
Operad and Recognition Principle
 
しかくのお勉強
しかくのお勉強しかくのお勉強
しかくのお勉強
 
Packing
PackingPacking
Packing
 
Introduction to Topological Data Analysis
Introduction to Topological Data AnalysisIntroduction to Topological Data Analysis
Introduction to Topological Data Analysis
 
情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5
 
Jules henri poincaré
Jules henri poincaréJules henri poincaré
Jules henri poincaré
 
情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1情報幾何の基礎輪読会 #1
情報幾何の基礎輪読会 #1
 
Effective modern-c++#9
Effective modern-c++#9Effective modern-c++#9
Effective modern-c++#9
 
effective modern c++ chapeter36
effective modern c++ chapeter36effective modern c++ chapeter36
effective modern c++ chapeter36
 
emc++ chapter32
emc++ chapter32emc++ chapter32
emc++ chapter32
 

introductino to persistent homology and topological data analysis