Les réseaux neuronaux, comment les maîtriser, par où commencer ? - page 7

 
Neutron >> :
Ne soyez pas si sévère. Après tout, le réseau est parfois réentraîné (et je le fais à chaque comptage de la BP analysée) et la méthode de la moyenne trouve un minimum. Quant à la réduction de la dimensionnalité, elle ne fonctionne pas pour les BP comme ceux des prix, malheureusement.

Quelle période utilisez-vous ? Pour ce qui est de la réduction des effectifs, tout dépend de la raison pour laquelle vous allez le faire. S'il s'agit d'un prétraitement trivial, il n'aura pas d'effet réel sans certaines considérations a priori, c'est-à-dire lorsque vous avez déjà suffisamment de données et que vous ne faites qu'améliorer le résultat. Si vous utilisez la réduction des effectifs pour autre chose, cela peut être n'importe quoi ;)

 
registred писал(а) >>

Quel délai utilisez-vous ?

Je n'utilise pas de TF.

La raison en est que les chandeliers sont utilisés dans toutes les unités de temps, donc le BP construit par les prix d'ouverture (ou l'ouverture) est plus proche du BP aléatoire intégré que le BP construit à partir de l'initial par d'autres méthodes (comme le passage à l'heure de l'instrument, etc.).

 

Merci gpwr, arnautov!

Шаг 1: Выбираем входные данные. Например,


x1 = WPR Per1

x2 = WPR Per2

x3 = WPR Per3

Est-ce que je comprends bien que les données d'entrée sont les variables des paramètres externes de l'EA, avec lesquelles les coefficients seront comparés ?

Plus près du sujet ? Pas de problème ! Vous devez commencer par écrire un neurone, puis les combiner en un réseau. Et des programmes sophistiqués - c'est après. Tous les autres conseils sont nuls.

Et l'écriture d'un neurone, pouvez-vous la décomposer en étapes ?


Alors ? Qui a écrit dans le fil de discussion qu'il aimerait utiliser un exemple, pouvons-nous commencer ?

Les premières étapes nous ont été indiquées, le conseiller est à la page cinq...

 
Neutron >> :

Je sais que deux théorèmes ont été prouvés il n'y a pas si longtemps.

Je serai reconnaissant pour les références

Selon la première, la NS non linéaire à trois couches (qui consiste en trois couches de neurones, avec une non-linéarité à la sortie de chaque couche) est un approximateur universel.

Il semble que cela ait été prouvé il y a longtemps. Que l'on peut approximer n'importe quelle fonction, avec une précision aussi faible soit-elle, avec un perseptron à trois couches.

et le fait d'augmenter encore le nombre de couches n'ajoute pas de puissance au réseau.

Selon le deuxième théorème, la puissance de calcul du réseau ne dépend pas du type spécifique de non-linéarité aux sorties de ses neurones. Il est important qu'elle (la non-linéarité) soit en principe, et peu importe ce qu'elle est exactement - sigmoïde ou arctangente.

Ce que je disais est le résultat d'expériences pratiques. Quant à la non-linéarité... vous devez d'abord vous familiariser avec ces théorèmes.

En outre, il est prouvé qu'il existe une relation non ambiguë entre la longueur optimale de l'échantillon d'entraînement sur les données historiques, la dimensionnalité de l'entrée du NS et le nombre total de ses synapses, dans le sens d'une minimisation de l'erreur de prédiction sur les données non impliquées dans l'entraînement du réseau. Cela permet de ne pas s'engager dans le léninisme en sélectionnant manuellement cet optimum. Avec les capacités MS existantes, cela permet d'économiser beaucoup de temps et d'efforts.

Voulez-vous dire le nombre de paramètres réglables ? Les seuils sont également inclus. À propos, il serait également utile d'avoir une preuve documentaire. Et cela ne ferait pas de mal à ceux qui commencent à s'occuper des réseaux neuronaux de se familiariser avec ce matériel.

 
Andrey4-min >> :

Et l'écriture d'un neurone, pouvez-vous la décomposer en étapes ?

Il est préférable d'écrire dans un langage orienté objet.


Le neurone est un concept trop superficiel quand on écrit NS.

Une couche est une union de neurones identiques, il n'y a donc aucun sens à considérer un neurone séparément.


Je n'ai utilisé que deux types d'abstractions dans ma bibliothèque : les couches et les poids.


Les poids sont un bloc de synapses reliant 2 couches.

Une couche comporte un tampon d'entrée, un tampon de sortie et un tampon d'erreur, ainsi qu'une fonction d'activation. Les synapses sont un tableau à deux dimensions, et relient le tampon de sortie de la couche au tampon d'entrée comme suit.

Un réseau est un ensemble de couches et de liens entre elles. Toute couche qui a des signaux non nuls dans le tampon d'erreur peut être considérée comme une couche de sortie.

 
TheXpert писал(а) >>

Eh bien, cela a été prouvé il y a longtemps. Qu'un Perspectron à 3 couches peut approximer n'importe quelle fonction, avec une petite précision donnée.

Erreur, pas précision.

Si c'est clair, alors quel est l'intérêt de toute cette complexité :

TheXpert a écrit >>

Sur de nombreux problèmes, le perseptron à 4 couches montre des résultats et une convergence bien meilleurs.

Et dans certains endroits, on utilise une couche de 5. Quant aux réseaux complexes (avec plusieurs couches de sortie et des liens complexes) basés sur un perseptron, je laisse cette partie de côté pour le moment.

Voulez-vous dire le nombre de paramètres réglables ? Les seuils sont également inclus. D'ailleurs, il serait également utile de les documenter. Et ceux qui commencent à s'intéresser aux réseaux neuronaux feraient bien de se familiariser avec ce matériel.

Oui, je voulais parler du nombre de poids en NS et de leur relation avec le nombre d'entrées et la longueur optimale de l'échantillon d'apprentissage. La dérivation de la relation est donnée dans l'article joint à Attach aux pages 64-65. 64-65. En bref, si le nombre de poids de NS est w, le nombre d'entrées d et la longueur de l'échantillon d'apprentissage P, à l'optimum, la condition suivante doit être satisfaite : P = (w^2)/d

Références à des théorèmes que je donnerai plus tard - je dois les trouver.

Dossiers :
yvtwslxtn.zip  1592 kb
 
Neutron >> :

Par la marge d'erreur, pas la précision.

Oui.

Si cela est clair, alors pourquoi cette complexité ?

C'est simple, lorsque l'ajout d'une couche ou la modification de l'architecture se fait en quelques clics de souris ou en quelques lignes de code, alors ces complexités deviennent des extras intéressants.

Oui, je voulais parler du nombre de poids dans le NS par rapport au nombre d'entrées et de la longueur optimale de l'échantillon d'apprentissage. La dérivation de la relation est donnée dans l'article joint en annexe aux pp. 64-65.

>> Merci. Et la preuve du théorème ? Ou du moins la formulation exacte ?

 

Le théorème d'adéquation pour toute fonction neuronale non linéaire a été démontré par l'ancien mathématicien soviétique et, depuis la fin des années 1980, par le mathématicien américain Vladik Kreynovich [1] et publié dans l'une des principales revues occidentales sur les réseaux neuronaux.

1. Kreinovich V.Y. Une non-linéarité arbitraire est suffisante pour représenter toutes les fonctions par des réseaux neuronaux : un théorème / Neural Networks, 1991, Vol.4, № 3. - p.381-383.

P.S. Sur la suffisance de 3 couches - plus tard.

 

La preuve de la suffisance de 3 couches, je l'ai vue dans l'article de Gorban A.N. "..." - je ne la trouve pas.

La constance du fait de la suffisance est dans l'article joint ci-dessous à la page 39.

Dossiers :
esibfjnus.zip  967 kb
 
Il semble y avoir un lien avec le théorème, prouvé par Kolmogorov, selon lequel toute fonction de n'importe quel nombre de variables peut être exactement exprimée en termes de fonctions de deux variables. Je ne l'ai peut-être pas exprimé avec précision, mais il est souvent mentionné dans les articles sur les SN.