![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich denke, aus Ihrem Beitrag geht hervor, dass die Normalisierung mehr von den Daten als von der Aufgabe abhängt.
Was den zweiten Teil betrifft: Berücksichtigen Sie inkrementelle MA und inkrementelle Serien?
Und ganz allgemein gesprochen: Meinen Sie, dass das trainierte Netz unempfindlich gegenüber den Eingabedaten sein sollte (gegenüber jeder einzelnen Eingabe), oder genügt es, die Eingabedaten zu ändern, und das Netz sollte weiterhin Vorhersagen treffen?
Ja, die Abhängigkeit von der Datenverteilung wirkt sich auf die Geschwindigkeit und Qualität des Lernens aus. Das heißt, die Normalisierung wirkt sich im Wesentlichen auf die Geschwindigkeit bzw. die Qualität aus. Was den zweiten Teil betrifft, so kann man natürlich keine völlig anderen Daten in ein neuronales Netz einspeisen, das auf denselben Daten trainiert wurde, sondern nur die Verteilung genau genug beschreiben. Die Verteilung, die Art der Daten sollte immer die gleiche bleiben. Wenn Sie jedoch ein Netz mit einer Art von Daten trainieren, die den Prozess genau beschreiben, und Sie sehr unterschiedliche Ergebnisse erhalten, wenn Sie andere Daten im neu trainierten Netz verwenden, die den Prozess genauso genau beschreiben, dann bedeutet dies, dass Sie dem neuronalen Netz wahrscheinlich die falsche Frage gestellt haben. Die Daten müssen erstens den Prozess vollständig beschreiben, und zweitens müssen Sie den Generalisierungsfehler so weit reduzieren, dass das Netz qualitativ verallgemeinern kann. All dies geschieht buchstäblich auf einer intuitiven Ebene. Es nützt nichts, am Datentyp herumzufummeln, wenn der Prozess vollständig beschrieben ist, aber es lohnt sich, dem Netz die richtige Frage zu stellen.
Noch ein paar Worte zur Vorverarbeitung.
Quellenstichprobe: Der Output korreliert mit dem Input (die stärkste Korrelation). corr=0,64.
Im Diagramm: Koordinate X - Eingabedaten. Y - Erforderliche Ausgabe
Entfernen Sie die lineare Beziehung. Man braucht kein Netz, um die lineare Abhängigkeit zu finden, und außerdem würde es die Ergebnisse des neuronalen Netzes verschlechtern.
So sehen die dekorrelierten Daten aus.
Aus dem ersten Diagramm ist auch ersichtlich, dass die Dichte der Datenpunkte in der Mitte konzentriert und an den Rändern spärlich ist.
Die in der Mitte konzentrierten Punkte geben also den Hauptanreiz für das Training des Netzes, bzw. die Bedeutung ihres Fehlers wird die Bedeutung des Fehlers der Daten an den Rändern übersteigen. Das Netz findet zunächst den Erwartungswert der Stichprobe, der genau in der Mitte liegt, und verteilt sich dann unter Beachtung der Bedingung des minimalen Fehlers um diesen herum.
Dadurch wird die Häufigkeitsverteilungsfunktion ausgeglichen, die Bedeutung des Fehlers wird nivelliert und das Netz hat einen eindeutigen Anreiz, den kleinsten Fehler sowohl in der Mitte der Verteilung als auch an den Rändern der Datenverteilung zu erreichen.
Bei der Sigmoidalfunktion sind die Eingangs- und Ausgangsdaten nahezu gleichmäßig verteilt.
So sehen die transformierten Daten aus. Anhand dieser Daten lernt das Netz.
Die Datenwolke ist also gleichmäßig verteilt. Es gibt jedoch einige Nuancen, die es nicht erlauben, eine solche Vorverarbeitung als optimal für das Netz zu bezeichnen.
Es ist auch erwähnenswert, dass alle Umrechnungen reversibel sind und keine Ungenauigkeiten verursachen.
Alle Methoden (im Prinzip) wurden in diesem Thread bereits diskutiert.
Datenverteilungsfunktion nach Konvertierung mit einer Sigmoidalfunktion, Eingangs- und Ausgangsdaten sind nahezu gleichmäßig verteilt.
StatBars, ist dieses Verfahren automatisiert, oder müssen Sie es manuell tun - um die Koeffizienten der Sigmoidfunktion anzupassen?
StatBars, ist dieses Verfahren automatisiert, oder müssen Sie es manuell tun - die Koeffizienten der Sigmoidfunktion anpassen?
Die Koeffizienten müssen angepasst werden... Aber ich habe vor, das zu automatisieren... Die Idee ist, dass die Approximationsfunktion, wenn sie richtig gewählt ist, ein Rechteck ist.
Ich habe die Ausrichtung nur mit der Flächenverteilungsfunktion automatisiert, aber es gibt so viele "schlüpfrige" Momente, dass ich darauf verzichten musste...
Ja - ich habe das Gleiche.
Ich muss Prival fragen, wie man die gewünschte Verteilung (rechteckig) aus einer beliebigen Verteilung in analytischer Form erhält.
Und warum verwenden Sie Sigmoid als FA und nicht hyperbolischen Tangens? Die Vorteile liegen auf der Hand...
Und warum verwenden Sie Sigmoid als FA und nicht eine hyperbolische Tangente? Die Vorteile liegen auf der Hand...
Und die Vorteile könnten noch detaillierter sein.
Ja, ein Neuron, das durch eine symmetrische Funktion aktiviert wird, lernt doppelt so schnell. Außerdem nehmen einige der Gewichte während des Lernprozesses Werte nahe Null an, d.h. die effektive Anzahl der "arbeitenden" Synapsen des Neurons mit sigmoidalem FA ist immer geringer als die des hyperbolischen. Das ist nicht gut, denn man muss immer noch "tote" Synapsen hin- und herschieben.
Eine einfache Konvertierung ermöglicht es Ihnen, einen Wert von -1 bis 1 auch im Sigmoid zu erhalten. Es gibt nichts Kompliziertes daran.
Ja, wer könnte das bestreiten?
Es ist nur so, dass es eine Frage von "Hose an, Hose aus" ist.
Ja - ich habe das Gleiche.
Ich muss Prival fragen, wie man die gewünschte Verteilung (rechteckig) aus einer beliebigen Verteilung in analytischer Form erhält.
Und warum verwenden Sie als FA das Sigmoid und nicht den hyperbolischen Tangens? Die Vorteile liegen ja nur auf der Oberfläche...
Ich verwende nur den hyperbolischen Tangens.