Vous ne trouverez pas d'instructions pas à pas pour l'écriture d'un fichier SVM. Il est important de comprendre la théorie et les mathématiques qui les sous-tendent car elles jouent un rôle important dans les algorithmes et les algorithmes sont difficiles à comprendre sans ce contexte.
Le meilleur endroit pour commencer serait avec l'algorithme Sequential Minimal Optimization (SMO) de John Platt. J'ai mis en œuvre ce document avant, mais Platt suppose beaucoup de connaissances de base. Un excellent livre d'introduction est le livre de Lutz Hamel Knowledge Discovery with Support Vector Machines. Ce livre motive tout, donc vous n'avez pas besoin de connaître ou d'être à jour sur les statistiques et la théorie de l'optimisation si vous voulez comprendre SVM.
Si vous voulez vraiment aller super simple, alors commencez par ce Simplified SMO algorithm de UNT pour vous mouiller les pieds. C'est l'algorithme SMO sans aucune des optimisations.
L'algorithme SMO de Platt n'est pas l'état de la technique à ce stade, mais il est à la base de nombreux algorithmes actuellement utilisés. Les deux LibSVM et SVMLight ont leur code source disponible en ligne. Ils sont basés sur deux optimisations différentes du concept SMO.
Si vous êtes d'accord avec un niveau supérieur, vous pouvez implémenter un SVM en utilisant un package d'optimisation Convex comme CVX, qui a des interfaces dans MatLab et d'autres langages. Dans ce cas, vous devez simplement configurer le problème d'optimisation au cœur de SVM et demander au solveur de trouver la solution pour vous. L'implémentation d'un solveur QP à partir de zéro n'est pas quelque chose que je recommanderais d'essayer. Si vous voulez utiliser une bibliothèque existante, et que vous parlez de zéro, vous parlez de traiter les données plus que l'algorithme SVM lui-même, vous pouvez regarder dans les implémentations existantes comme celles disponibles dans R. "Support Vector Machines in R" se penche sur la façon de le faire. Le livre de Hamel utilise également R.
Des jeux de données de reconnaissance de chiffres manuscrits ont été utilisés dans de nombreuses SVM papers et utilisés pour classifier comparisons.