许多不同分类器的教程都基于数字识别,尤其是 MNIST 数据集。我认为这主要是因为这个数据集很容易获得、易于理解并且需要最少的预处理。它也是文献中常见的基准数据集。
我不知道任何特定分类器家族本质上最适合数字识别的论点。我认为这将是一个难以论证的论点,因为 1)数字的分布来自现实世界,我们没有对其进行全面的数学描述,以及 2)所有 SVM、所有神经网络等的集合。是无限的,我们只设法探索了一个很小的子集。也许最知名的神经网络比最知名的 SVM 更好,但一个新的核函数潜伏在那个巨大的、未被发现的空间中的某个地方,它将使 SVM 变得更好。也许还有另一种更好的神经网络架构。我想在某些情况下可以提出论据(例如,原始像素上的朴素贝叶斯可能是一个坏主意,因为它的假设被公然违反)。
在不同的情况下(例如训练/评估所需的时间/内存,获得体面的工作模型所需的调整/探索量等),有很多理由让每种类型的分类器优于其他分类器。这些原因并不特定于数字识别,所以我不会在这里讨论它们。
当然,有一些特定领域的技巧可以使分类器更适合数字识别。其中一些技巧通过增加人们期望在手写数字中的特定变换(例如平移、旋转、缩放、变形)的不变性而起作用。例如,数字“0”应该表示相同的意思,即使它向左移动并有点扭曲。一些技巧是特定于分类器家族的。例如,这种不变性可以使用某些 SVM 内核、神经网络中的空间变换层,或者可能是 K 个最近邻居的不变距离度量。许多分类器可以使用其他技巧。例如,数据集可以增加许多转换后的数字副本,这可以帮助分类器学习适当的不变性。
SVM、神经网络,甚至 kNN 在 MNIST 数据集上都取得了不错的表现。其他方法也有效。我个人听说过的最好的性能是神经网络。一些结果是在这里和这里的不同论文中积累的。