Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 499

 
Maxim Dmitrievsky:

Meiner Meinung nach braucht niemand all diese Codes) außer für einige Servicefunktionen, so dass jeder damit beschäftigt ist, etwas für sich selbst zu tun.

Dies ist eine Folge der Hierarchie der Wissensvervollkommnung: Was einer Giraffe zugänglich ist, ist für ein Nilpferd nicht akzeptabel und umgekehrt, weshalb es je nach Wissensvervollkommnung verschiedene Arten von Bildung gibt, von der Grundschule bis zu akademischen Einrichtungen.

respektvoll.

 


Ich habe dieses Diagramm eines Percetrons gesehen. Normalerweise gibt es nur einen Addierer, aber es gibt auch drei. Es gibt also drei Aktivierungsneuronen?

Ich habe dies in MQL4 getan:

   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;

Ich frage mich, ob das richtig ist. Soweit ich weiß, wird jeder der drei Eingänge (a1, a2, a3) je nach Addierer mit seinem eigenen Gewicht multipliziert.

Dann werde ich versuchen, die lineare Funktion durch eine sigmoidale Aktivierungsfunktion zu ersetzen.

Wer kann schon sagen, ob es besser ist, einen Addierer oder mehrere Addierer zu verwenden, es ist einfach nicht klar, ob es sinnvoll ist, die gleichen Eingänge mit unterschiedlichen Gewichten zu verwenden?

Und ich wollte auch fragen, ob wir, wenn wir das minimale, zweischichtige Netz nehmen, viele Variablen für die Optimierung brauchen, ganz zu schweigen von drei oder vier Schichten.

Ich meine, wenn alle Ebenen auf einmal optimiert werden. Wie viele Variablen können maximal verwendet werden, um die Tests mehr oder weniger gut durchzuführen, gibt es eine Software für diesen Zweck?

 
forexman77:

Mich interessiert, ob das richtig ist? Soweit ich verstanden habe, wird jeder der drei Eingänge a1,a2,a3 mit seinem eigenen Gewicht multipliziert, je nachdem, auf welchen Addierer er trifft.

Fast richtig, es gibt auch eine Verzerrung, die dem Ergebnis zusätzlich hinzugefügt wird

   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;

Höchstwahrscheinlich werden die Werte von y1, y2 und y3 in der inneren Schicht der Neuronen verwendet, und diese Werte selbst sollten auch als Eingabewerte für die nächste Schicht verwendet werden

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

Oder wenn Y1,Y2,Y3 Ausgabewerte sind, dann werden mehrere Ausgangsneuronen für die Klassifizierung verwendet - zum Beispiel wenn der größte Wert unter Y1,Y2,Y3 Y1 ist, dann ist das Ergebnis "Klasse 1", wenn der größte Wert Y2 ist, dann ist das Ergebnis "Klasse 2", wenn der größte Wert Y3 ist, dann ist das Ergebnis "Klasse 3". Wenn ein Neuron für die Regression und nicht für die Klassifizierung verwendet wird, gibt es nur ein Ausgangsneuron. Wenn wir zwei Klassen haben, können wir nur ein Ausgangsneuron verwenden (wenn das Ergebnis <0,5 ist, dann ist es Klasse1, wenn >=0,5, dann ist es Klasse2).

Es ist sehr einfach, ein Sigmoid für die Aktivierungsfunktion eines Neurons hinzuzufügen, Sie brauchen eine solche Funktion -

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)));
}

Und damit erhält man ein vollwertiges Neuronka mit einer inneren Schicht (mit drei Perceptrons) und einem Ausgangs-Perceptron.

   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);

Ergebnis = perceptron4[0]

 
forexman77:

Wie viele Variablen können so weit wie möglich verwendet werden, um mehr oder weniger Tests zu produzieren, gibt es eine Software für diesen Zweck?

Die Anzahl der Gewichte in einem Neuron kann mehrere zehntausend oder mehr betragen. In mql und R gibt es spezielle Bibiloteks zum Erstellen und Trainieren von Neuronen. Es ist besser, mit diesen zu arbeiten, als ein eigenes Neuron von Grund auf zu programmieren.

 
SanSanych Fomenko:

Ich sehe, dass ich Sie nicht atmen lasse... atmen Sie durch und beruhigen Sie sich.


Je weiter man geht, desto kategorischer wird man ;))

 
SanSanych Fomenko:


Dies lässt sich sehr prägnant als Axiom der Statistik (und übrigens der gesamten Mathematik) formulieren: Litter IN - Litter OUT.

Wer das nicht weiß oder in der Praxis nicht anwendet, gehört meiner Meinung nach zu den dichten Rüpeln, ob er nun das Wort Perseptron kennt oder nicht.


Das ist richtig. Ich unterstütze das.

 
Maxim Dmitrievsky:

Ich habe versehentlich die Wörter verwechselt, weil ich gerade über Annäherung gelesen habe


großartig ;))))

 
Oleg Avtomat:

Das ist richtig. Ich unterstütze das.


Befürworten Sie unzureichende Bewusstseinsströme als Antwort auf bestimmte Fragen? Ich habe schon lange festgestellt, dass das Bewusstsein der Menschen mit zunehmendem Alter schal wird, man sagt ein Wort zu ihnen und sie geben einen guten Teil ihrer unbefriedigten Fantasien wieder. Natürlich tun Sie das, denn Sie kommunizieren auf dieselbe Weise. Vielleicht liegt es aber auch nicht am Alter, sondern an der grundsätzlichen Unfähigkeit, sich auf die Sache zu konzentrieren.

Die Kunst des Antwortens besteht darin, sich in das Problem des Fragenden hineinzuversetzen, für eine Weile zu ihm zu werden, zu verstehen, was er braucht und so zu antworten, dass er es versteht. Aber nur verbal Mist zu bauen, ist keine Kunst, sondern Selbstbestätigung.

 
Maxim Dmitrievsky:

Befürworten Sie unzureichende Bewusstseinsströme als Antwort auf bestimmte Fragen? Ich habe schon lange festgestellt, dass das Bewusstsein der Menschen mit zunehmendem Alter schal wird, man sagt ein Wort zu ihnen und sie geben einen guten Teil ihrer unbefriedigten Fantasien wieder. Natürlich tun Sie das, denn genau so kommunizieren Sie. Vielleicht liegt es aber auch nicht am Alter, sondern an der grundsätzlichen Unfähigkeit, sich auf ein Thema zu konzentrieren.

Die Kunst des Antwortens besteht darin, sich in das Problem des Fragenden hineinzuversetzen, für eine Weile seine Rolle zu übernehmen, zu verstehen, was er braucht, und so zu antworten, dass er es versteht. I just fuck up ist keine Kunst, sondern eine Selbstbehauptung.


Um Verwirrung zu vermeiden und um unterscheiden zu können, was was ist - Annäherung, Interpolation, Extrapolation und andere für Sie schwierige Begriffe - sollten Sie Lehrbücher öffnen und lernen. Aber Sie wollen die Tasten betonen und dann versuchen zu verstehen, was Sie tun. Sie verfügen nicht über das nötige Wissen, um sich einen Reim darauf zu machen. Dann können Sie Experimente bewusst planen und sinnvoll durchführen, und die Ergebnisse Ihrer Experimente werden für Sie verständlich sein.

 
Oleg Avtomat:

Um Verwirrung zu vermeiden und um unterscheiden zu können, was was ist - Annäherung, Interpolation, Extrapolation und andere Begriffe, die Ihnen schwer fallen - sollten Sie ein Lehrbuch aufschlagen und lernen. Aber Sie wollen die Tasten betonen und dann versuchen zu verstehen, was Sie tun. Sie verfügen nicht über das nötige Wissen, um sich einen Reim darauf zu machen. Studieren Sie, dann werden Sie verstehen, und Sie werden in der Lage sein, sinnvolle Experimente zu planen und durchzuführen, und die Ergebnisse der Experimente werden Ihnen klar sein.

Tut mir leid, aber Sie haben Ihren Wert in keiner meiner Fragen bewiesen, zumindest habe ich es nicht gesehen.

Sie brauchen nicht wie Captain Obvious zu schreiben und alles auf den Kopf zu stellen, um sich selbst wieder wichtig zu machen.

Grund der Beschwerde: