1 - Danke für den Artikel, er hat mich für die nächste freie Zeit fasziniert, und sobald ich einen freien Tag habe - werde ich tiefer in das Thema gehen.
2 - Eine Bemerkung, der Code lässt sich nicht kompilieren. Offensichtlich haben Sie Beispiele geschrieben, die Ihre Entwicklungen vereinfachen, aber Sie haben die resultierenden Beispiele nicht in der Praxis überprüft. Ich denke, dass die Fehler in Druckfehlern ausgedrückt sind, zumindest die, die mir aufgefallen sind. Ich habe den Artikel noch nicht zu Ende gelesen. Und aus der Sicht der Programmierung in den Methoden der Schaffung neuer Neuronen und andere Dinge, die Sie nicht löschen die Vergangenheit, wenn der Index nicht über den vorherigen Wert, erhalten Sie potenzielle Zombie-Objekte...
3 - Frage. Die Gewichte des Gitters sollten sich anscheinend nicht zu eins summieren, oder?
2 - Das implementierte Netzwerk wird sehr langsam arbeiten, weil es durch Objekte implementiert ist..., zumindest die Gewichte sollten durch einfache Arrays implementiert werden. Außerdem kann man sehen, dass das Projekt des Netzwerks aus der Sicht von OOP Fehler enthält, es ist im Projekt selbst, weil so viele Objekte entstanden sind.
3 - Die Gewichte des Netzwerks können beliebige Werte haben, nicht durch irgendetwas begrenzt, wenn sie sich den Nullwerten nähern, reduzieren sie ihren Einfluss....
Du musst den Einzelwert eines Neurons verwechselt haben, den Endwert, aber nach der Sigmoidfunktion...in diesem Fall, ja, die Ausgabe jedes Neurons im Netz ist von 0 bis 1, aber im Artikel gab es eine Tankenz als Aktivierung eines Neurons, und seine Ausgabe ist von -1 bis 1.
Ein weiterer großer Nachteil dieses Artikels ist, dass kein Wort über die Datenaufbereitung, Normalisierung usw. verloren wurde, und das ist sehr wichtig, da das neuronale Netz nicht mit den Originaldaten arbeitet.
Daniil Kurmyshev:
2 - Das implementierte Netzwerk wird sehr langsam arbeiten, weil es alle durch Objekte implementiert ist..., zumindest Gewichte sollten durch einfache Arrays implementiert werden. Außerdem kann man sehen, dass das Netzwerkprojekt vom OOP-Standpunkt aus gesehen Fehler enthält, es ist im Projekt selbst, weil so viele Objekte entstanden sind.
Es gibt keinen Leistungsverlust, ich habe es getestet, und Sie können in den Beiträgen von Admin Renat schauen, er zeigte, dass OOP in MQL5 so schnell wie prozeduralen Stil funktioniert.
Wie für den Artikel, die Präsentation ist gut, aber das Material wurde bereits viele Male in Artikeln über diese Ressource abgedeckt, obwohl es nützlich sein kann.
"Wenn wir den Eingang eines neuronalen Netzes mit einem Datenfeld von 10 Elementen füttern wollen, dann sollte die Eingangsschicht des Netzes 10 Neuronen enthalten. So kann der gesamte Datensatz akzeptiert werden. Die redundanten Eingangsneuronen sind dann nur Ballast."
Nein, das sollte es nicht, eines könnte ausreichen.
"Die Anzahl der versteckten Schichten wird durch die kausale Beziehung zwischen den Eingabedaten und der erwarteten Ausgabe bestimmt. Wenn wir zum Beispiel unser Modell in Bezug auf die "5 Warum"-Technik aufbauen, ist es logisch, 4 versteckte Schichten zu verwenden, die uns in der Summe mit der Ausgabeschicht die Möglichkeit geben, 5 Fragen zu den ursprünglichen Daten zu stellen."
Was ist "5 why's" und was haben 4 Schichten damit zu tun? Ich habe nachgeschaut, ein einfacher Entscheidungsbaum beantwortet diese Frage. Der universelle Approximator ist ein 2-Schichten-NS, der eine beliebige Anzahl von "Warum"-Fragen beantworten kann :) Die anderen Schichten werden hauptsächlich für die Datenvorverarbeitung in komplexen Designs verwendet. Zum Beispiel, um ein Bild aus einer großen Anzahl von Pixeln zu komprimieren und es dann zu erkennen.
"Da die Ausgabe eines Neurons ein logisches Ergebnis ist, sollten die Fragen, die dem neuronalen Netz gestellt werden, eine eindeutige Antwort erwarten lassen."
Handelt es sich bei der Ausgabe nicht um einen einfachen Addierer, wird die Antwort als probabilistisch angenommen.
Ich habe mich nicht getraut, mir den Code anzusehen, da es im Internet zahlreiche hochwertige Implementierungen gibt )).
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.


Neuer Artikel Neuronale Netze leicht gemacht :
Künstliche Intelligenz wird oft mit etwas phantastisch Komplexem und Unverständlichem assoziiert. Gleichzeitig wird die künstliche Intelligenz im Alltag immer häufiger erwähnt. Nachrichten über Errungenschaften im Zusammenhang mit dem Einsatz neuronaler Netze erscheinen oft in verschiedenen Medien. Der Zweck dieses Artikels ist es zu zeigen, dass jeder leicht ein neuronales Netz erstellen und die Errungenschaften der künstlichen Intelligenz im Handel nutzen kann.
Die folgende Definition der Neuronalen Netze bietet Wikipedia:
Künstliche neuronale Netze, auch künstliche neuronale Netzwerke, kurz: KNN (englisch artificial neural network, ANN), sind Netze aus künstlichen Neuronen .. [die ein] biologisches Vorbild [haben]. Eine KNN basiert auf einer Anzahl von miteinander verbundenen Einheiten oder Knoten, die künstliche Neuronen genannt werden und die Neuronen in einem biologischen Gehirn nachempfunden sind.
Das heißt, ein neuronales Netzwerk ist eine Einheit, die aus künstlichen Neuronen besteht, zwischen denen eine organisierte Beziehung besteht. Diese Beziehungen sind ähnlich wie bei einem biologischen Gehirn.
Die Abbildung unten zeigt das Bild eines einfachen Neuronalen Netzes. Hier zeigen Kreise die Neuronen an und Linien visualisieren die Verbindungen zwischen den Neuronen. Die Neuronen befinden sich in Schichten, die in drei Gruppen unterteilt sind. Blau zeigt die Schicht der Eingangsneuronen an, die für die Eingabe der Quellinformationen bestimmt sind. Grün und blau sind Ausgangsneuronen, die das Ergebnis der Operation des neuronalen Netzes ausgeben. Dazwischen befinden sich graue Neuronen, die eine verborgene Schicht bilden.
Autor: Dmitriy Gizlyk