SLIDE 1
PCA on manifolds: application to spaces of landmarks Dr Sergey - - PowerPoint PPT Presentation
PCA on manifolds: application to spaces of landmarks Dr Sergey - - PowerPoint PPT Presentation
PCA on manifolds: application to spaces of landmarks Dr Sergey Kushnarev Singapore University of Technology and Design Infinite-dimensional Riemannian geometry with applications to image matching and shape analysis. ESI, Vienna January 16,
SLIDE 2
SLIDE 3
Principal Component Analysis
Goal of PCA: find the sequence of linear subspaces Vk that best represent the variability of the data. x1, . . . , xn ∈ Rd. Vk = span{v1, v2, ..., vk}.
◮ v1 = arg max v=1 n
- i=1
(v · xi)2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
(v1 · xi)2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
(vj · xi)2 + (v · xi)2.
SLIDE 4
Principal Component Analysis
Goal of PCA: find the sequence of linear subspaces Vk that best represent the variability of the data. x1, . . . , xn ∈ Rd. Vk = span{v1, v2, ..., vk}.
◮ v1 = arg max v=1 n
- i=1
(v · xi)2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
(v1 · xi)2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
(vj · xi)2 + (v · xi)2.
SLIDE 5
Principal Component Analysis
Goal of PCA: find the sequence of linear subspaces Vk that best represent the variability of the data. x1, . . . , xn ∈ Rd. Vk = span{v1, v2, ..., vk}.
◮ v1 = arg max v=1 n
- i=1
(v · xi)2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
(v1 · xi)2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
(vj · xi)2 + (v · xi)2.
SLIDE 6
Principal Component Analysis
Goal of PCA: find the sequence of linear subspaces Vk that best represent the variability of the data. x1, . . . , xn ∈ Rd. Vk = span{v1, v2, ..., vk}.
◮ v1 = arg max v=1 n
- i=1
(v · xi)2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
(v1 · xi)2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
(vj · xi)2 + (v · xi)2.
SLIDE 7
Principal Component Analysis
Goal of PCA: find the sequence of linear subspaces Vk that best represent the variability of the data. x1, . . . , xn ∈ Rd. Vk = span{v1, v2, ..., vk}.
◮ v1 = arg max v=1 n
- i=1
(v · xi)2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
(v1 · xi)2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
(vj · xi)2 + (v · xi)2.
SLIDE 8
Principal Component Analysis
Maximizing projected variance: vk = arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
(vj · xi)2 + (v · xi)2 Or, equivalently, minimizing residuals: vk = arg min
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
xi − (vj · xi)vj2 + xi − (v · xi)v2
SLIDE 9
PCA on a manifold?
M xk
SLIDE 10
Tangent PCA
Karcher mean µ = arg min
y∈M N
- k=1
d(xk, y)2
M xk µ
SLIDE 11
Tangent PCA
Karcher mean µ = arg min
y∈M N
- k=1
d(xk, y)2
M µ TµM vk xk
SLIDE 12
Tangent PCA
Shape space linearization via vk ∈ TµM
M µ TµM vk xk
Tangent PCA: finding the sequence of linear subspaces Vk ∈ TµM that best represent the variability of the data.
SLIDE 13
Tangent PCA
Shape space linearization via vk ∈ TµM
M µ TµM vk xk
Tangent PCA: finding the sequence of linear subspaces Vk ∈ TµM that best represent the variability of the data.
SLIDE 14
Problems with linearization
dist(s1, s2)2 = dist(expµ(v1), expµ(v2))2 = v1 − v22 − 1 3K(v1, v2) + o(v4).
If K(v1, v2) < 0, then dist(expµ(v1), expµ(v2)) > v1 − v2 If K(v1, v2) > 0, then dist(expµ(v1), expµ(v2)) < v1 − v2
v1 v2 s1 s2 µ K > 0 v1 v2 s1 s2 µ K = 0 v1 v2 s1 s2 µ K < 0
SLIDE 15
PCA on a manifold, effects of curvature
M = R2, ds2 = (1 + y2)(dx2 + dy2), K = y2 − 1 (y2 + 1)3 . Points uniformly distributed in T0M.
SLIDE 16
PCA on a manifold, effects of curvature
ds2 = (1 + y2)(dx2 + dy2), K = y2 − 1 (y2 + 1)3 . Points uniformly distributed in M.
SLIDE 17
Geodesic PCA (Fletcher)
Geodesic PCA: finding the sequence of geodesic subspaces Sk ∈ M that best represent the variability of the data.
M xk µ S1 S2
SLIDE 18
Geodesic PCA (Fletcher)
Projection π : M → H. πH(x) = arg min
y∈H
d(x, y)2.
Logx y Logµ x Logµ y µ x y H y π(x)
SLIDE 19
Geodesic PCA (Fletcher)
Geodesic subspace S = Expµ V , V ⊂ TµM. Projection π : M → H. πH(x) = arg min
y∈H
d(x, y)2.
◮ v1 = arg max v=1 n
- i=1
d(µ, πSv (xi))2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
d(µ, πSv1(xi))2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
d(µ, πSvj (xi))2 + (v · xi)2.
SLIDE 20
Geodesic PCA (Fletcher)
Geodesic subspace S = Expµ V , V ⊂ TµM. Projection π : M → H. πH(x) = arg min
y∈H
d(x, y)2.
◮ v1 = arg max v=1 n
- i=1
d(µ, πSv (xi))2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
d(µ, πSv1(xi))2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
d(µ, πSvj (xi))2 + (v · xi)2.
SLIDE 21
Geodesic PCA (Fletcher)
Geodesic subspace S = Expµ V , V ⊂ TµM. Projection π : M → H. πH(x) = arg min
y∈H
d(x, y)2.
◮ v1 = arg max v=1 n
- i=1
d(µ, πSv (xi))2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
d(µ, πSv1(xi))2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
d(µ, πSvj (xi))2 + (v · xi)2.
SLIDE 22
Geodesic PCA (Fletcher)
Geodesic subspace S = Expµ V , V ⊂ TµM. Projection π : M → H. πH(x) = arg min
y∈H
d(x, y)2.
◮ v1 = arg max v=1 n
- i=1
d(µ, πSv (xi))2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
d(µ, πSv1(xi))2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
d(µ, πSvj (xi))2 + (v · xi)2.
SLIDE 23
Geodesic PCA (Fletcher)
Geodesic subspace S = Expµ V , V ⊂ TµM. Projection π : M → H. πH(x) = arg min
y∈H
d(x, y)2.
◮ v1 = arg max v=1 n
- i=1
d(µ, πSv (xi))2,
◮ v2 =
arg max
v=1,v⊥V1 n
- i=1
d(µ, πSv1(xi))2 + (v · xi)2,
◮ . . . ◮ vk =
arg max
v=1,v⊥Vk−1 n
- i=1
k−1
- j=1
d(µ, πSvj (xi))2 + (v · xi)2.
SLIDE 24
Variance vs residuals
Maximizing variance: vi = arg max
v=1,v∈V ⊥
i−1
N
- j=1
d(µ, πSv (xj))2, Minimizing residuals vi = arg min
v=1,v∈V ⊥
i−1
N
- j=1
d(xj, πSv (xj))2,
SLIDE 25
What the PCA?!
◮ Tangent PCA (linearization) ◮ Geodesic PCA (computationally intensive) ◮ Let’s try: Curvature PCA (quadratic PCA?)
SLIDE 26
What the PCA?!
◮ Tangent PCA (linearization) ◮ Geodesic PCA (computationally intensive) ◮ Let’s try: Curvature PCA (quadratic PCA?)
SLIDE 27
What the PCA?!
◮ Tangent PCA (linearization) ◮ Geodesic PCA (computationally intensive) ◮ Let’s try: Curvature PCA (quadratic PCA?)
SLIDE 28
Dealing with curvature
Sphere of radius 1/ √ K (sectional curvature is K). cos β = tan √ Kc tan √ Ka , sin β = sin √ Kb sin √ Ka Note: if K < 0, cos β = tanh i √ Kc tanh i √ Ka , which is the same as above, since tanh ix = i tan x.
SLIDE 29
Dealing with curvature
Sphere of radius 1/ √ K (sectional curvature is K). cos β = tan √ Kc tan √ Ka , sin β = sin √ Kb sin √ Ka Note: if K < 0, cos β = tanh i √ Kc tanh i √ Ka , which is the same as above, since tanh ix = i tan x.
SLIDE 30
Dealing with curvature
Projected variance c = 1 √ K arctan
- tan(
√ Ka) cos β
- ,
Residual b = 1 √ K arcsin
- sin(
√ Ka) sin β
SLIDE 31
Dealing with curvature
Looking infinitesimally Projected variance c2 = a2 cos2 β + K 6 a4 sin2(2β) + o(K) Residual b2 = a2 sin2 β − K 3 a4 sin4 β + o(K)
SLIDE 32
For vectors {a1, a2, . . . , an} ∈ TpM representing the data {x1, x2, . . . , xn}, we seek direction v, s.t. the projected variance in maximized: v1 = arg max
v,v=1 n
- k=1
- ak2 cos2 β + K(ak, v)
6 ak4 sin2(2β)
- ,
where cos βk = ak, v/akv. Or, not equivalently, the residuals are minimized: v1 = arg min
v,v=1 n
- k=1
- ak2 sin2 β − K(ak, v)
3 ak4 sin4 β
SLIDE 33
For vectors {a1, a2, . . . , an} ∈ TpM representing the data {x1, x2, . . . , xn}, we seek direction v, s.t. the projected variance in maximized: v1 = arg max
v,v=1 n
- k=1
- ak2 cos2 β + K(ak, v)
6 ak4 sin2(2β)
- ,
where cos βk = ak, v/akv. Or, not equivalently, the residuals are minimized: v1 = arg min
v,v=1 n
- k=1
- ak2 sin2 β − K(ak, v)
3 ak4 sin4 β
SLIDE 34
Mario’s formula: work in progress
SLIDE 35
Two landmarks
SLIDE 36
Hippocampus data
JHU data: 60 hippocampi (left, right), 22 landmarks each.
SLIDE 37
Danke Sch¨
- n!
SLIDE 38
Where is this?
SLIDE 39
Workshop “Mathematics of Shapes and Applications”
July 2016
SLIDE 40