dimensionality-reduction相关内容

在给定点集中选择最远点的子集

想象一下,给你3维空间中n个点组成的集合S。任意两点之间的距离是简单的欧几里德距离。您希望从该集合中选择k个点的子集Q,以使它们彼此最远。换言之,不存在k个点的其他子集Q‘,使得Q中所有成对距离的最小值小于Q’中的最小值。 如果n约为1600万,k约为300,我们如何有效地执行此操作? 我的猜测是,这可能是NP难的,所以我们只想关注近似。我能想到的一个想法是使用多维缩放来对一条线上的这 ..

如何在高维数据中高效地找到k-最近邻?

所以我有大约 16,000 个 75 维数据点,对于每个点,我想找到它的 k 个最近邻居(使用欧几里德距离,如果这样更容易的话,目前 k=2) 我的第一个想法是为此使用 kd 树,但事实证明,随着维度数量的增加,它们变得相当低效.在我的示例实现中,它只比穷举搜索略快. 我的下一个想法是使用 PCA(主成分分析)来减少维数,但我想知道:是否有一些聪明的算法或数据结构可以在合理的时间内准确 ..

LDA 忽略 n_components?

当我尝试使用 Scikit-Learn 的 LDA 时,它一直只给我一个组件,即使我要求更多: >>>从 sklearn.lda 导入 LDA>>>x = np.random.randn(5,5)>>>y = [真、假、真、假、真]>>>对于范围内的 i (1,6):... lda = LDA(n_components=i)... 模型 = lda.fit(x,y)... 模型.transfor ..
发布时间:2021-07-16 19:54:30 Python

t-SNE在不同的机器上产生不同的结果

我在100D中有大约3000个数据点,我用t-SNE投影到2D.每个数据点属于三个类之一.但是,当我在两台单独的计算机上运行脚本时,我总是得到不一致的结果.当我使用随机种子时,可能会出现一些不一致的情况,但是其中一台计算机不断取得更好的效果(我在Mac上使用Macbook Pro,而在Ubuntu上使用固定机器). 我使用Scikit-learn的t-SNE实现.脚本和数据是相同的,我已经手 ..
发布时间:2021-05-31 19:15:07 Python

带sklearn的PCA.无法弄清楚PCA的功能选择

我一直在尝试使用PCA降低尺寸.我目前有一个尺寸为(100,100)的图像,并且我使用的是由140个Gabor滤波器组成的滤波器组,其中每个滤波器给我的响应都是(100,100)图像.现在,我想进行功能选择,而我只想选择非冗余功能,而我读到PCA可能是一个好方法. 因此,我继续创建具有10000行和140列的数据矩阵.因此,每一行都包含该滤波器组的Gabor滤波器的各种响应.现在,据我所知, ..

PCA降维用于分类

我正在对从CNN不同层提取的特征使用主成分分析.我已经从此处下载了尺寸缩减工具箱. 我总共有11232个训练图像,每个图像的特征是6532.所以特征矩阵就像11232x6532 如果我想要90%的顶级功能,那么我可以轻松做到这一点,并且使用缩减数据的SVM进行训练的准确性为81.73%,这是公平的. 但是,当我尝试具有2408张图像的测试数据并且每个图像的特征为6532时,因此用于测试数据的 ..

减少数据集的维数后,我得到了负特征值

我使用了降维方法(此处讨论:随机投影算法伪代码 )上的大型数据集. 将维度从1000减少到50后,我得到了新的数据集,每个样本如下所示: [1751.-360. -2069. ...,2694.-3295. -1764.] 现在我有点困惑,因为我不知道负特征值应该代表什么.可以具有这样的负面特征吗?因为在减少之前,每个样本都是这样的: 3,18,18,18,126 ... ..