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
Hallo Dmitriy,
ich arbeite seit einigen Wochen an den ersten beiden Teilen deiner "Neural Networks"-Serie und stoße immer wieder auf den folgenden Code, wenn ich durch Neuronen (oder andere Dinge) blättere.
Ich verstehe es wirklich nicht - meiner Meinung nach würde dies immer das letzte Element auslassen. Die Total() -Funktionen sollten einen Zähler zurückgeben, dann entfernen Sie einen und verwenden "<" in der for-Schleife. Bei einer Total()-Zahl von 2 würden Sie die for-Schleife also nur einmal durchlaufen.
Was übersehe ich?
Mit freundlichen Grüßen,
Delf
In einem Teil des Codes haben Sie etwas geschrieben wie:
aber nehmen wir an, wir haben 20 Neuronen in der Schicht, und wir weisen die Variable total mit 19 [int total=Layer.Total()-1] zu, so dass jetzt total gleich 19 ist, wenn wir über Neuronen von Index 0-18 (total=19) iterieren, erreichen wir nie den Index 19 (letztes Neuron), ich denke, wir müssen den Code mit ändern:
oder
um das letzte Neuron in der Schicht zu erreichen.
Was ist Ihre Idee?
in einem Teil des Codes haben Sie etwas geschrieben wie:
aber nehmen wir an, wir haben 20 Neuronen in der Schicht, und wir weisen die Variable total mit 19 [int total=Layer.Total()-1] zu, so dass jetzt total gleich 19 ist, wenn wir über Neuronen von Index 0-18 (total=19) iterieren, erreichen wir nie den Index 19 (letztes Neuron), ich denke, wir müssen den Code mit ändern:
oder
um das letzte Neuron in der Schicht zu erreichen.
Was ist Ihre Idee?
In jeder Schicht fügen wir ein weiteres Neuron für die Bayes'sche Verschiebung hinzu. Wenn wir also die Funktion aufrufen, um eine Schicht mit 20 Neuronen zu erzeugen, erzeugen wir 21 Neuronen. Und Layer.Total() wird 21 zurückgeben. Aber die Eingabedaten haben nur 20 Elemente. Das letzte bayesianische Neuron hat immer '1' in der Ausgabe. Ich verwende also Layer.Total()-1. In der Schleife verwende ich "<", weil das erste Element des Arrays den Index "0" hat.
Der neue Artikel Neural Networks Made Easy wurde veröffentlicht:
Geschrieben von Dmitriy Gizlyk
Hallo, zum ersten Mal lernen neuronale Netze, Ihr Artikel ist sehr geeignet für mich, aber ich möchte wissen, warum -1 an vielen Stellen benötigt wird, wie zum Beispiel: nextLayer.Total () - 1, so dass es nicht mit der Anzahl der Neuronen in der nächsten Schicht übereinstimmt.
Hallo, zum ersten Mal lernen neuronales Netz, ist Ihr Artikel sehr geeignet für mich, aber ich möchte wissen, warum -1 an vielen Stellen benötigt wird, wie zum Beispiel: nextLayer. () - 1, so dass es nicht mit der Anzahl der Neuronen in der nächsten Schicht übereinstimmt.
Hallo, das ist normale Arbeit mit Array. Bei mql5 beginnen alle Array-Indizes bei 0. Und nextLayer.Total() gibt die Gesamtzahl der Neuronen zurück. Wenn es also 10 zurückgibt, bedeutet das Elemente des Arrays haben Indizes von 0 bis 9.
Ich erhalte einen Kompilierungsfehler, wenn ich die Datei herunterlade.
Versuchen Sie, die Funktion GetPointer zu verwenden.
Hallo Dmitriy, Vielen Dank für diesen Artikel. Bitte für diesen Fehler, wie kann man es beheben? könnten Sie bitte den korrigierten Code zur Verfügung stellen?
Hallo Muhammad, hast du diesen Fehler beheben können?