Isomap "nonlinear dimensionality reduction" 点数
Isomap "nonlinear dimensionality reduction" numbre of points
我有一个问题,是关于'Isomap'非线性降维的,一般情况下我引入100 * 100的矩阵距离
我应用 Isomap [http://isomap.stanford.edu/][1] 我得到 100 个点的坐标,在其他情况下我不明白为什么,使用 150 * 150 的矩阵我得到 juste 35 或 50 个点?
Isomap 的第一步通常是创建一个 "nearest neighbor matrix" 以便每个点都连接到它的 4 或 6 或 8 或最近的邻居。
因此,您可以从一个 100 x 100 的距离矩阵开始,并且每个点到其他 99 个点都有距离,在这第一步之后,除了(4 或 6 或 8)最近点之外的任何东西的距离都是设置为无穷大。
然后 Isomap 计算最短路径距离,在附近的点之间跳跃以到达更远的点。
在你的情况下,当你创建一个 150 个点的矩阵时,我认为一旦你在第一步中只保留附近的点,这些点就会断开连接,并且远点之间会有路径。许多 Isomap 代码的默认行为是 return 最大连接点集合的 Isomap 嵌入。
如何解决这个问题?
1.你可以增加你使用的最近邻的数量,直到你得到所有的点。
警告:在许多自然情况下,如果您包括大部分或所有邻居,最终会出现过程的最短路径部分什么都不做的情况,这会简化为一个称为 "multi-dimensional scaling" 的问题这给出了线性嵌入。
我有一个问题,是关于'Isomap'非线性降维的,一般情况下我引入100 * 100的矩阵距离 我应用 Isomap [http://isomap.stanford.edu/][1] 我得到 100 个点的坐标,在其他情况下我不明白为什么,使用 150 * 150 的矩阵我得到 juste 35 或 50 个点?
Isomap 的第一步通常是创建一个 "nearest neighbor matrix" 以便每个点都连接到它的 4 或 6 或 8 或最近的邻居。
因此,您可以从一个 100 x 100 的距离矩阵开始,并且每个点到其他 99 个点都有距离,在这第一步之后,除了(4 或 6 或 8)最近点之外的任何东西的距离都是设置为无穷大。
然后 Isomap 计算最短路径距离,在附近的点之间跳跃以到达更远的点。
在你的情况下,当你创建一个 150 个点的矩阵时,我认为一旦你在第一步中只保留附近的点,这些点就会断开连接,并且远点之间会有路径。许多 Isomap 代码的默认行为是 return 最大连接点集合的 Isomap 嵌入。
如何解决这个问题? 1.你可以增加你使用的最近邻的数量,直到你得到所有的点。
警告:在许多自然情况下,如果您包括大部分或所有邻居,最终会出现过程的最短路径部分什么都不做的情况,这会简化为一个称为 "multi-dimensional scaling" 的问题这给出了线性嵌入。