我知道K-Means是一个懒惰的学习者,必须从头开始重新培训新的知识点,但仍然想知道是否有任何变通办法使用受过训练的模型来预测新的看不见的数据。
我正在使用K-Means算法对医疗语料库进行聚类。我正在创建一个术语文档矩阵来表示该语料库。在将数据提供给kmeans算法之前,我对数据执行了截断的奇异值分解以降低维数。我一直在考虑是否可以在不重新训练整个模型的情况下将新的看不见的文档聚类。
要获得新文档的向量表示并使用经过训练的模型预测其聚类,我需要确保其词汇与经过训练的模型具有相同的词汇,并且在术语文档矩阵中保持相同的顺序。考虑到这些文档具有类似的词汇表,可以完成此操作。但是,如何获得此文档的SVD表示形式?现在,我的理解有些动摇,因此,如果我错了,请更正我,但是要对该矢量表示形式执行SVD,需要将其附加到原始的term-document矩阵中。现在,如果我将这个新文档附加到原始术语文档矩阵中并对其执行SVD,以获得功能有限的矢量表示(在这种情况下为100),那么我不确定情况会如何变化? SVD选择的新功能在语义上是否与原始功能相对应?也就是说,如果相应的特征掌握了不同的概念,那么测量新文档与簇质心(具有100个特征)的距离就没有意义。
有没有办法使用经过训练的kmeans模型处理新文本数据?还是其他适合此任务的群集方法?
答案 0 :(得分:1)
您的问题不是k均值,使用数据作为均值的简单近邻分类器将起作用。
您的问题是SVD,它不稳定。添加新数据可以为您带来完全不同的结果。