"New Neural" est un projet de moteur de réseau neuronal Open Source pour la plateforme MetaTrader 5. - page 23

 
Urain:
Allez, voyons ce que vous avez.

Egalement fortement intéressé par les réseaux épars.

Et des modèles liés à la logique floue - hourra ! !! Je me suis souvenu du nom de l'un des modèles, voici un lien vers la description. Le modèle Tsukamoto.

____

Celles-ci feront probablement l'effet d'une bombe si elles sont mises en œuvre avec succès.

 
Je ne vois pas en quoi SVN = Support Vector Machine est fondamentalement différent de MLP ?
 

LeXpert:

...


Le produit doit être au niveau des neuro-paquets de type NSDT pour cela, niasilim.

...

Dommage)) C'est le programme qui convient actuellement le mieux aux utilisateurs de tous niveaux. Première place dans le classement des meilleurs logiciels d'analyse établi par le magazine Stocks & Commodities depuis 9 ans, selon les sondages d'opinion des traders. Mais c'est trop cool pour l'OpenSource. ))

Renat 2011.10.18 00:45 #

J'ai l'idée de développer un moteur de réseau neuronal de plusieurs types, que tout trader peut utiliser avec un effort minimal.

Lecode sera fourni dans le code source de MQL5 et distribué comme une partie du terminal.

Je pense que si c'est un code, tout trader ne pourra plus l'utiliser. Tout trader-programmeur, oui. Pour tout trader, il serait approprié d'inclure le neuronet dans un système de trading via l'assistant MQL5, mais je suppose que l'assistant devrait alors être considérablement modifié.

Je suis en train de lire ce sujet et au moins maintenant je commence à comprendre à quel point tout est compliqué.))

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 

Je propose, cependant, de demander une section séparée du forum, tout dans un seul sujet est l'enfer. En tant que dépôt de pensées entassées, c'est très bien, mais quand la discussion commence ...

Que ce soit public, qui veut participer. Créez des fils de discussion sur des aspects individuels du système, et les administrateurs des fils de discussion prendront les décisions finales dans le premier message au fur et à mesure de la discussion. Si nécessaire, organisez un vote public dans des fils de discussion individuels, etc.

Ce serait bien, d'ailleurs, s'il y avait une fonctionnalité de post épinglé (indiqué par l'administrateur), sur toutes les pages de la branche, de sorte que vous ayez toujours sous les yeux une sorte de résumé de la discussion.

 

Pour ceux qui sont intéressés, je vais essayer d'expliquer dans plusieurs courtes post-conférences pourquoi je considère que les réseaux neuronaux basés sur des méthodes biologiques de transformation de l'information et utilisant le principe de sparsité sont très prometteurs.

Conférence 1 : Fondements biologiques de la sparsité dans les réseaux neuronaux.

Le cerveau du bébé en développement passe par une phase de construction d'un grand nombre de synapses (connexions entre les neurones), suivie d'une phase de suppression de près de la moitié des connexions à l'adolescence. De nombreux scientifiques supposent que cette suppression des synapses est nécessaire pour réduire l'énergie utilisée par le cerveau en raison du ralentissement du métabolisme et des changements hormonaux. Le grand nombre de synapses permet au cerveau de l'enfant de se souvenir de beaucoup d'informations, ce qui explique pourquoi les langues étrangères sont plus faciles à apprendre avant l'adolescence. La suppression de la moitié des connexions à l'adolescence aide le cerveau à mieux résumer les informations. Le mécanisme qui permet de supprimer la moitié des connexions dans le cerveau en développement de l'adolescent est encore inconnu. Beaucoup pensent que les changements métaboliques réduisent la quantité de biogènes (nutriments) nécessaires au maintien des synapses. La quantité limitée de ces substances entraîne une compétition entre les connexions d'entrée du neurone pour son existence. Cette concurrence est modélisée par les méthodes d'apprentissage compétitif, dans lesquelles soit la somme des valeurs absolues des poids d'entrée du neurone, soit la somme de leurs carrés est maintenue constante. Ces méthodes sont utilisées dans les réseaux d'auto-apprentissage. Dans les réseaux d'apprentissage assistés par l'enseignant (par exemple, les réseaux à propagation directe), la concurrence entre les poids d'entrée des neurones n'est généralement pas prise en compte. Dans ces réseaux, les connexions entre les neurones sont supprimées après que leurs poids ont été formés. Les poids supprimés sont soit les plus petits poids, soit les poids qui ont peu d'effet sur l'erreur d'apprentissage moyenne.

Références :

https://en.wikipedia.org/wiki/Synaptic_pruning

Huttenlocher, P. R. (1979).
Densité synaptique dans le cortex frontal humain - changements développementaux et effets de l'âge.
Brain Res., 163, 195--205.

Braitenberg, V., Schuz, A. (1998).
Cortex : statistiques et géométrie de la connectivité neuronale.
Berlin : Springer.

LeCun, Y., Denker, J. S., Solla, S. A., Howard, R. E., Jackel, L. D. (1990).
Lésions cérébrales optimales.
Dans Touretzky, D. S. (Eds), Advances in Neural Information Processing Systems 2, NIPS*89, Morgan Kaufmann, Denver, CO, 598--605.

Hassibi, B., Stork, D. G., Wolff, G. J. (1993).
Chirurgie cérébrale optimale et élagage général du réseau.
Proc. IEEE Int. Conf. Neural. Réseaux, 1, 293--299.

Miller, K D., & MacKay, D. J. C. (1994).
Le rôle des contraintes dans l'apprentissage Hebbien.
Neural Computat., 6, 100--126.

Miller, K. D. (1996).
Économie synaptique : concurrence et coopération dans la plasticité synaptique.
Neuron, 17, 371--374.

Synaptic pruning - Wikipedia, the free encyclopedia
Synaptic pruning - Wikipedia, the free encyclopedia
  • en.wikipedia.org
In neuroscience, synaptic pruning, neuronal pruning or axon pruning refer to neurological regulatory processes, which facilitate changes in neural structure by reducing the overall number of neurons and synapses, leaving more efficient synaptic configurations. Pruning is a process that is a general feature of mammalian neurological development...
 
Mischek:
Plus d'imho. Il est peu probable que vous trouviez à l'extérieur un consultant spécialisé qui réponde à vos besoins. Si vous disposez d'un budget, quel qu'il soit, il est plus efficace de le répartir entre vous à la fin du projet, de manière égale ou non, sur la base d'une évaluation subjective des méta-citations.

Je soutiendrai un expert externe. Premièrement, il me semble que vous en aurez besoin d'au moins deux (idéalement encore plus), et deuxièmement, il n'est pas certain qu'au moins deux utilisateurs du forum ici seront plus qualifiés.

sergeev:

Vous pouvez faire encore plus simple.

Dans cette situation, nous passons du spécial au général, avec une tentative d'abstraction vers des modèles universels.

1. Dessinez (sur papier + algorithme verbal du matmodèle) les réseaux que nous pouvons réaliser (topologies et méthodes d'enseignement pour ceux-ci).
2. Trouvez des points d'ancrage communs dans les modèles dessinés pour créer des classes de moteurs abstraits.


C'est probablement l'approche la plus appropriée.
 

tol64:

Je pense que si c'était un code, tout trader ne pourrait plus l'utiliser. Tout trader-programmeur, oui. Pour tout trader, l'option d'inclure le neuronet dans le système de trading par le biais de l'assistant MQL5 conviendrait, mais je suppose alors que l'assistant devrait être considérablement modifié.

Je suis en train de lire ce sujet et au moins maintenant je commence à comprendre à quel point tout est compliqué)).

1. À mon avis, il doit s'agir, tout d'abord, d'une bibliothèque suffisamment puissante et polyvalente pour qu'un trader-programmeur (ou simplement un programmeur MQL) puisse créer un réseau neuronal de la complexité et de la fonctionnalité nécessaires. À ce stade, je pense que vous devez créer une bibliothèque de base constituée d'un petit nombre d'objets (l'abstraction et l'universalité maximales sont importantes ici).

2. Dans un deuxième temps, il est nécessaire d'écrire la fonctionnalité de la bibliothèque de manière plus détaillée et approfondie (pour déterminer les types de réseaux, les méthodes d'entraînement, les variantes de topologie, etc.)

Enfin, dans un troisième temps, je pense qu'il faut décider ce qui sera exactement introduit dans l'entrée et comment elle sera entraînée.

4. Enfin, la chose la plus intéressante, à mon avis. Avec MQ, il serait bon de développer une sorte d'"assistant de réseau neuronal" qui permettrait de créer un modèle de réseau neuronal, en spécifiant de manière cohérente toutes ses caractéristiques.

Du point de vue d'un profane, cela devrait être quelque chose comme ceci. Lancez l'assistant et spécifiez-y : un réseau de tel ou tel type, tant de couches, des neurones de tel ou tel type, traiter les paramètres de telle ou telle dinde (ou simplement analyser un certain flux d'informations), en sortie on obtient un certain signal.

Le résultat de l'assistant devrait (du moins cela me semble être une bonne idée) être un modèle qui peut être utilisé comme un module séparé ou qui peut être utilisé pour le développement d'un modèle EA dans un VISARD existant.

5. Si la question porte sur l'utilisation d'un réseau neuronal pour la création d'un modèle de l'expert par Wizard, il faudra fournir le formulaire dans lequel il sera possible d'ajouter un réseau neuronal (il peut y en avoir plusieurs).

Dans ce cas, les modèles de réseaux neuronaux devront se trouver à un certain endroit (comme les signaux, etc.) et répondre à certaines exigences.

PS

Il serait bon de définir l'"importance" de l'ensemble du réseau neuronal, d'une seule couche (ou partie de couche) et d'un seul neurone dans cette approche.

 
gpwr:
C'est ce que j'essayais de vous faire faire :) . Continuez à faire du bon travail.
 
Vigueur:

Je suggère cependant que nous demandions une section séparée du forum, c'est une plaie d'avoir tout dans un seul fil. En tant que dépôt de pensées entassées, c'est bien, mais quand la discussion commence...

Il y a un login pour le stockage.
 

Tous ces réseaux délicats peuvent être résolus - le plus important est d'être orienté vers le commerce))). Et cela passe par l'intégration dans les EA qui fonctionnent. Cela signifie que pour la plupart des EA typiques, il n'est pas nécessaire de faire un tas de choses auxiliaires telles que le prétraitement des données d'entrée ou la préparation d'un échantillon d'entraînement, et cela devrait être systématisé et automatisé. Par exemple, si quelqu'un voulait saisir un masque, il n'aurait pas besoin de générer d'abord un certain nombre de valeurs de masque, puis un certain nombre de valeurs prédites (par exemple, l'augmentation du prix pour certaines barres), de normaliser le tout, etc. et enfin d'entraîner le réseau.

D'un point de vue purement technique, cela peut ressembler à ceci : pour les neurones d'entrée, nous avons une fonction virtuelle EnterData qui renvoie un double. Si vous voulez entrer des indicateurs ou ce que vous voulez, il suffit d'écrire tout dans cette fonction.

La même chose pour le neurone de sortie est la fonction ExitData qui calcule ce qui est prédit.

Par exemple, je veux prédire les changements de prix pour 5 barres : j'ai redéfini la fonction

double ExitData(){

return(Open[-5]-Open[0]) ;

}

Ou je veux prédire la volatilité

double ExitData(){

return(High[iHighest(...,5,-5)]-Low[iLowest(....,5,-5)]) ;

}

etc.

Il est également possible de définir la période d'apprentissage et le hors-échantillon comme une propriété de l'objet réseau. Et après la formation, nous avons pu obtenir les caractéristiques de la courbe d'équité sur les échantillons (facteur de profit par exemple).

c'est-à-dire

Net.StartTime=2005

Net.FinishTime=2008 année

Net.StartOutOfSamples=2009 année

Net.FinishOutOfSamples=2011 année

Net.Teach ;

Net.OutOfSamples ;

si (Net.PFOutOfSamples>3) Print("Bon") ;

Ou, si le réseau ne fait pas de trading par lui-même mais prédit la volatilité, par exemple, l'utilisateur redéfinit lui-même la fonction évaluant la qualité du réseau pour OutOutOfSamples.

Ensuite, les outils de test et d'optimisation peuvent être utilisés pour rechercher la meilleure topologie ou sélectionner le type de réseau et bien d'autres choses encore.

Raison: