"New Neural" est un projet de moteur de réseau neuronal Open Source pour la plateforme MetaTrader 5. - page 39
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Devons-nous construire des réseaux de base radiaux ?
ils ont un bug fort, alors qu'ils apprennent rapidement, ils prédisent mal sur des données inconnues.
Cours général (à partir de http://www.intuit.ru/department/expert/neuro/ vous devez vous inscrire là, si vous ne voulez pas vous inscrire - le pseudo est Nic_Touch pas zdraste01 )
Conférences http://www.softcraft.ru/neuro/ni/p00.shtml
Exemples de cartographie http://www.statsoft.ru/home/products/version6/snn.htm
Livres sur les modèles et les méthodes de formation
u - entrée de l'activateur
y - facteur de puissance supplémentaire.
Partout où il y a un exposant, il faut éviter de calculer des exposants de nombres positifs pour ne pas obtenir de grands nombres dépassant 32 bits. Par exemple, pour calculer le sigma, il est préférable de procéder comme suit
double x = -y*u ;
double e=exp(-|x|) ;
if(x<=0) return(1./(1.+e))
si(x>0)return(e/(1.+e)) ;
Ces formules sont dérivées assez simplement. Si l'argument exposant est négatif, nous laissons la formule inchangée. Si elle est positive, on multiplie le numérateur et le dénominateur par l'exposant du même argument, mais avec un signe négatif.
Partout où il y a un exposant, il faut éviter de calculer des exposants de nombres positifs pour ne pas obtenir de grands nombres dépassant 32 bits. Par exemple, le calcul du sigma est meilleur de la façon suivante
double x = -y*u ;
double e=exp(-|x|) ;
if(x<=0) return(1./(1.+e))
si(x>0)return(e/(1.+e)) ;
Ces formules sont dérivées assez simplement. Si l'argument exposant est négatif, nous laissons la formule inchangée. S'il est positif, on multiplie le numérateur et le dénominateur par l'exposant du même argument, mais avec un signe négatif.
Bizarrement, la sigmoïde elle-même fonctionne correctement même avec de grandes entrées négatives, mais la fonction hypertangente échoue, j'ai donc ajouté une sigmoïde décalée en plus des algorithmes classiques. Cette fonction fonctionne dans la même limite que l'hypertangente, mais elle est plus rapide et n'a pas de problème de #IND.
De même, avec le réglage de l'angle d'attaque (pour de petites valeurs du coefficient y), l'hypertangente n'atteint pas -1;1, la sigmoïde décalée n'a pas de tels problèmes.
En général, qui veut finaliser hypertangente, mais je pense que la fonction est peu prometteur, non seulement que je dois enregistrer le résultat parce que l'exposant est utilisé deux fois, donc encore besoin de contrôles, plus des problèmes avec l'échec à atteindre les limites lors de l'ajustement de l'attaque.
Ma conclusion est que l'hypertangente n'est pas une solution, la sigmoïde décalée est la meilleure.
J'en conclus que l'hypertangente est à proscrire, la sigmoïde décalée est la règle.
secondé.
Il est possible de réaliser une implémentation plus simple de la sigmoïde dans la limite [-1;1].
mais cette implémentation a aussi un problème avec #IND, donc il est préférable d'ajouter quelques opérations simples que d'écrire de nombreuses vérifications
ici nous ajoutons + - / , donc 3 opérations supplémentaires contre beaucoup de vérifications
Il s'agit de la meilleure option, tant en termes de facilité de travail dans la plage [-1;1] que de rapidité d'exécution. La zone de définition correspond à la totalité de la ligne numérique.
C'est exactement la fonction d'activation que j'ai utilisée ces derniers temps, après avoir essayé de nombreuses alternatives et testé leur vitesse d'exécution.
Et celui-ci est mon préféré dans la grille d'écho :
Au fait.
Une fonction sigmoïde est nécessaire.
Les exigences sont une forme normale de la fonction elle-même et de sa dérivée (pas trop difficile à calculer) et une forme normale de la fonction inverse et de sa dérivée.