12

我觉得这个问题有点棘手。也许有人知道回答这个问题的方法。想象一下,你有一个你不知道它是什么的数据集(训练数据)。为了推断分类算法对这些数据进行分类,您会查看训练数据的哪些特征?我们能说一下我们应该使用非线性分类算法还是线性分类算法?

顺便说一句,我正在使用 WEKA 来分析数据。

有什么建议么?谢谢你。

4

2 回答 2

16

这实际上是两个问题合二为一;-)

  • 特征选择
  • 线性与否

加上“算法选择”,你可能会遇到分类器设计的三个最基本的问题。

顺便说一句,你没有任何领域专业知识来指导特征的选择和/或断言特征空间的线性是一件好事。这就是数据挖掘的乐趣:在没有先验专业知识的情况下推断此类信息。(顺便说一句,虽然领域专业知识有助于仔细检查分类器的结果,但过多的先验洞察力可能会让您错过良好的挖掘机会)。如果没有任何这样的先验知识,您将被迫建立健全的方法并对结果进行仔细审查。

很难提供具体的指导,部分原因是问题中遗漏了许多细节,也因为我在这方面有点 BS-ing ;-)。无论如何,我希望以下通用建议会有所帮助

  • 对于您尝试的每种算法(或更准确地说,对于给定算法的每组参数),您将需要运行许多测试。理论可能很有帮助,但仍然会有很多“试错”。您会发现交叉验证是一项有价值的技术。
    简而言之,[并且取决于可用训练数据的大小],您将训练数据随机分成几个部分,并在其中一个 [或几个] 部分上训练分类器,然后评估分类器在另一个部分上的性能[或几个]部分。对于每次这样的运行,您测量各种性能指标,例如错误分类错误 (MCE),除了告诉您分类器的性能之外,这些指标,或者更确切地说,它们的可变性将提供有关所选特征的相关性和/或他们缺乏规模或线性。

  • 独立于线性假设,标准化数值特征的值是有用的。这有助于具有奇数范围等的特征。
    在每个维度内,在中位数两侧建立例如 2.5 个标准差的范围,并在此范围的基础上将特征值转换为百分比。

  • 将标称属性转换为二进制属性,创建尽可能多的维度,标称属性有不同的值。(我想很多算法优化器都会为你做这件事)

  • 一旦你确定了一个或几个性能相对不错的分类器(比如 33% MCE),通过一次只修改一个参数来使用这样的分类器执行相同的测试系列。例如,删除一些特征,看看生成的低维分类器是改进还是降级。

  • 损耗因子是一个非常敏感的参数。尝试在大部分测试中坚持使用一个“合理”但可能不是最理想的值,最后微调损失。

  • 学习利用 SVM 优化器提供的“转储”信息。这些结果提供了关于优化器“认为”的非常有价值的信息

  • 请记住,在给定域中的给定数据集上效果很好的东西可能在另一个域中的数据上表现很差......

  • 咖啡不错,不多。当一切都失败时,让它成为爱尔兰人;-)

于 2010-03-10T03:54:26.460 回答
15

哇,所以你有一些训练数据,但你不知道你是在查看代表文档中单词的特征,还是单元格中的基因,并且需要调整分类器。好吧,由于您没有任何语义信息,因此您将不得不通过查看数据集的统计属性来单独执行此操作。

首先,要制定问题,这不仅仅是线性与非线性。如果你真的想对这些数据进行分类,你真正需要做的是为分类器选择一个核函数,它可能是线性的,也可能是非线性的(高斯、多项式、双曲线等。此外,每个核函数可能需要需要设置的一个或多个参数。为给定的分类问题确定最佳核函数和参数集并不是真正已解决的问题,只有有用的启发式方法,如果您在谷歌上搜索“选择核函数”或“选择核函数”函数”,您将看到许多提出和测试各种方法的研究论文。虽然有很多方法,最基本和最流行的方法之一是对参数进行梯度下降——基本上你尝试一个核方法和一个参数集,训练一半的数据点,看看你是怎么做的。然后你尝试一组不同的参数,看看你是怎么做的。您将参数朝着提高准确性的最佳方向移动,直到获得满意的结果。

如果您不需要经历所有这些复杂性来找到一个好的核函数,而只是想要线性或非线性的答案。那么问题主要归结为两件事:非线性分类器将具有更高的过度拟合(泛化不足)的风险,因为它们具有更多的自由维度。他们可能会因为分类器仅仅记住一组好的数据点,而不是想出一个好的概括而受苦。另一方面,线性分类器的拟合自由度较小,并且在数据不是线性可分的情况下,将无法找到好的决策函数并遭受高错误率的困扰。

不幸的是,除了尝试分类器本身并查看它的性能之外,我不知道更好的数学解决方案来回答“这些数据是否线性可分离”这个问题。为此,您将需要一个比我更聪明的答案。

编辑:这篇研究论文描述了一种算法,它看起来应该能够确定给定数据集与线性可分的接近程度。

http://www2.ift.ulaval.ca/~mmarchand/publications/wcnn93aa.pdf

于 2010-03-10T02:33:47.310 回答