Question

Quelles sont les caractéristiques ou les propriétés qui indiquent qu'un certain problème d'apprentissage peut être abordé à l'aide de machines à vecteurs de support?

En d'autres termes, qu'est-ce que, quand vous voyez un problème d'apprentissage, vous fait aller « oh je certainement utiliser SVM pour cette « » plutôt que les réseaux de neurones ou des arbres de décision ou toute autre chose?

Était-ce utile?

La solution

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 à la fois des problèmes linéaires et non linéaires.

Jusqu'en 2006, ils étaient le meilleur algorithme d'usage général pour l'apprentissage de la machine. Je tentais de trouver un document que de nombreuses implémentations des algorithmes les plus connus: par rapport SVM, les réseaux de neurones, arbres, etc. je ne pouvais pas trouver désolé (vous devez me croire, mauvaise chose). Dans le document de l'algorithme qui a obtenu la meilleure performance était svm, avec la bibliothèque libsvm.

En 2006 Hinton est venu avec l'apprentissage en profondeur et les réseaux de neurones. Il a amélioré l'état actuel de la technique d'au moins 30%, ce qui est un progrès énorme. Cependant l'apprentissage en profondeur seulement obtenir de bonnes performances pour les jeux de formation énormes. Si vous avez une petite formation je plaçai suggère d'utiliser svm.

En outre, vous pouvez trouver ici un infographique utile sur quand utiliser différents algorithmes d'apprentissage machine à par scikit-learn. Cependant, au meilleur de ma connaissance, il n'y a pas d'accord entre la communauté scientifique sur si un problème a X, Y et Z dispose alors il est préférable d'utiliser svm. Je suggère d'essayer différentes méthodes. En outre, s'il vous plaît ne pas oublier que les réseaux de neurones ou svm est juste une méthode pour calculer un modèle. Il est très important aussi bien la fonctionnalités que vous utilisez.

Autres conseils

Supposons que nous sommes dans un cadre de classification.

Pour l'ingénierie de fonction svm est la pierre angulaire:

  • les jeux doivent être linéairement séparables. Sinon, les besoins de données à transformer (par exemple à l'aide décortiqués). Cela ne se fait pas par le algo lui-même et peut souffler le nombre de fonctionnalités.
  • Je dirais que souffre de performance svm que nous augmentons le nombre de dimensions plus rapidement que d'autres méthodes (ensemble d'arbres). Cela est dû au problème d'optimisation sous contrainte que dos svms. Parfois, la réduction de la fonction est possible, parfois, ce qui est quand nous ne pouvons pas ouvrir vraiment la voie à une utilisation efficace de svm
  • svm luttera probablement avec un jeu de données où le nombre de fonctionnalités est beaucoup plus grande que le nombre d'observations. Cela, encore une fois, peut être compris en regardant le problème de optimizatiom contraint.
  • variables ne sont pas traitées de la boîte par l'algorithme de svm.
Licencié sous: CC-BY-SA avec attribution
scroll top