【发布时间】:2019-06-27 20:41:46
【问题描述】:
我知道 K-Means 是一个懒惰的学习者,必须用新的点从头开始重新训练,但仍然想知道是否有任何解决方法可以使用经过训练的模型来预测新的看不见的数据。
我正在使用 K-Means 算法对医学语料库进行聚类。我正在创建一个术语文档矩阵来表示这个语料库。在将数据提供给 kmeans 算法之前,我对数据执行截断奇异值分解以进行降维。我一直在考虑是否有一种方法可以在不重新训练整个模型的情况下对一个新的看不见的文档进行聚类。
要获得新文档的向量表示并使用训练模型预测其集群,我需要确保它具有与训练模型相同的词汇表,并且在术语-文档矩阵中保持相同的顺序。考虑到这些文档具有类似的词汇表,可以这样做。但是,如何获得此文档的 SVD 表示?现在这是我的理解有点不稳定的地方,如果我错了,请纠正我,但要对这个向量表示执行 SVD,我需要将它附加到原始术语文档矩阵。现在,如果我将这个新文档附加到原始术语文档矩阵并对其执行 SVD 以获得具有有限特征(在本例中为 100)的向量表示,那么我不确定事情会如何变化? SVD 选择的新特征在语义上是否与原始特征相对应?也就是说,如果相应的特征掌握不同的概念,那么测量新文档与集群质心(具有 100 个特征)的距离是没有意义的。
有没有办法将经过训练的 kmeans 模型用于新的文本数据?或者任何其他更适合此任务的聚类方法?
【问题讨论】:
标签: nlp cluster-analysis k-means svd unsupervised-learning