Avantages de SVM comme outil de reconnaissance des chiffres

8

Je suis assez nouveau dans la reconnaissance des chiffres et j'ai remarqué que de nombreux tutoriels utilisent la classification SVM, par exemple:

Je voudrais savoir s'il y a des avantages (spécifiques au domaine) pour cet outil, par exemple

  • Réseaux de neurones d'apprentissage profond
  • Classification basée sur k-moyennes

Merci pour tout commentaire. La clarification, pourquoi SVM est un mauvais outil pour la reconnaissance des chiffres, sera également appréciée.

Karel Macek
la source

Réponses:

9

Les didacticiels pour de nombreux classificateurs différents sont basés sur la reconnaissance des chiffres, en particulier l'ensemble de données MNIST. Je pense que c'est en grande partie parce que cet ensemble de données est facilement disponible, facile à comprendre et nécessite un prétraitement minimal. C'est également un ensemble de données de référence commun dans la littérature.

Je ne suis pas au courant d'arguments selon lesquels une famille particulière de classificateurs est intrinsèquement la plus appropriée pour la reconnaissance de chiffres. Je pense que ce serait un argument difficile à faire parce que 1) La distribution des chiffres vient du monde réel et nous n'en avons pas une description mathématique complète, et 2) L'ensemble de tous les SVM, tous les réseaux de neurones, etc. est infini, et nous avons seulement réussi à explorer un petit sous-ensemble. Le réseau de neurones le plus connu est peut-être meilleur que le SVM le plus connu, mais une nouvelle fonction du noyau se cache quelque part dans ce vaste espace non découvert qui améliorerait les SVM. Il y a peut-être une autre architecture de réseau neuronal qui serait encore meilleure. Je suppose que des arguments pourraient être avancés dans certains cas (par exemple, des Bayes naïfs sur des pixels bruts sont probablement une mauvaise idée car ses hypothèses sont manifestement violées).

Il existe de nombreuses raisons de préférer chaque type de classificateur à d'autres dans des circonstances différentes (par exemple, le temps / la mémoire requis pour la formation / l'évaluation, la quantité d'ajustements / d'exploration nécessaires pour obtenir un modèle de travail décent, etc.). Ces raisons ne sont pas spécifiques à la reconnaissance des chiffres, je ne les aborderai donc pas ici.

Il existe certainement des astuces spécifiques au domaine qui peuvent rendre les classificateurs plus adaptés à la reconnaissance des chiffres. Certaines de ces astuces fonctionnent en augmentant l'invariance à des transformations particulières que l'on pourrait attendre des chiffres manuscrits (par exemple la traduction, la rotation, la mise à l'échelle, la déformation). Par exemple, le chiffre «0» devrait signifier la même chose, même s'il est décalé vers la gauche et déformé un peu. Certaines astuces sont spécifiques à la famille des classificateurs. Par exemple, ce type d'invariance peut être obtenu en utilisant certains noyaux SVM, des couches de transformateur spatial dans des réseaux de neurones, ou probablement une métrique de distance invariante pour K voisins les plus proches. D'autres astuces peuvent être utilisées avec de nombreux classificateurs. Par exemple, l'ensemble de données peut être complété par de nombreuses copies transformées des chiffres, ce qui peut aider le classificateur à apprendre la bonne invariance.

Les SVM, les réseaux neuronaux et même le kNN ont obtenu de bonnes performances sur l'ensemble de données MNIST. D'autres méthodes fonctionnent également. La meilleure performance dont j'ai personnellement entendu parler a été avec les réseaux neuronaux. Certains résultats sont accumulés dans différents articles ici et ici .

user20160
la source