【问题标题】:Centroid algorithm for document classification, threshold detection文档分类的质心算法,阈值检测
【发布时间】:2012-08-02 04:36:08
【问题描述】:

我有一组与特定领域相关的文档,并已根据该集合训练了质心分类器。我想要做的是,我将为分类器提供来自不同领域的文档,并希望确定它们与受过训练的领域的相关程度。我可以为此使用余弦相似度来获得一个数值,但我的问题是确定阈值的最佳方法是什么?

为此,我可以从不同域下载多个文档并检查它们的相似度分数以确定阈值。但这是要走的路吗,在统计上听起来不错吗?有什么其他方法可以做到这一点?

【问题讨论】:

    标签: machine-learning data-mining classification document-classification centroid


    【解决方案1】:

    实际上,稀疏向量中的质心还有另一个问题。问题是它们通常比原始数据稀疏得多。例如,这增加了计算成本。它可以产生本身实际上是非典型的向量,因为它们具有不同的稀疏模式。这种效果类似于使用离散数据的算术平均值:假设汽车的平均门数为 3.4;但显然不存在实际上有 3.4 个门的汽车。 所以特别是,不会有汽车到质心的欧几里得距离小于 0.4! - 那么质心到底有多“中心”?

    有时使用中心点代替质心会有所帮助,因为它们实际上是数据集的正确对象。

    确保控制对数据的此类影响!

    【讨论】:

    • 谢谢。但你还没有解决我的问题,确定阈值??
    • 不,我没有。因为我实际上相信不会有一个令人满意的门槛。阈值通常不适用于高维数据,而仅适用于 2d、3d 的东西。在高维数据中,由于维数灾难,阈值所需的有效位数可能非常高。因此,虽然在低维中,0.2 之类的阈值可能会起作用,但在高维中,1e-20 的阈值差异可能会产生影响。
    【解决方案2】:

    一种简单的尝试方法是使用各种机器学习算法(尤其是基于树的算法)来确定与质心的距离。

    正如另一个答案(@Anony-Mousse)中提到的,这不一定会为您提供好的或可用的答案,但它可能会。在此过程中使用 ML 框架,例如WEKA 还将帮助您以更严格的方式估计您的准确性。

    以下是要采取的步骤,使用WEKA

    • 通过找到代表每个班级的大量文档来生成一个训练集(为了获得有效的估计,我建议每个班级至少有几十个)

    • 计算每个文档到每个质心的距离。

    • 为每个此类文档生成一个特征向量,由该文档到质心的距离组成。您可以使用单个特征 - 到最近质心的距离;或使用所有距离,如果您想尝试更精细的阈值方案。例如,如果您选择使用单个特征的更简单方法,则表示距离最近的质心为 0.2 的文档的向量属于 A 类将是:“0.2,A”

    • 将此集合保存为 ARFF 或 CSV 格式,加载到 WEKA,然后尝试分类,例如使用 J48 树。

    • 结果将为您提供总体准确度估计、详细的混淆矩阵,当然还有特定模型,例如一棵树,可用于对其他文档进行分类。

    • 这些结果可用于迭代地改进模型和阈值,方法是为有问题的类收集额外的训练文档,方法是重新创建质心或重新训练阈值分类器。

    【讨论】:

      猜你喜欢
      • 2012-05-26
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 2013-11-15
      • 2011-03-27
      • 2016-09-02
      • 2020-07-18
      相关资源
      最近更新 更多