SVM et Réseau de Neurones
Quelle est la différence entre les SVM et Réseau de Neurones?
Est-il vrai que les svm linéaire est même NN, et pour les non-linéaires séparables problèmes, NN utilise l'ajout de couches cachées et SVM utilise changement de dimensions de l'espace?
- qu'est-SVM stand for?
- Machine à Vecteurs de Support (en.wikipedia.org/wiki/Support_vector_machine)
Vous devez vous connecter pour publier un commentaire.
Il y a deux aspects à cette question. La première partie est "qu'est-ce que la forme de la fonction appris par ces méthodes?" Pour les NN et SVM c'est généralement le même. Par exemple, une seule couche cachée du réseau de neurones utilise exactement la même forme de modèle comme un SVM. Qui est:
Donné un vecteur d'entrée x, la sortie est:
de sortie(x) = sum_over_all_i weight_i * nonlinear_function_i(x)
Généralement les fonctions non linéaires aura également certains paramètres. Si ces méthodes ont besoin d'apprendre beaucoup de fonctions non linéaires doivent être utilisés, de même que leurs paramètres sont, et ce que la valeur de toutes les weight_i poids devrait être.
Par conséquent, la différence entre un SVM et NN est dans la façon dont ils décident de ce que ces paramètres doivent être définis. Généralement, quand quelqu'un dit qu'ils sont à l'aide d'un réseau neuronal ils dire qu'ils essaient de trouver les paramètres qui minimisent l'erreur quadratique moyenne de prédiction à l'égard d'un ensemble d'exemples d'apprentissage. Ils seront également presque toujours à l'aide de la la descente de gradient stochastique algorithme d'optimisation pour ce faire. SVM, d'autre part essayer de minimiser à la fois l'erreur d'entraînement et une certaine mesure de "l'hypothèse de la complexité". Ils vont donc trouver un ensemble de paramètres qui prennent en compte les données mais aussi, c'est "simple" dans un certain sens. Vous pouvez penser à elle comme le rasoir d'Occam pour l'apprentissage de la machine. La plus courante algorithme d'optimisation utilisé avec des SVMs est sequential minimal optimization.
Une autre grande différence entre les deux méthodes est que la descente de gradient stochastique n'est pas la garantie de trouver l'ensemble optimal des paramètres lors de la utilisées de la façon dont NN implémentations de l'employer. Cependant, tout décent SVM mise en œuvre va trouver l'ensemble optimal des paramètres. Les gens aiment à dire que les réseaux de neurones coincées dans des minima locaux, tandis que les SVMs ne le font pas.
NNs sont heuristique, tandis que les SVMs sont théoriquement fondée. Un SVM est garanti pour converger vers la meilleure solution dans la PAC (probablement approximativement correct) sens. Par exemple, pour deux linéairement séparable classes SVM pour attirer les séparant hyperplane directement à mi-chemin entre les points les plus proches des deux classes (celles-ci deviennent de vecteurs de soutien). Un réseau de neurones serait de dessiner une ligne qui sépare les échantillons, ce qui est correct pour l'ensemble de la formation, mais ne pas avoir la meilleure généralisation des propriétés.
Donc pas, même pour linéairement séparable problèmes NNs et les SVMs sont pas les mêmes.
Dans le cas linéaire non-séparables classes, les SVMs et NNs non-linéaire de projection dans des dimensions de l'espace. Dans le cas de NNs ce résultat est obtenu par l'introduction de nouvelles neurones dans la couche cachée(s). Pour les SVMs, un fonction noyau est utilisé pour le même effet. Soigné de la propriété de la fonction du noyau, c'est que la complexité de calcul n'a pas d'augmenter avec le nombre de dimensions, tandis que pour les NNs il est évident qu'elle augmente avec le nombre de neurones.
De l'exécution d'un simple out-of-the-box comparaison entre les machines à vecteurs de support et réseaux de neurones (SANS paramètre de sélection) sur plusieurs populaires de régression et de classification des ensembles de données démontre les différences pratiques: SVM devient très lent prédicteur si de nombreux vecteurs de soutien sont en cours de création, tout réseau de neurones de prédiction de la vitesse est beaucoup plus élevé et le modèle de taille beaucoup plus petite. D'autre part, le temps de formation est beaucoup plus courte pour les SVMs. Concernant la précision/perte - en dépit de ladite théorique inconvénients des réseaux de neurones - les deux méthodes sont à égalité - notamment pour les problèmes de régression, les réseaux de neurones souvent surpasser les machines à vecteurs de support. En fonction de votre problème spécifique, cela peut vous aider à choisir le bon modèle.
SVM et NN a même bâtiment, bloc comme perceptron mais SVM utilise également un noyau astuce pour augmenter la dimension de dire 2 à la 3d par la traduction tels que Y = (x1,2,..^2, y1,2...^2) qui peuvent séparer linéairement inséparable des plaines à l'aide de la ligne droite. voulez une démo comme ça et de me demander 🙂
Pratiquement, la plupart de vos hypothèses sont souvent tout à fait vrai. Je vais préciser: linéaires séparables classes SVM Linéaire fonctionne très bien et et il est plus rapide de train. Pour les non linéaire des classes est le noyau de la tour, qui est de l'envoi de vos données à une dimension supérieure de l'espace. Cette astuce a cependant deux inconvénients par rapport à NN. Premier - votre avez à la recherche pour le droit des paramètres , parce que le classificateur ne fonctionnera que si dans la dimension supérieure, les deux jeux seront linéairement séparable. Maintenant - paramètres de test est souvent réalisé par la grille de recherche qui est CPU-temps. L'autre problème est que cette technique n'est pas aussi général que NN (par exemple, pour la PNL, si les résultats ont souvent mauvaise classificateur).
En fait, ils sont exactement équivalentes les unes aux autres. La seule différence réside dans leur mise en œuvre standard avec les sélections de la fonction d'activation et de régularisation, etc, qui, évidemment, diffèrent les uns des autres. Aussi, j'ai encore pas vu une formulation duale pour les réseaux de neurones, mais les SVMs sont en mouvement vers le primal de toute façon.