Answers:
两种方法提供了截然不同的保证。
JL Lemma本质上说:“您给我想要的错误,我会给您一个低维的空间,该空间可以捕捉到该错误的距离”。这也是最坏的成对保证:对于每对点,等等
SVD本质上承诺“您告诉我您要居住在哪个维度,并且我会为您提供最佳嵌入”,其中“最佳”的定义为平均:真实相似度与预计相似度的总误差最小。
因此,从理论上讲,他们解决了非常不同的问题。在实践中,您想要哪个取决于问题的模型,更重要的参数(错误或尺寸)以及所需的保证类型。
SVD和JL也以不同方式推断未来点。
也就是说,如果您假设数据来自某个基础分布,那么原则上,只要从同一分布中采样,SVD就应对任何将来的点保持“良好”。另一方面,JL的目标尺寸取决于点的数量,这意味着对其他点应用JL变换会增加错误概率。
例如,如果您将降维用作其他算法的预处理步骤,则这变得很重要。训练数据的SVD边界可能会保留在测试数据上,但JL不会。
这是Suresh回答的后续内容-阅读他的回答后,我在Google上做了一些搜索,并得出以下理解。我本来打算将其发布为对他的回答的评论,但是它一直在增加。
请指出答案中的错误,我不是该领域的专家。
从某种意义上说,JL和SVD就像苹果和橘子。
1)他们解决的问题完全不同。一个与成对距离有关,另一个与最佳表示有关。一种是最坏的情况,另一种是一般情况。
(这不准确,我将在以后对此进行更多评论)
SVD正在解决的问题是(给定尺寸) 昏暗k的 k arg min P {平均(| | u − P u | | 2 ) }
2)输入:尽管两种算法都输出子空间,但是它们所需的输入是不同的。JL要求公差(您愿意在实际距离和子空间中的距离之间忍受的最大误差是多少),而SVD要求尺寸数。
3)JL是非建设性的,SVD是建设性的-这一点有点含糊,因为术语建设性没有得到精确定义。有用于计算SVD的确定性算法,但是用于找到JL空间的算法是随机的-进行随机投影,如果失败,请重试。
4)SVD是唯一的(子空间可能不是唯一的,但是所有子空间的目标值都相同)。上面的等式(1)并不是精确的,因为JL实际上没有谈论最小化成对距离中的差异-它提供了一个较小子空间的存在的保证,该子空间中的距离与实际距离最大为价值观。可能有许多这样的子空间,有些比其他子空间好。
(请参阅注释以获取有关答案的删除部分的说明)。
编辑:@ john-myles-white写了一篇有关JL的帖子,以验证其主张,并展示如何构建投影:http : //www.johnmyleswhite.com/notebook/2014/03/24/a-note-约翰逊林登施特劳斯引理/