Pourquoi ne sigmoïde fonctions de travail dans les réseaux de Neurones?
Je viens de commencer la programmation pour les réseaux de Neurones. Je suis actuellement en train de travailler sur la compréhension de la façon dont un Backpropogation (BP), réseau neuronal œuvres. Tandis que l'algorithme pour la formation en BP filets est assez simple, j'ai été incapable de trouver n'importe quel texte sur les raisons de l'algorithme fonctionne. Plus précisément, je suis à la recherche pour certains le raisonnement mathématique pour justifier l'utilisation de l'sigmoïde fonctions dans les réseaux de neurones, et ce qui les rend imiter presque n'importe quelle distribution de données jeté sur eux.
Merci!
Vous devez vous connecter pour publier un commentaire.
La fonction sigmoïde introduit une non-linéarité dans le réseau. Sans une non-linéaire de la fonction d'activation, le net ne peut apprendre les fonctions qui sont des combinaisons linéaires de ses entrées. Le résultat est appelé
universal approximation theorem
ouCybenko theorem
, après le monsieur qui l'a prouvé en 1989. Wikipédia est un bon endroit pour commencer, et il a un lien vers l'article original (la preuve en est quelque peu impliqués tout de même). La raison pourquoi vous devez utiliser une sigmoïde, par opposition à quelque chose d'autre est qu'elle est continue et dérivable, sa dérivée est très rapide à calculer (par opposition à la dérivée de la fonction tanh, qui a des propriétés similaires) et a une portée limitée (de 0 à 1, exclusif)