Möbius strip in Matlab
One good way of testing how well dimensionality reduction techniques deal with topologically interesting manifolds is to use a dataset with a topologically interesting shape in it. The obvious candidate is of course the Möbius strip. I could find lots of scripts to create a mesh of the Möbius strip, but nothing to create a pointcloud. So I quickly hacked one together:
n = 2000;
u = rand(n,1);
u = u * (2 * pi);
v = rand(n,1);
v = v * 2;
v = v - 1;
x = cos(u) + v.*cos(0.5*u).*cos(u);
y = sin(u) + v.*cos(0.5*u).*sin(u);
z = v.*sin(0.5*u);
It’s far from perfect and only creates a rough strip, but for a version 0.1 it’ll do. No DR technique so far can detect the fact that the strip is infact a plane stretched out and twisted in 3D space, could be a case that parameters need tweaking, or it could be that most DR techniques aren’t suited to identifying underlying topologies.
No comments
Jump to comment form | comments rss [?] | trackback uri [?]