Machine learning 基于无监督降维的模糊聚类

Machine learning 基于无监督降维的模糊聚类,machine-learning,scikit-learn,cluster-analysis,dimensionality-reduction,Machine Learning,Scikit Learn,Cluster Analysis,Dimensionality Reduction,无监督降维算法将矩阵NxC1作为输入,其中N是输入向量的数量,C1是每个向量的分量数量(向量的维数)。结果,它返回一个新的矩阵NxC2(C2

无监督降维算法将矩阵NxC1作为输入,其中N是输入向量的数量,C1是每个向量的分量数量(向量的维数)。结果,它返回一个新的矩阵NxC2(C2 模糊聚类算法将矩阵N*C1作为输入,其中N,这里再次表示输入向量的数量,C1表示每个向量的分量数量。因此,它返回一个新的矩阵NxC2(C2通常低于C1),其中每个向量的每个分量都指示向量属于相应集群的程度

我注意到这两类算法的输入和输出在结构上是相同的,只是结果的解释发生了变化。此外,scikit learn中没有模糊聚类实现,因此存在以下问题:

使用降维算法执行模糊聚类有意义吗?
例如,将从文本数据中提取的TF-IDF向量应用于或构建数据集,并将结果解释为模糊聚类,这是没有意义的吗?

从某种意义上说,是的。这在某种程度上取决于您希望如何使用下游结果

考虑奇异值分解截断或排除主成分。我们已经投射到一个新的,保持方差的空间中,在新流形的结构上几乎没有其他限制。对于某些元素,原始数据点的新坐标表示可能有很大的负数,这有点奇怪。但人们可以毫不费力地转移和重新缩放数据

然后可以将每个维度解释为集群成员权重。但考虑到模糊聚类的一种常用的方法,即生成一个硬聚类。请注意,使用模糊簇权重(例如,只取最大值)是多么容易。考虑新维度缩减空间中的一组点,例如,,。如果对模糊聚类进行阈值化,它会给出类似{p1,p2},{p3,p4}的值,但是如果我们在这里取最大值(即,将降维轴视为隶属度,我们得到{p1,p3},{p2,p4},例如k=2。当然,我们可以使用比最大值更好的算法来推导硬隶属度(比如通过观察成对距离,这对我的例子来说是可行的);这种算法被称为聚类算法

当然,不同的降维算法在这方面的效果可能更好,也可能更差(例如,侧重于保持数据点之间距离而不是方差的MDS更自然地类似于群集).但从根本上说,许多降维算法隐式保留数据所在的底层流形的数据,而模糊聚类向量仅保留数据点之间关系的信息(可能隐式编码其他信息,也可能不隐式编码其他信息)

总的来说,目的有点不同。聚类的目的是找到相似的数据组。特征选择和降维的目的是通过改变嵌入空间来减少数据的噪声和/或冗余。我们通常使用后者来帮助前者