Comment travaillez-vous avec les réseaux neuronaux ? - page 4

 
Merci beaucoup en tant qu'être humain !
 
alexjou:

- Le nombre de couches est déterminé par la dimensionnalité du vecteur d'entrée, c'est-à-dire que le réseau est généré automatiquement par la définition et l'initialisation/la lecture des tableaux de travail ;

- le nombre de neurones dans une couche cachée diminue progressivement avec l'augmentation du nombre de couches N selon la loi 1/(2^N) ("résoudre les cristaux") ou 1/N ("se souvenir des cristaux") ;


Il semble prouvé que trois couches sont suffisantes pour approximer n'importe quelle fonction. Vous semblez supposer qu'ils sont plus nombreux. A partir de quelles considérations ?


En général, la conception est très proche de mes pensées, bien qu'en termes de connaissance de la NS, je sois probablement à un stade beaucoup plus précoce. Il serait intéressant de communiquer. Pouvez-vous me donner votre adresse e-mail ici ? Ou écrivez-moi à likh sur yandex ru.

 
Le problème ici est légèrement différent.

Il ne s'agit pas d'une approximation de fonction. Je ne connais pas la preuve que vous avez mentionnée (car je n'ai jamais eu besoin de travailler avec des réseaux projectifs), mais des considérations générales suggèrent que pour l'approximation de fonctions arbitraires, le type de fonctions de base et la dimension de la base jouent un rôle beaucoup plus important que la "stratification" du réseau ; cependant, ceci est vrai pour les méthodes projectives en général.

J'ai choisi la configuration ci-dessus du réseau également pour quelques indices : probablement, c'est ainsi que le cerveau des êtres vivants est construit et c'est ainsi qu'il "apprend" en mémorisant et en classant de manière adaptative les informations d'entrée. (J'ai harcelé mes collègues biologistes et médecins presque jusqu'à la mort avec mes questions stupides, mais ils ne pouvaient rien dire de précis à part "pourquoi en avez-vous besoin" et "coupez-le et essayez-le vous-même"). D'où le choix de la règle d'Oia pour modifier les échelles -- dans ce cas, on ne peut pas dire avec certitude s'il s'agit d'un "apprentissage avec un professeur" ou "sans professeur" (j'ai toujours trouvé une telle division des notions excessivement artificielle pour une raison quelconque). Il est intéressant de noter qu'à partir d'un certain moment de l'ajustement des échelles, un tel réseau cesse d'être prévisible, en d'autres termes, commence à se "comporter", bien que nous ne parlions que d'un seul de ces "cristaux" jusqu'à présent.

En bref, le réseau, ainsi que la méthode d'ajustement de ses échelles, ont été construits presque entièrement à partir de considérations heuristiques. Après tout, lors de l'échange, que nous essayons tous de vaincre, de telles considérations, très probablement, sont loin de jouer le dernier rôle. Email : alex-jou Hund rambler Punkt ru (juste une très grosse demande - ne l'ajoutez pas à votre liste de contacts pour éviter le spam. En général et je demande à tout le monde de le faire - l'utilité de ce service est presque nulle et les dégâts sont énormes).
 
Candid:

Il semble prouvé que trois couches sont suffisantes pour approximer n'importe quelle fonction. Vous semblez supposer qu'ils sont plus nombreux. A partir de quelles considérations ?

Cette preuve n'inclut pas la sigmoïde qu'elle mentionne. Par conséquent, il n'est que théoriquement possible d'approximer toute fonction continue par un perceptron à trois couches. Dans le domaine appliqué, malheureusement, les résultats sont bien pires.
 
Quelqu'un sait-il quelque chose sur le paquet PolyAnalyst de ?
 
sayfuji:
Ma question est la suivante. Comment travaillez-vous avec les réseaux neuronaux : mettez-vous en œuvre en utilisant uniquement les moyens mql4 (la même Intelligence Artificielle), utilisez des programmes comme MatLab, ou des packs neuro spéciaux (Neuro Shell Day Trader, NeuroSolutions, etc.), en attachant une dll au code de l'EA. Quelle est votre approche et quels sont ses avantages par rapport aux autres (hormis la rentabilité) ?

Chaque approche présente des avantages et des inconvénients :

1. Lorsque vous développez votre propre réseau neuronal, vous n'avez pas affaire à une boîte noire, sauf bien sûr si vous vous contentez de prendre le code source et de le compiler, mais vous avez ajouté quelque chose de spécifique à la tâche.

2. Lorsque vous achetez une grille propriétaire, vous obtenez : une boîte noire pour le prix, mais aussi : un support, des solutions prêtes à l'emploi et des blanchisseurs d'entrée propriétaires.


En d'autres termes, si l'on achète, par exemple, un progiciel universel de prédiction des séries chronologiques, l'utilisateur n'a pas à réfléchir à ce qui est introduit dans les entrées. Parce que dans le paquet, les entrées sont les séries temporelles telles qu'elles sont. Et dans le paquet lui-même, il est préparé de manière préliminaire pour alimenter les entrées du réseau, c'est-à-dire qu'avant que le réseau ne soit lancé pour l'entraînement, un blanchiment aura lieu :

1. Filtrer et lisser les données d'entrée pour les rendre plus prévisibles et moins bruyantes.

2. Normalisation

3. Filtrage et élimination des entrées moins significatives

4. Suppression des corrélations entre les données

5. Élimination de la linéarité des données d'entrée

6. Sélection de sigmoïdes adéquats pour les données normalisées

Et ainsi de suite.


Après cela, le réseau est entraîné. Ensuite, les données de sortie sont récupérées. Par exemple, si la linéarité a été éliminée aux entrées, le paquet la rétablira aux sorties. La merde à l'entrée se transforme en douceur à la sortie. Il est tout à fait possible, puisque nous avons affaire à une boîte noire, qu'au lieu d'un réseau de neurones, le paquet utilise un algorithme génétique ou peut-être une régression ou une autre méthode d'extrapolation.

-+++------------------------------------------------------------------------------------------------------------------------------------------+++-

- Ainsi, pour les utilisateurs qui veulent s'initier aux réseaux neuronaux mais qui ne comprennent pas le terme "normalisation", il est préférable de se procurer un paquet universel pour la prévision des séries temporelles où vous obtiendrez non seulement des informations sur les séries temporelles (citations) mais aussi sur la taille du décalage.

- Les utilisateurs plus avancés qui connaissent les particularités des architectures de réseaux neuronaux, c'est-à-dire qui ont étudié les avantages et les inconvénients, doivent acheter des progiciels plus spécialisés. Ces paquets ne sont pas adaptés aux amateurs, car vous devez trouver vous-même l'architecture appropriée pour la tâche donnée. Et la méthode "scientifique" consistant à ajouter des éléments aux entrées n'est pas bonne ici, car les sorties seront très probablement aussi pleines de merde.

- Tout le reste, c'est-à-dire les réseaux assemblés à partir de sources non autorisées ou écrits à partir de zéro, ne convient qu'à ceux qui ont une réelle expérience de la préparation des données d'entrée avant l'entraînement du réseau et de la récupération des données en sortie après l'entraînement.

Le principe de sélection des paquets de réseaux neuronaux est extrêmement simple : si vous ne pouvez pas aller aux toilettes, ne vous torturez pas l'anus. Si vous avez acheté un paquet cool et que vous avez des questions sur son utilisation auxquelles vous n'êtes pas en mesure de répondre vous-même à l'aide des manuels fournis, cela ne signifie qu'une chose : ne faites pas comme ça, c'est-à-dire achetez quelque chose de moins cool pour des personnes plus "idiotes".

 

Le problème avec les réseaux neuronaux est le même qu'avec les autres CT qui n'utilisent pas de réseaux neuronaux - un réseau neuronal trouvera toujours un modèle à un intervalle de temps donné (formation ou optimisation), puis la même question se pose : ce modèle fonctionnera-t-il (apportera-t-il des bénéfices) à l'avenir ?

 

Reshetov:

De la merde sur les entrées vient du bonbon sur les sorties.

Jamais.

Il est tout à fait possible, puisqu'il s'agit d'une boîte noire, qu'au lieu d'un réseau neuronal dans un logiciel propriétaire, un algorithme génétique soit utilisé, ou peut-être une régression ou une autre méthode d'extrapolation.

Comment GA se rapporte-t-il à NS et à la régression ?

La NS est une méthode.

L'AG est une méthode.

"Utiliser GA au lieu de NS" semble fou. C'est comme "remplacer le cœur par un analyseur de gaz d'échappement".

Je suis désolé. (rires)

 
LeoV:

....... La même question se pose alors : ce modèle trouvé fonctionnera-t-il (apportera-t-il des bénéfices) à l'avenir ?

Supposons, de manière purement hypothétique, qu'un moyen soit trouvé, ou ait déjà été trouvé, pour répondre à cette question - "Non". De plus, pour tout TC. Quelle conclusion peut-on en tirer ?

Les traders vont arrêter de commercer ? Je suis juste curieux.

ZS. Les traders achèteront-ils des informations fiables confirmant que la réponse est "non" ? Ou préfèrent-ils ne pas connaître la réponse à cette question ? (rhétorique, le cas échéant)

 
joo:

Supposons, de manière purement hypothétique, qu'un moyen soit trouvé, ou ait été trouvé, pour répondre à cette question : " Non ". De plus, pour tout TC. Quelle conclusion en tirez-vous ?

Les traders vont arrêter de commercer ? Je suis juste curieux.

ZS. Les traders achèteront-ils des informations fiables confirmant que la réponse est "non" ? Ou préfèrent-ils ne pas connaître la réponse à cette question ? (rhétorique, s'il en est).

Du pur scholasticisme, s'il en est.