在ISOMAP算法中获得邻域的大小

时间:2017-05-03 14:46:42

标签: algorithm graph size

我正在研究ISOMAP算法的原始文章,我无法理解如何从经验上获得邻域(epsilon)的正确大小。

它表示可以通过“欧几里德未考虑的测地距离估计方差的分数”与最近点的数量之间的权衡来获得。

但事实上,我并没有真正的测地距离,对吧?那么,我如何计算实际距离与欧几里德估计之间的残差方差?

提前感谢所有想要帮助的人。

致以最诚挚的问候,

瓦伦蒂娜

1 个答案:

答案 0 :(得分:1)

简短回答:每个人都使用8-12的社区大小。

更长的答案:您可能无法测量欧几里德距离与流形距离之间的差异。 Isomap近似于测地距离 - 使用附近邻居图上的最短路径距离。

这种近似有多好? 如果你有吨和吨的点,那么你可以,例如选择一个邻域大小100,并且所有100点都在你的点附近,并且所有100点的路径非常靠近歧管,那么你可以使用邻域大小为100,最短路径图可能与测地距离非常接近。

通常,你没有那么多积分。那么你就会陷入权衡之中:

使用太少的点,你的最短路径必须稍微锯齿

使用太多的点并且可能存在直接连接应该远离(在流形上)的点的链接,但是包含在您的邻居中。

你如何解决这种权衡?

好吧,选择8-12分。如果你的流形是2-3维的(它可能存在于高维空间中,但是流形上的点只在每个点附近的几个维度上变化),那么8-12个点给出了每个点的一些选项。一堆不同的方向。

如果您的流形超过2-3维,那么Isomap可能无法工作,您需要具有更大的邻域大小(更多点!),以便您有合理的选择来估计您的测地线与附近邻居有链接的路径。

有趣的旁注:如果您选择邻域大小为所有点,则Isomap == PCA。