有没有能够快速做出决策的分类器?

时间:2015-12-16 12:15:26

标签: machine-learning neural-network artificial-intelligence svm

开发大多数分类算法以提高训练速度。但是,是否有任何分类器或算法专注于决策制定速度(低计算复杂性和简单的可实现结构)?我可以获得足够的训练数据,并且能够忍受很长的训练时间。

3 个答案:

答案 0 :(得分:0)

一般来说,分类速度应该不是问题。一些例外是具有时间复杂度的算法,具体取决于您用于训练的样本数量。一个例子是k-Nearest-Neighbors没有训练时间,但是对于分类,它需要检查所有点(如果以天真的方式实现)。其他示例是所有与内核一起使用的分类器,因为它们计算当前样本和所有训练样本之间的内核。

许多分类器使用特征的标量积和学习的系数向量。在几乎所有情况下,这些应该足够快。例如:逻辑回归,线性SVM,感知器等等。请参阅 @lejlot 的答案以获取一个不错的列表。

如果这些仍然太慢,您可能会首先尝试减小功能空间的尺寸,然后再试一次(这也会加快培训时间)。

顺便说一下,这个问题可能不适合StackOverflow,因为它非常广泛而且建议而不是面向问题。也许下次再尝试https://stats.stackexchange.com/

答案 1 :(得分:0)

有很多方法可以快速分类,您可以通过以下方式按分类速度对模型进行或多或少的排序(第一种 - 最快,最后 - 最慢)

  1. 决策树(特别是深度有限)
  2. 线性模型(线性回归,逻辑回归,线性svm,lda,...)和朴素贝叶斯
  3. 基于显式数据转换的非线性模型(Nystroem内核逼近,RVFL,RBFNN,EEM),内核方法(如内核SVM)和浅层神经网络
  4. 随机森林及其他委员会
  5. 大神经网络(即CNN)
  6. 任意距离的KNN
  7. 显然这个清单并非详尽无遗,只是展示了一些一般性的想法。

    获得此类模型的一种方法是构建一个复杂的慢速模型,然后将其用作黑盒标签生成器来训练一个更简单的模型(但是在潜在的无限训练集上) - 从而获得一个快速分类器,代价是非常昂贵的培训。有许多作品表明人们可以做到这一点,例如通过在深nn的输出上训练浅层神经网络。

答案 2 :(得分:0)

我有一个决策树,它以压缩形式表示,并且在对一个看不见的实例进行分类时,它至少比实际树快4倍。