【问题标题】:Find the best set of features to separate 2 known group of data找到最好的一组特征来分离 2 个已知的数据组
【发布时间】:2015-11-15 03:24:10
【问题描述】:

我需要一些观点来了解我所做的事情是好是错,或者是否有更好的方法。

我有 10 000 个元素。对于它们中的每一个,我都有 500 个特征。

我希望测量两组这些元素之间的可分离性。 (我已经知道这两组我不想找到他们) 现在我正在使用 svm。我在其中的 2000 个元素上训练 svm,然后在测试 8000 个其他元素时查看分数有多高。

现在我想知道哪些功能可以最大化这种分离。

我的第一种方法是使用 svm 测试每个功能组合,并按照 svm 给出的分数。如果分数很好,则这些特征与分离这两组数据相关。 但这需要太多时间。 500!可能性。

第二种方法是删除一个特征,看看分数受到了多大影响。如果分数变化很大,则该功能是相关的。这更快,但我不确定它是否正确。当有 500 个特征删除一个特征时,最终分数不会有太大变化。

这是正确的做法吗?

【问题讨论】:

  • 如果特征在一个共同的尺度上(即在学习之前被标准化,对于 SVM 来说是一个非常好的主意)并且您使用的是线性核,则权重向量的系数可以被视为特征在模型中的重要性。

标签: machine-learning svm


【解决方案1】:

如果您希望单个功能辨别您的数据,请使用决策树,查看根节点。

SVM通过设计看起来所有 em>功能的组合。

【讨论】:

    【解决方案2】:

    你有没有尝试过其他方法?也许你可以尝试决策树或随机森林,它会根据熵增益给出你最好的特征。我可以假设所有功能都是相互独立的吗?如果不是,请删除它们。

    对于支持向量,您可以尝试查看这篇论文:

    http://axon.cs.byu.edu/Dan/778/papers/Feature%20Selection/guyon2.pdf

    但它更多地基于线性 SVM。

    【讨论】:

    • 谢谢!通过将 RFE 与随机森林结合使用,我得到了我想要的东西。他们在您发送的链接中谈论它。这篇论文也很有意思:thespermwhale.com/jaseweston/GENESEL.PDF
    【解决方案3】:

    您可以对特征进行统计分析,以了解哪些术语最能区分数据。我喜欢信息增益,但还有其他的。

    我发现这篇论文(Fabrizio Sebastiani, Machine Learning in Automated Text Categorization, ACM Computing Surveys, Vol. 34, No.1, pp.1-47, 2002)是对文本分类的很好的理论处理,包括特征通过从简单(词频)到复杂(信息论)的多种方法进行归约。

    这些函数试图捕捉这样一种直觉,即 ci 的最佳术语是 那些在正例和负例集中分布最不同的 ci。然而,对这一原则的解释因不同的职能而异。例如,在实验科学中,χ2 用于衡量观察结果与根据初始假设预期的结果有何不同(即独立)(较低的值表示较低的依赖性)。在 DR 中,我们衡量 tk 和 ci 的独立程度。因此,对于 χ2(tk, ci) 具有最低值的项 tk 与 ci 最独立;由于我们对不感兴趣的项感兴趣,因此我们选择 χ2(tk, ci) 最高的项。

    这些技术可帮助您选择最有用的术语,将培训文档分成给定的类别;对您的问题具有最高预测值的术语。具有最高信息增益的特征可能最好地分离您的数据。

    我已经成功地使用信息增益来减少特征,并发现这篇论文(基于熵的文本分类特征选择 Largeron、Christine 和 Moulin、Christophe 和 Géry、Mathias - SAC - Pages 924-928 2011)非常很好的实用指南。

    在这里,作者提出了一个基于熵的特征选择的简单公式,该公式对于在代码中实现很有用:

    给定一个术语 tj 和一个类别 ck,ECCD(tj , ck) 可以是 从列联表计算。设 A 为数 包含 tj 的类别中的文档; B、号码 包含 tj 的其他类别的文​​档; C、 ck 的不包含 tj 和 D 的文档数, 其他类别中的文档数量 不包含 tj(其中 N = A + B + C + D):

    使用此列联表,可以通过以下方式估算信息增益:

    这种方法很容易实现,并且提供了非常好的信息论特征缩减。

    你也不需要使用单一的技术;你可以把它们结合起来。词频很简单,但也很有效。我将信息增益方法与词频相结合,成功地进行了特征选择。您应该对您的数据进行试验,以了解哪种技术或哪些技术最有效。

    【讨论】:

    • 他们对决策树使用相同的方法吗?
    • 这里有很好的介绍。值得更多关注。
    • 您是否有一些材料展示了您的一些经验(或理论!)结果/方法/启发式如何将 TF 与 IG 结合起来?
    • 我使用的过程是迭代的。如果您认为这会有所帮助,我可以向您展示我生成的统计数据示例。但结果伴随着大量的反复试验。我会尝试信息增益截止和术语频率截止的各种组合,并根据结果重建模型。然后我会在模型上重新运行我的测试用例。我会一直这样做,直到我对表现感到满意,或者直到我觉得收益递减。
    【解决方案4】:

    你有没有想过Linear Discriminant Analysis(lda)?

    LDA旨在发现最大化可分离性的线性组合。该算法通过将数据投影在类中的差异最小的空间中,并且类之间的一个是最大的空间。

    可以使用它来减少分类所需的尺寸数,也将其用作线性分类器。

    然而,通过这种技术,您将丢失其含义的原始特征,您可能需要避免这种情况。

    如果您想要更多详细信息,我发现this article是一个很好的介绍。

    【讨论】:

    • 它是某种方式喜欢pca吧?事实上,我想保留原始功能 span>
    • 不是真的,两者都可以有助于减少维度,但是,与PCA不同,LDA使用标签来减少维度。它试图找到最大化类别之间可分离性的投影,而PCA在子空间上投影,最大化差异以保留尽可能多的信息。 span>
    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    相关资源
    最近更新 更多