(Vous voudrez peut-être d'abord consulter le "tableau" ci-dessous)
Commençons par les machines à vecteurs de support "classiques". Ceux-ci apprennent à distinguer entre deux catégories. Vous collectez quelques exemples de catégorie A, certains de catégorie B et les transmettez tous les deux à l'algorithme de formation SVM, qui trouve la ligne / avion / hyperplan qui sépare le mieux A de B. Cela fonctionne - et cela fonctionne souvent très bien - lorsque vous voulez faire la distinction entre des classes bien définies et des classes qui s'excluent mutuellement: les hommes contre les femmes, les lettres de l'alphabet, etc.
Supposons toutefois que vous souhaitiez plutôt identifier les «A». Vous pouvez traiter cela comme un problème de classification: comment distinguer les «A» des «non-A». Il est assez facile de rassembler un ensemble d'entraînement composé de photos de chiens, mais que devrait contenir votre ensemble d'entraînement de non-chiens? Puisqu'il y a un nombre infini de choses qui ne sont pas des chiens, vous pourriez avoir du mal à construire un ensemble d'entraînement complet et pourtant représentatif de toutes les choses non canines. Au lieu de cela, vous pourriez envisager d'utiliser un classificateur à une classe. Le classificateur traditionnel à deux classes trouve un (hyper) plan qui sépare A de B. Le SVM à une classe trouve à la place la ligne / le plan / l'hyperplan qui sépare tous les points de la classe (les "A") de l'origine ;
Le "système" Ensemble SVM est en fait une collection de nombreuses "sous-unités" SVM à deux classes. Chaque sous-unité est formée à l'aide d'un seulexemple positif pour une classe et une énorme collection d'exemples négatifs pour l'autre. Ainsi, au lieu de discriminer les chiens par rapport aux exemples non-chiens (SVM standard à deux classes) ou les chiens par rapport à l'origine (SVM à une classe), chaque sous-unité fait la distinction entre un chien spécifique (par exemple, "Rex") et de nombreux non-chiens exemples. Les SVM de sous-unités individuelles sont formés pour chaque exemple de la classe positive, vous auriez donc un SVM pour Rex, un autre pour Fido, encore un autre pour le chien de votre voisin qui aboie à 6 heures du matin, etc. Les sorties de ces sous-unités SVM sont calibrées et combinées pour déterminer si un chien, et pas seulement l'un des exemples spécifiques, apparaît dans les données de test. Je suppose que vous pouvez également considérer les sous-unités individuelles comme des SVM à une classe, où l'espace de coordonnées est décalé de sorte que l'exemple positif unique se trouve à l'origine.
En résumé, les principales différences sont les suivantes:
Données d'entraînement
- SVM à deux classes: exemples positifs et négatifs
- SVM à une classe: exemples positifs uniquement
- Ensemble "système" SVM: exemples positifs et négatifs. Chaque sous-unité est formée sur un seul exemple positif et de nombreux exemples négatifs.
Nombre de machines
- SVM à deux classes: une
- Une classe SVM: une
- Ensemble "système" SVM: plusieurs (une sous-unité par exemple positif)
Exemples par classe (par machine)
- SVM à deux classes: plusieurs / plusieurs
- SVM une classe: plusieurs / un (fixe à l'origine)
- Ensemble "système" SVM: plusieurs / plusieurs
- Ensemble "sous-unité" SVM: un / plusieurs
Post-traitement
- SVM à deux classes: pas nécessaire
- SVM une classe: Pas nécessaire
- Ensemble SVM: nécessaire pour fusionner la sortie de chaque SVM dans une prédiction au niveau de la classe.
Postscript: Vous aviez demandé ce qu'ils entendaient par «[d'autres approches] nécessitent de mapper les exemples dans un espace de fonctionnalités commun sur lequel un noyau de similarité peut être calculé. Je pense qu'ils signifient qu'un SVM traditionnel à deux classes fonctionne en supposant que tous les membres de la classe sont en quelque sorte similaires, et donc vous voulez trouver un noyau qui place les grands danois et les teckels près les uns des autres, mais loin de tout le reste. En revanche, le système SVM d'ensemble contourne cela en appelant quelque chose un chien s'il est suffisamment grand comme un danois OU comme un dachsund OU comme un caniche, sans se soucier de la relation entre ces exemplaires.
En bref, le modèle ESVM est un ensemble de SVM formés pour distinguer chaque élément de l'ensemble d'apprentissage unique de tous les autres, tandis que l'OSVM est un ensemble de SVM formés pour distinguer chaque sous-ensemble d'éléments d'apprentissage qui appartiennent à une classe. Donc, si vous avez 300 exemples de chats et 300 chiens dans l'ensemble de formation, l'ESVM fera 600 SVM, chacun pour un animal tandis que l'OSVM fera deux SVM (d'abord pour tous les chats, deuxième pour tous les chiens).
De cette façon, ESVM n'a pas besoin de trouver un espace dans lequel l'ensemble de la classe est regroupé, mais plutôt un espace dans lequel cet élément unique est une valeur aberrante, ce qui est probablement plus simple et conduit à une haute précision. Le rappel serait assuré par l'ensemble.
la source