【发布时间】:2018-04-23 21:02:14
【问题描述】:
我希望将一组(约 500 个)N 维向量的维数降低为 2D 向量,这样对于任何两个向量:
numpy.dot(vOriginal1, vOriginal2)==numpy.dot(vNew1, vNew2)
其中 vNew1、vNew2 是降维后的 vOriginal1、vOriginal2 向量。
编辑:我不是在寻找 0 的错误,只是一个低错误。所有向量的大小都是固定的M,要转换成大小为2。
【问题讨论】:
-
数量
numpy.dot(vOriginal1, vOriginal2) - numpy.dot(vNew1, vNew2)(跨数据集)的范数称为降维算法或嵌入算法的重构误差。许多算法,如 isomap、多维缩放、PCA 和核 PCA,以及许多其他方法(您可以在 scitkit-learn 中找到很多),都试图最小化这种重建误差的不同公式或近似值。您要求的算法可以保证您的数据集的重建误差正好为 0,而这通常不存在。 -
@ely:我不是在寻找 0 错误,只是低错误。
-
这里是@ely scikit-learn.org/stable/modules/manifold.html解决的SKLearn实现的链接
标签: python machine-learning scikit-learn dimensionality-reduction