Scikit-Learn中局部线性嵌入(LLE)的重构误差疑问
Scikit-Learn中LocallyLinearEmbedding的reconstruction_error_与原论文误差的差异
Scikit-Learn里的reconstruction_error_和LLE原论文定义的重构误差并不是同一个量,二者的核心区别体现在定义空间和对应算法阶段:
LLE原论文的重构误差:
是在原始高维样本空间中定义的,是算法第一步(求解重构权重W)的优化目标,公式为:$J(W) = \sum_i ||X_i - \sum_j W_{ij} X_j||^2$
它衡量的是高维样本点用其近邻加权组合进行重构的精度,目的是找到能最好拟合高维局部结构的权重矩阵。Scikit-Learn的reconstruction_error_:
是在低维嵌入空间中计算的,对应公式norm(Y - W Y, 'fro')**2(Y为低维嵌入结果,W为已求得的重构权重),是算法第二步(求解低维嵌入)的优化目标值。它衡量的是低维空间中,样本点能否用高维空间求得的权重W,通过近邻加权组合保持原有的局部重构关系,本质是低维嵌入对高维局部结构的保留程度。
总结来说,原论文误差关注高维空间的样本重构效果,而Scikit-Learn的误差关注低维空间对高维重构关系的保持效果,二者属于算法不同阶段的不同量化指标。
内容的提问来源于stack exchange,提问作者Raktim Mukherjee
相关产品推荐
相关产品推荐

