Quels sont les avantages des réseaux neuronaux artificiels par rapport aux machines à Vecteurs auxiliaires? [fermé]

ANN (Réseaux de Neurones Artificiels) et SVM (Support Vector Machines), deux stratégies pour le suivi de l'apprentissage machine et de la classification. Il n'est pas souvent clair quelle méthode est la meilleure pour un projet particulier, et je suis certain que la réponse est toujours "cela dépend."Souvent, une combinaison des deux avec la classification Bayésienne est utilisée.

ces questions sur Stackoverflow ont déjà été posées concernant ANN vs SVM:

ANN et SVM classification

Quelle est la différence entre ANN, SVM et KNN dans ma question de classification

Machine à Vecteurs de Support ou Réseau de Neurones Artificiels pour le traitement de texte?

dans cette question, j'aimerais savoir spécifiquement quels aspects D'une ANN (spécifiquement, un Perceptron multicouche) pourrait rendre souhaitable de utiliser sur une SVM? La raison pour laquelle je pose cette question Est qu'il est facile de répondre à la question opposée à la question : les machines vectorielles de Support sont souvent supérieures aux Ann parce qu'elles évitent deux faiblesses majeures des ann:

(1) Les Ann convergent souvent vers minima locaux plutôt que vers les minima globaux, ce qui signifie qu'elles sont essentiellement "à côté de la vue d'ensemble" parfois (ou à côté de la forêt pour les arbres)

(2) ANNs often overfit si la formation dure trop longtemps, ce qui signifie que pour n'importe quel motif, une ANN pourrait commencer à considérer le bruit comme une partie du dessin.

SVMs ne souffrent pas de l'une de ces deux problèmes. Toutefois, il n'est pas évident que les MVS soient conçues pour remplacer totalement les SNA. Alors, quel(S) avantage (s) spécifique une ANN a-t-elle par rapport à une SVM qui pourrait la rendre applicable dans certaines situations? J'ai listé spécifique avantages D'un SVM par rapport à une ANN, maintenant j'aimerais voir une liste des avantages D'une ANN (s'il y en a).

337
demandé sur Community 2012-07-24 17:59:11

6 réponses

à en juger par les exemples que vous donnez, je suppose que par ANNs, vous voulez dire les réseaux de feed-forward multicouches (réseaux FF pour faire court), tels que les perceptrons multicouches, parce qu'ils sont en concurrence directe avec les SVM.

L'un des avantages spécifiques de ces modèles par rapport aux MVS est que leur taille est fixe: ce sont les modèles paramétriques , tandis que les MVS ne sont pas paramétriques. C'est, dans une ANN vous avez un tas de couches cachées avec des tailles h 1 par h n selon le nombre de caractéristiques, plus les paramètres de biais, et ceux qui composent votre modèle. En revanche, une MVS (au moins une mvn) consiste en un ensemble de vecteurs de support, choisis parmi les vecteurs d'entraînement, avec un poids pour chacun. Dans le pire des cas, le nombre de vecteurs de support est exactement le nombre d'échantillons de formation (bien que cela se produit principalement avec de petites les ensembles d'apprentissage ou dans les cas dégénérés) et, en général, son modèle taille évolue de façon linéaire. Dans le traitement du langage naturel, les classificateurs SVM avec des dizaines de milliers de vecteurs de support, ayant chacun des centaines de milliers de fonctionnalités, n'est pas inconnu.

aussi, formation en ligne de FF nets est très simple par rapport à l'ajustement SVM en ligne, et la prévision peut être un peu plus rapide.

EDIT : tout ce qui précède concerne le cas général des MVS décortiquées. Les SVM linéaires sont un cas particulier en ce qu'ils sont paramétrique et permettent l'apprentissage en ligne avec des algorithmes simples tels que la descente en gradient stochastique.

110
répondu Fred Foo 2014-12-08 21:48:24

l'un des avantages évidents des réseaux neuronaux artificiels par rapport aux machines vectorielles de soutien est que les réseaux neuronaux artificiels peuvent avoir n'importe quel nombre de sorties, tandis que les machines vectorielles de soutien n'en ont qu'une. La manière la plus directe de créer un classificateur n-ary avec des machines vectorielles de soutien est de créer n Machines vectorielles de soutien et de former chacun d'eux un par un. D'un autre côté, un classificateur n-ary avec des réseaux neuronaux peut être formé en une seule fois. En outre, le réseau de neurones va faire plus d' sens parce qu'il s'agit d'un tout, alors que les machines vectorielles de soutien sont des systèmes isolés. Cela est particulièrement utile si les extrants sont interdépendants.

par exemple, si le but était de classer les chiffres écrits à la main, dix machines vectorielles support feraient. Chaque machine vectorielle de soutien reconnaîtrait exactement un chiffre, et ne reconnaîtrait pas tous les autres. Puisque chaque chiffre écrit à la main ne peut pas être destiné à contenir plus d'information que juste sa classe, il n'a aucun sens d'essayer de résoudre avec un réseau de neurones artificiels.

cependant, supposons que le but était de modéliser l'équilibre hormonal d'une personne (pour plusieurs hormones) en fonction de facteurs physiologiques faciles à mesurer tels que le temps écoulé depuis le dernier repas, la fréquence cardiaque, etc... Comme ces facteurs sont tous interdépendants, la régression des réseaux neuronaux artificiels est plus logique que la régression vectorielle.

50
répondu Alan 2012-11-24 21:03:43

Une chose à noter est que les deux sont en fait très liées. Les SVM linéaires sont équivalentes aux NN à couche simple (perceptrons), et les NN à couche multiple peuvent être exprimées en termes de SVM. Voir ici pour plus de détails.

43
répondu Bryce 2012-11-24 20:23:53

si vous voulez utiliser un SVM du noyau, vous devez deviner le noyau. Cependant, les Ann sont des approximateurs universels avec seulement des suppositions à faire est la largeur (approximation de précision) et la hauteur (efficacité d'approximation. Si vous concevez correctement le problème d'optimisation, vous ne dépassez pas les limites (voir la bibliographie). Cela dépend également des exemples de formation s'ils balaient correctement et uniformément l'espace de recherche. La découverte de la largeur et de la profondeur est le sujet de la programmation entière.

supposons que vous ayez des fonctions limitées f (.) et des approximateurs universels limités sur I=[0,1] avec une portée de nouveau I=[0,1] par exemple qui sont paramétrés par une séquence réelle de support compact U(.,a) avec la propriété qu'il existe une séquence de séquences avec

lim sup { |f(x) - U(x,a(k) ) | : x } =0

et vous dessinez des exemples et des tests (x,y) avec une distribution D sur IxI .

pour un soutien prescrit, ce que vous faites est de trouver le meilleur tel que

sum {  ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal

que ce a=aa qui est une variable aléatoire! le sur-ajustement est alors

Moyenne en utilisant D and D^{N} of ( y - U(x,aa) )^{2}

permettez-moi d'expliquer pourquoi, si vous sélectionnez aa de sorte que l'erreur est minimisée, alors pour un ensemble rare de valeurs, vous avez ajustement parfait. Cependant, comme ils sont rares, la moyenne n'est jamais 0. Vous voulez minimiser la seconde bien que vous ayez une approximation discrète de D. et gardez à L'esprit que le soutien de la longueur est libre.

14
répondu Vasileios Anagnostopoulos 2012-11-25 06:08:30

nous devrions également considérer que le système SVM peut être appliqué directement à des espaces non-métriques, tels que l'ensemble de graphiques étiquetés ou des chaînes. En fait, la fonction interne du noyau peut être généralisée correctement à pratiquement n'importe quel type d'entrée, à condition que l'exigence de définition positive du noyau soit satisfaite. D'un autre côté, pour pouvoir utiliser un ANN sur un ensemble de graphiques marqués, il faut envisager des procédures d'intégration explicites.

10
répondu strozzino 2012-11-24 19:41:45

Une réponse qui me manque ici: Perceptron multicouche est capable de trouver la relation entre les caractéristiques. Par exemple, il est nécessaire dans la vision informatique quand une image brute est fournie à l'algorithme d'apprentissage et maintenant des caractéristiques sophistiquées sont calculées. Essentiellement les niveaux intermédiaires peuvent calculer de nouvelles caractéristiques inconnues.

10
répondu dolbi 2018-02-16 16:14:28