我正在做一项涉及“无监督分类”的研究。基本上我有一个 trainSet,我想以无监督的方式对 X 个类中的数据进行聚类。Idea 类似于 k-means 所做的。
比方说
Step1) featureSet 是一个 [1057x10] 矩阵,我想将它们聚类成 88 个聚类。
Step2) 使用之前计算的类来计算testData是如何分类的
问题 - 是否可以使用 SVM 或 NN 来做到这一点?还要别的吗 ?- 还有其他建议吗?
我正在做一项涉及“无监督分类”的研究。基本上我有一个 trainSet,我想以无监督的方式对 X 个类中的数据进行聚类。Idea 类似于 k-means 所做的。
比方说
Step1) featureSet 是一个 [1057x10] 矩阵,我想将它们聚类成 88 个聚类。
Step2) 使用之前计算的类来计算testData是如何分类的
问题 - 是否可以使用 SVM 或 NN 来做到这一点?还要别的吗 ?- 还有其他建议吗?
那里有许多聚类算法,网络上充斥着关于它们的信息和示例实现。一个很好的起点是关于聚类分析Cluster_analysis的维基百科条目。
由于您有一个有效的 k-means 实现,您可以尝试许多变体中的一种,看看它们是否会产生更好的结果(也许是 k-means++,正如您提到的 SVM)。如果您想要一种完全不同的方法,请查看 Kohonen Maps - 也称为自组织特征图。如果这看起来太棘手,一个简单的层次聚类将很容易实现(找到最近的两个项目,组合,冲洗并重复)。
这听起来像是一个经典的聚类问题。支持向量机或神经网络都无法直接解决这个问题。您可以使用任一方法进行降维,例如将 10 维数据嵌入二维空间,但它们不会为您将数据放入集群中。
除了 k-means 之外,还有大量的聚类算法。如果您想要一种对比方法,您可能想尝试一种凝聚聚类算法。我不知道您使用的是哪种计算环境,但我非常喜欢R和这个(非常)关于集群的简短指南。