Draft
Isomap
Preserve distances along a neighbor graph so a curved manifold can be unfolded into a low-dimensional map.
Hook problem: straight lines can cut through the fold
Imagine points lying on a curled sheet. Two points may be close through the air but far apart if you have to walk along the sheet.
Raw MDS uses straight distances, so it can flatten the wrong neighbors together. Isomap repairs that by measuring distance along a neighbor graph.
too eager on a curved surface
approximates geodesic distance
Run MDS on graph shortest paths, not raw straight-line distances.
First naive idea: run MDS on Euclidean distances
That works when the structure is already flat. It becomes painful when the important geometry is curved, because Euclidean distance takes shortcuts through empty space.
Core invention: local graph first, layout second
Isomap has three moves:
- connect each point to nearby neighbors;
- compute graph shortest-path distances, written
$D_{geo}(i,j)$; - run MDS on that geodesic distance table.
The neighbor graph is the bet: local distances are trustworthy, and long distances should be assembled from local walks.
Trace lab
Euclidean shortcuts can cut through a curved manifold, so Isomap first builds a neighbor graph.
local edges only
Implementation sketch
build a k-nearest-neighbor graph;
weight each edge by local distance;
run all-pairs shortest paths on the graph;
apply MDS to the graph-distance matrix;
Common confusions
- Isomap is sensitive to the neighbor parameter.
- Disconnected neighbor graphs break the shortest-path table.
- It preserves manifold distance, not arbitrary class separation.
Keep the directions where centered data varies most.
Place points so low-dimensional distances imitate the original distance table.
Use neighbor-graph shortest paths before applying an MDS-style layout.
Use labels to find projections that separate class means while keeping classes tight.
Let each class keep its own covariance, creating quadratic boundaries rather than one shared projection.
Match neighbor probabilities between high and low dimensions.
Repair SNE's crowding problem with a heavy-tailed low-dimensional similarity.
Build a fuzzy neighbor graph, then optimize a low-dimensional graph with similar membership strengths.
Exercises
- Why does Isomap not trust long straight-line distances?
- What happens if the neighbor graph is disconnected?
- Which part of Isomap is inherited from MDS?
Graph connections : Isomap