"New Neural" ist ein Open-Source-Projekt für neuronale Netzwerke für die MetaTrader 5-Plattform. - Seite 31

 
TheXpert:
Bereits gelöst und angewendet. Und sie wird sogar in diesem Thread veröffentlicht.

Ich schrieb nachl64 , ich habe keinen anderen solchen Satz gesehen (wegen Unaufmerksamkeit oder Mangel daran).

Wenn ich etwas dupliziert habe, habe ich nichts dagegen, es von NeuroOpenSource löschen zu lassen.

TheXpert:

dll ist nicht erlaubt

Ich will damit nur sagen, dass man es im Moment noch von Hand machen sollte, und dass MQ vielleicht spezielle Methoden für spezielle Fälle entwickeln wird :o)
 
Urain:

Wenn ich etwas kopiert habe, macht es mir nichts aus, das zu sagen. NeuroOpenSource löschen.

Er ist kein Administrator :) .

Ich sage dir, dass du deine Hände benutzen sollst, für den Moment, und dann wird MQ vielleicht zur Vernunft kommen und spezielle Methoden für spezielle Fälle entwickeln :o)

Man muss nicht versuchen, die Unermesslichkeit zu begreifen. Sie sollten die Dinge besser Schritt für Schritt angehen. Nun werden die folgenden grundlegenden Einheiten skizziert:

__________________________

Ein Netzwerk (bestehend aus Schichten, Synapsen und Puffern).

Ein Tutor (externer vielseitiger Lernalgorithmus), der das Netz benötigt, um alle anpassbaren Parameter aufzuzählen und anzuwenden. Zum Beispiel ein genetischer Tutor. Standardmäßig ist das Training in die Schichten und in das Gitter eingebettet.

Initializer- Dies ist wahrscheinlich die einfachste Einheit :) Initialisiert die einstellbaren Parameter des Netzwerks.

Muster-Manager. Eine Einheit, mit der Sie Muster erstellen (generieren), laden und speichern können, die mit dem Raster kompatibel sind.

Visueller Manager. Eine Einheit, mit der Sie ein Netz visuell gestalten können.

Datenverarbeiter. Entität zur Normalisierung und Analyse von Mustern.

_________________________

Hast du nicht etwas vergessen?

Alle Entitäten sind in irgendeiner Weise miteinander verbunden (d.h. einige Entitäten sollen andere Entitäten durch Schnittstellen unterstützen), aber sie sind im Wesentlichen unabhängig.

_________________________

Gegenwärtig ist es problemlos möglich, gleichzeitig einen Patterns Manager und einen Data Processor zu entwickeln, und zwar mit minimalen Unterstützungsmaßnahmen.

 
TheXpert:

Hast du nicht etwas vergessen?

Alle Einheiten sind in irgendeiner Weise miteinander verbunden (d.h. einige Einheiten sollen andere durch Schnittstellen unterstützen), sind aber im Wesentlichen unabhängig.

_________________________

Derzeit ist es möglich, einen Learning Patterns Manager und einen Data Handler gleichzeitig zu entwickeln, mit minimalen Support-Vereinbarungen.

Ja, ich scheine nichts zu vergessen - es ist alles da.

Eine Ergänzung: Es wäre wünschenswert, dass der Pattern Manager mit dem Standard-Assistenten für den EA-Generator kompatibel ist (eventuell muss auch der Assistent selbst gedopt werden) .Daher die Möglichkeit, mit dem Standard-Assistenten Muster für Neurodrive zu erstellen.

 

Ich schlage vor, die folgenden architektonischen Punkte zu berücksichtigen:

1) alle externen Daten (in Bezug auf die NS) in Form von Indikatoren vorzubereiten, die es ermöglichen:

- unabhängig vom gesamten System sein

- die "Richtigkeit" der Idee visuell bewerten

- die Art der Normalisierung wählen

2) sich aktiv um OpenCL zu bemühen (CUDA ist für die glücklichen Besitzer von AMD-GPUs leider nicht verfügbar)

- 1536 Stream-Prozessoren auf der HD6970 sind keine 6 Kerne auf der CPU

- In den meisten Fällen ist das Training von neuronalen Netzen eine SIMD-Aufgabe, die perfekt auf die GPU passt

- die Architektur des gesamten Komplexes sollte von Anfang an unter Berücksichtigung dieser Anforderungen konzipiert werden

3) der gesamte Dateiaustausch zwischen den Teilsystemen (Konfigurationen, Netze, Abfragen, ...) sollte in XML verwaltet werden

- offene Norm

- 100500 visuelle Editoren

- fertige Parserhttps://www.mql5.com/ru/code/97

XmlParser
XmlParser
  • Stimmen: 11
  • 2010.04.12
  • yu-sha
  • www.mql5.com
Простой XML-парсер, который использует стандартную библиотеку msxml.
 
TheXpert:

Netzwerk (bestehend aus Schichten, Synapsen und Puffern).

Ein Trainer (externer, universeller Lernalgorithmus), der das Netz benötigt, um alle konfigurierbaren Parameter aufzuzählen und anzuwenden. Zum Beispiel ein genetischer Tutor. Standardmäßig wird das Training in Schichten und innerhalb des Netzes eingebettet.

Ein Initialisierer ist wahrscheinlich die einfachste Einheit :) initialisiert die einstellbaren Parameter des Netzwerks.

Muster-Manager Eine Einheit, mit der Sie Muster erstellen (generieren), laden und speichern können, die mit dem Netz kompatibel sind.

Visueller Manager Eine Einheit, die die visuelle Gestaltung des Netzes ermöglicht.

Datenverarbeiter Eine Einheit zur Normalisierung und Analyse von Mustern.

Der Pattern-Manager ist eine vorgefertigte Vorlage für verschiedene Netze im Initializer-Format?

Auch der Visual Manager ist auf den Initializer angewiesen , da der VM die durch den MF erstellten Muster im Initz-Format speichert.

Der Initializer ist abhängig vom Netzwerk.

Der Tutor muss in das Netz selbst integriert werden, es sei denn, er ist extern wie GA. Der interne Tutor ist also vom Netz abhängig.

Datenverarbeiter TheXpert ist sogar von sich selbst unabhängig :o), der Präprozessor ist unabhängig vom Postprozessor (die Hauptsache ist, die Synchronität nicht zu verlieren).

Im Moment haben wir also nur zwei unabhängige Einheiten, das Netzwerk und den Handler.

 
Urain:

Der Mustermanager ist derjenige, der Muster lesen und in eine Datei schreiben und mit einem Zeitfilter arbeiten kann.

Nein, der Mustermanager ist derjenige, der Muster in eine Datei einlesen und mit dem Zeitfilter arbeiten kann.

Der Visual Manager ist ebenfalls vom Initializer abhängig.

Der Initialisierer initialisiert nur die ihm übergebenen Daten, welche Abhängigkeiten bestehen?

Der Initialisierer ist abhängig vom Web.

Siehe oben.

Der Tutor sollte in das Netz selbst eingebunden sein, es sei denn, er ist extern wie die GA.

Genau, es ist extern. Ich habe sie absichtlich in Klammern gesetzt.

 

zwei interessante SVM-Algorithmen: SVM mit dynamischem Time Warping als Kernell-Funktion:http://notendur.hi.is/steinng/ijcnn08.pdf incremental SVM learning : http://www.isn.ucsd.edu/svm/incremental/

 
TheXpert:

Der Initialisierer übersetzt die tabellarischen Daten über die Netzstruktur in ein Initialisierungsformat, d.h. "rufe jetzt diese Funktion auf, oder dieser Zyklus wird so viele Iterationen haben", ist also abhängig von der Fähigkeit des Netzes. Wenn das Netz nicht auf diese Weise erstellt werden kann, führt diese Verweigerung zu Einschränkungen für den Initialisierer.

Der Manager speichert/lädt, speichert das vom Visualizer erstellte, lädt das gespeicherte, aber wenn der Initializer abhängig ist, wird die Abhängigkeit sowohl an den Manager als auch an den Visualizer durch ihn weitergegeben. Zum Beispiel hat der Benutzer verlangt, dass die in*wg-Ergebnisse paarweise summiert und dann multipliziert werden, aber die Rasterfunktionalität unterstützt das nicht, so dass wir Einschränkungen in den Renderer einführen müssen, und das ist eine Abhängigkeit.

(in0*wg0+
 in1*wg1)
 *
(in2*wg2+
 in3*wg3)
 
Urain:

Der Initialisierer übersetzt tabellarische Daten über die Netzstruktur in ein Initialisierungsformat.

Woher kommt diese Fantasie? Ich habe das Gefühl, dass Sie überhaupt nicht wissen, wovon Sie reden.

class IInitializer
{
public:
   virtual void Init(double& value) {ASSERT(false);}
   virtual void Init(array& values) {ASSERT(false);}
   virtual void Init(matrix& values) {ASSERT(false);}
};

Wo sind die Abhängigkeiten?

 
TheXpert:

Scheiße. Woher kommen diese Fantasien? Ich habe das Gefühl, dass Sie überhaupt nicht wissen, wovon Sie reden.

Wo sind die Abhängigkeiten?

Sie haben etwas missverstanden, die Abhängigkeit ist nicht direkt, sondern umgekehrt, durch die Kette, wenn das Netzwerk nicht etwas tun kann (eine Konfiguration erstellen), dann, wenn Sie die Top-Blöcke schreiben, muss es berücksichtigt werden, das ist die Abhängigkeit. Solange es keine genehmigte Konfiguration des Netzes gibt, ist es zu früh, über die oberen Blöcke zu sprechen, da sie sich im Bereich der Unsicherheit bewegen.

ZZY Sie können einen anderen Weg gehen, schreiben Sie alle Blöcke, wie es ist, dann bei der Suche nach Unstimmigkeiten setzen Patches, dann Patches wieder, als Ergebnis, wenn die Menge der Patches erreicht kritische analysieren alles und bereits alles von Grund auf neu zu schreiben. Es ist zwar etwas umständlich, aber es ermöglicht Ihnen, sofort mit der Arbeit zu beginnen und nach und nach alle Ungereimtheiten zu ermitteln.