L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 499

 
Maxim Dmitrievsky:

A mon avis, personne n'a besoin de tous ces codes) sauf pour certaines fonctions de service, donc chacun est occupé à faire quelque chose pour lui-même.

C'est une conséquence de la hiérarchie de la perfection de la connaissance, ce qui est accessible à une girafe n'est pas acceptable pour un hippopotame et vice versa, c'est pourquoi il existe différents types d'éducation basés sur le niveau de perfection de la connaissance, de l'école primaire aux institutions académiques.

respectueusement.

 


J'ai vu ce schéma d'un pertron. En général, il y a un seul additionneur, mais il y en a trois. Il y a donc trois neurones d'activation ?

Je l'ai fait dans MQL4 :

   a1 = iAC(Symbol(), 0, 0);
   a2 = iAC(Symbol(), 0, 3);
   a3 = iAC(Symbol(), 0, 7);
   
   perceptron1[0]=w11 * a1 + w21 * a2 + w31 * a3;
   perceptron2[0]=w22 * a2 + w12 * a1 + w32 * a3;
   perceptron3[0]=w33 * a3 + w13 * a1 + w23 * a2;

Je me demande si c'est correct. Pour autant que je sache, chacune des trois entrées (a1,a2,a3) est multipliée par son propre poids en fonction de l'additionneur.

Ensuite, je vais essayer de remplacer la fonction linéaire par une fonction d'activation sigmoïdale.

Qui peut dire s'il est préférable d'utiliser un ou plusieurs additionneurs, ce n'est pas clair, y a-t-il un sens à utiliser les mêmes entrées avec des poids différents ?

Et je voulais aussi demander, si nous prenons le minimum, un réseau à deux couches, alors nous aurons besoin de beaucoup de variables pour l'optimisation, sans parler de trois ou quatre couches.

Je veux dire, si toutes les couches sont optimisées en même temps. Combien de variables peut-on utiliser au maximum afin d'obtenir plus ou moins les tests, existe-t-il un logiciel à cet effet ?

 
forexman77:

Je suis curieux de savoir si c'est correct ? D'après ce que j'ai compris, chacune des trois entrées a1,a2,a3 est multipliée par son propre poids en fonction de l'additionneur qu'elle rencontre.

Presque juste, il y a aussi un biais qui s'ajoute au résultat.

   perceptron1[0]=w11 * a1 + w21 * a2 + w31 * a3 + w01;
   perceptron2[0]=w22 * a2 + w12 * a1 + w32 * a3 + w02;
   perceptron3[0]=w33 * a3 + w13 * a1 + w23 * a2 + w03;

Il est fort probable que les valeurs y1,y2,y3 soient utilisées dans la couche interne des neurones, et que ces valeurs soient elles-mêmes utilisées comme valeurs d'entrée pour la couche suivante.

perceptron4[0] = w14 * perceptron1[0] + w24 * perceptron2[0] + w34 * perceptron3[0] + w04;

Ou si Y1,Y2,Y3 sont des valeurs de sortie, alors plusieurs neurones de sortie sont utilisés pour la classification - par exemple si la plus grande valeur parmi Y1,Y2,Y3 est Y1, alors le résultat est la "classe 1", si la plus grande valeur est Y2, alors le résultat est la "classe 2", si la plus grande valeur est Y3, alors le résultat est la "classe 3". Si le neurone est utilisé pour la régression au lieu de la classification, le neurone de sortie sera unique. Si nous avons deux classes, nous pouvons utiliser un seul neurone de sortie (si le résultat est <0.5, alors il s'agira de la classe 1, si >=0.5, alors il s'agira de la classe 2).

Il est très facile d'ajouter une sigmoïde pour la fonction d'activation d'un neurone, vous avez besoin d'une telle fonction -

double sigmoid(double sum)
{
    if (sum < -15.0)
        return (0.0);
    else if (sum > 15.0)
        return (1.0);
    else
        return (1.0 / (1.0 + MathExp(-sum)));
}

Et avec lui, vous obtenez un neuronka à part entière avec une couche interne (avec trois perceptrons) et un perceptron de sortie.

   perceptron1[0] = Sigmoid(w11 * a1 + w21 * a2 + w31 * a3);
   perceptron2[0] = Sigmoid(w22 * a2 + w12 * a1 + w32 * a3);
   perceptron3[0] = Sigmoid(w33 * a3 + w13 * a1 + w23 * a2);
   perceptron4[0] = Sigmoid(w14 * perceptron1[0] + w24 * perceptron2[0] + w34 * perceptron3[0] + w04);

résultat = perceptron4[0]

 
forexman77:

Combien de variables peuvent être utilisées autant que possible pour produire plus ou moins de tests, existe-t-il un logiciel à cet effet ?

Le nombre de poids dans un neurone peut atteindre des dizaines de milliers ou plus. Dans mql et R, il existe des bibiloteks spéciaux pour la création et l'entraînement des neurones, il est préférable de travailler à travers eux, plutôt que de programmer votre propre neurone à partir de zéro.

 
SanSanych Fomenko:

Je vois que je ne vous laisse pas respirer... Respirez et calmez-vous.


Plus on avance, plus on devient catégorique ;))

 
SanSanych Fomenko:


Ceci est formulé très succinctement comme un axiome des statistiques (et de toutes les mathématiques, d'ailleurs) : Litter ON INPUT - Litter OUTPUT.

Une personne qui ne sait pas cela, ou qui ne l'applique pas dans la pratique, est à mon avis un fou furieux, qu'elle connaisse ou non le mot perseptron.


C'est vrai. Je soutiens cela.

 
Maxim Dmitrievsky:

J'ai accidentellement mélangé les mots parce que je lisais sur l'approximation à ce moment-là.


super ;))))

 
Oleg avtomat:

C'est vrai. Je suis d'accord.


Soutenez-vous les flux de conscience inadéquats en réponse à des questions spécifiques ? J'ai remarqué depuis longtemps qu'avec l'âge, la conscience des gens s'étiole, vous leur dites un mot et ils vous donnent une bonne partie de leurs fantasmes insatisfaits. Bien sûr que oui, car vous communiquez de la même façon. Ou peut-être que ce n'est pas l'âge mais une incapacité fondamentale à se concentrer sur l'essentiel.

L'art de répondre consiste à s'immerger dans le problème de l'auteur de la question, à devenir lui pendant un moment, à comprendre ce dont il a besoin et à répondre de manière à ce qu'il comprenne. Mais déconner verbalement n'est pas de l'art mais de l'affirmation de soi.

 
Maxim Dmitrievsky:

Soutenez-vous les flux de conscience inadéquats en réponse à des questions spécifiques ? J'ai remarqué depuis longtemps qu'avec l'âge, la conscience des gens s'étiole, vous leur dites un mot et ils vous donnent une bonne partie de leurs fantasmes insatisfaits. Bien sûr que oui, car vous communiquez de la même façon. Ou peut-être que ce n'est pas l'âge mais une incapacité fondamentale à se concentrer sur le sujet.

L'art de répondre consiste à s'immerger dans le problème de l'auteur de la question, à devenir lui pendant un moment, à comprendre ce dont il a besoin et à répondre de manière à ce qu'il comprenne. I just fuck up n'est pas un art mais une affirmation de soi.


Pour éviter toute confusion et être en mesure de distinguer ce qui est quoi -- approximation, interpolation, extrapolation et autres termes difficiles pour vous -- vous devriez ouvrir des manuels et apprendre. Mais vous voulez ponctuer les boutons et ensuite essayer de comprendre ce que vous faites. Vous n'avez pas la base de connaissances nécessaire pour y voir clair. Vous comprendrez alors, et vous serez en mesure de planifier consciemment des expériences, et de mener des expériences significatives, et les résultats de vos expériences seront compréhensibles pour vous.

 
Oleg avtomat:

Pour éviter toute confusion et être en mesure de distinguer ce qui est quoi -- approximation, interpolation, extrapolation et autres termes compliqués -- vous devriez ouvrir un manuel et apprendre. Mais vous voulez ponctuer les boutons et ensuite essayer de comprendre ce que vous faites. Vous n'avez pas la base de connaissances nécessaire pour y voir clair. Étudiez, puis vous comprendrez, et vous serez en mesure de planifier et de mener des expériences significatives, et les résultats des expériences seront clairs pour vous.

Désolé, mais vous n'avez prouvé votre valeur dans aucune de mes questions, du moins je ne l'ai pas vu.

Tu n'as pas besoin d'écrire comme Captain Obvious et de tout mettre sens dessus dessous pour te rendre important.