2010-10-19 20 views
14

J'utilise un classificateur SVM multidimensionnel (SVM.NET, un wrapper pour libSVM) pour classer un ensemble de fonctionnalités. Étant donné un modèle SVM, est-il possible d'incorporer de nouvelles données d'apprentissage sans devoir recalculer sur toutes les données précédentes?Un SVM peut-il apprendre de manière incrémentielle?

Je suppose qu'une autre façon de le dire serait: est un mutable SVM?

+0

J'ai commencé à passer par le livre de Bishop pour aider à répondre à cela, mais je crois que vous pourriez obtenir une réponse plus perspicace sur http: //mathoverflow.net/ – wheaties

Répondre

13

En fait, il s'agit généralement d'un apprentissage incrémental. La question a été soulevée avant et est assez bien répondu ici: A few implementation details for a Support-Vector Machine (SVM).

En bref, c'est possible mais pas facile, vous devrez changer vous-même la bibliothèque que vous utilisez ou implémenter l'algorithme de formation.

J'ai trouvé deux solutions possibles, SVMHeavy et LaSVM, qui prennent en charge l'apprentissage incrémental. Mais je n'ai pas utilisé non plus et je ne sais rien à leur sujet.

+0

Merci, j'ai changé le titre de ma question pour être plus précis. La question à laquelle vous faites référence est une bonne réponse à la mienne. –

+6

J'ai généralement vu cela s'appeler "apprentissage en ligne". –

+0

@larsmans Bon point. Il est aussi parfois confondu avec l'apprentissage actif. – Stompchicken

1

En ligne et en incrémental bien que similaires mais légèrement différents. En ligne, c'est généralement un seul passage (époque = 1) ou le nombre d'époques peut être configuré. Où, comme incrémental signifierait que vous avez déjà un modèle; peu importe comment il est construit, mais alors le modèle peut être modifié par de nouveaux exemples. En outre, une combinaison de ligne et incrémentale est souvent ce qui est nécessaire.

Voici une liste d'outils avec quelques remarques sur le SVM en ligne et/ou incrémental: https://stats.stackexchange.com/questions/30834/is-it-possible-to-append-training-data-to-existing-svm-models/51989#51989