开发大多数分类算法以提高训练速度。但是,是否有任何分类器或算法专注于决策制定速度(低计算复杂性和简单的可实现结构)?我可以获得足够的训练数据,并且能够忍受很长的训练时间。
答案 0 :(得分:0)
一般来说,分类速度应该不是问题。一些例外是具有时间复杂度的算法,具体取决于您用于训练的样本数量。一个例子是k-Nearest-Neighbors没有训练时间,但是对于分类,它需要检查所有点(如果以天真的方式实现)。其他示例是所有与内核一起使用的分类器,因为它们计算当前样本和所有训练样本之间的内核。
许多分类器使用特征的标量积和学习的系数向量。在几乎所有情况下,这些应该足够快。例如:逻辑回归,线性SVM,感知器等等。请参阅 @lejlot 的答案以获取一个不错的列表。
如果这些仍然太慢,您可能会首先尝试减小功能空间的尺寸,然后再试一次(这也会加快培训时间)。
顺便说一下,这个问题可能不适合StackOverflow,因为它非常广泛而且建议而不是面向问题。也许下次再尝试https://stats.stackexchange.com/。
答案 1 :(得分:0)
有很多方法可以快速分类,您可以通过以下方式按分类速度对模型进行或多或少的排序(第一种 - 最快,最后 - 最慢)
显然这个清单并非详尽无遗,只是展示了一些一般性的想法。
获得此类模型的一种方法是构建一个复杂的慢速模型,然后将其用作黑盒标签生成器来训练一个更简单的模型(但是在潜在的无限训练集上) - 从而获得一个快速分类器,代价是非常昂贵的培训。有许多作品表明人们可以做到这一点,例如通过在深nn的输出上训练浅层神经网络。
答案 2 :(得分:0)
我有一个决策树,它以压缩形式表示,并且在对一个看不见的实例进行分类时,它至少比实际树快4倍。