Quelles sont les caractéristiques ou les propriétés qui indiquent qu'un certain problème d'apprentissage peut être résolu à l'aide de machines à vecteurs de support?
En d'autres termes, qu'est-ce qui, lorsque vous voyez un problème d'apprentissage, vous fait dire "oh je devrais certainement utiliser des SVM pour cela" plutôt que des réseaux de neurones ou des arbres de décision ou autre chose?
supervised learning
balise, car les SVM peuvent également être utilisés dans des problèmes d'apprentissage non supervisés .exception
, tu veux dire que c'est juste un tweak et pas la convention, non?Réponses:
SVM peut être utilisé pour la classification (distinction entre plusieurs groupes ou classes) et la régression (obtention d'un modèle mathématique pour prédire quelque chose). Ils peuvent être appliqués à des problèmes linéaires et non linéaires.
Jusqu'en 2006, ils étaient le meilleur algorithme à usage général pour l'apprentissage automatique. J'essayais de trouver un article qui comparait de nombreuses implémentations des algorithmes les plus connus: svm, réseaux neuronaux, arbres, etc. Je ne pouvais pas le trouver désolé (vous devrez me croire, mauvaise chose). Dans l'article, l'algorithme qui a obtenu les meilleures performances était svm, avec la bibliothèque libsvm.
En 2006, Hinton a mis au point un apprentissage profond et des réseaux neuronaux. Il a amélioré l'état actuel de la technique d'au moins 30%, ce qui est un énorme progrès. Cependant, l'apprentissage en profondeur n'obtient de bonnes performances que pour d'énormes ensembles d'entraînement. Si vous avez un petit ensemble d'entraînement, je vous suggère d'utiliser svm.
De plus, vous pouvez trouver ici une infographie utile sur le moment d'utiliser différents algorithmes d'apprentissage automatique par scikit-learn. Cependant, à ma connaissance, il n'y a pas d'accord entre la communauté scientifique quant à savoir si un problème a des fonctionnalités X, Y et Z, alors il est préférable d'utiliser svm. Je suggère d'essayer différentes méthodes. N'oubliez pas non plus que svm ou les réseaux neuronaux ne sont qu'une méthode pour calculer un modèle. Il est très important également les fonctionnalités que vous utilisez.
la source
Supposons que nous sommes dans un cadre de classification.
Pour l'
svm
ingénierie des fonctionnalités est la pierre angulaire:svm
performances souffrent car nous augmentons le nombre de dimensions plus rapidement que d'autres méthodologies (ensemble d'arbres). Cela est dû au problème d'optimisation contraint qui soutient l'svm
art. Parfois, la réduction des fonctionnalités est possible, parfois non et c'est à ce moment-là que nous ne pouvons pas vraiment ouvrir la voie à une utilisation efficace desvm
svm
aura probablement du mal avec un ensemble de données où le nombre d'entités est beaucoup plus grand que le nombre d'observations. Ceci, encore une fois, peut être compris en examinant le problème d'optimisation contraint.svm
algorithme.la source