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

 
Eidechse_:

Lassen Sie uns über das Erlernen von DAO sprechen, ugh, TAU)))


Nein, nein... hier gibt es nur DAO...

 
Eidechse_:

Paket learningCurve, R, Lernkurve.

Wie helfen sie bei der Berechnung der Anzahl der Neuronen?
 
elibrarius:
Wie helfen sie bei der Berechnung der Anzahl der Neuronen?

wenn der Fehler nicht mehr stark abfällt, dann hören Sie auf zu unterrichten :)

 
Maxim Dmitrievsky:

Wenn der Fehler nicht mehr drastisch abnimmt, dann hören Sie auf zu lernen :)

Wir können nur ein Netz mit bereits definierter Struktur trainieren und nach Fehlern suchen. Zunächst muss die Struktur bestimmt werden, d. h. die Anzahl der Neuronen, auf denen man dann nach Fehlern suchen kann.

D.h. die Frage ist, wie learningCurve vor dem Training hilft, die optimale Anzahl der Neuronen zu bestimmen.

Oder mit jeder anderen Methode.

 
elibrarius:

Wir können nur ein Netz mit bereits gegebener Struktur trainieren und nach Fehlern suchen. Zunächst müssen wir die Struktur definieren, d. h. die Anzahl der Neuronen, an denen wir Fehler beobachten können.

D.h. die Frage ist, wie learningCurve vor dem Lernen hilft, die optimale Anzahl von Neuronen zu bestimmen.

Oder mit jeder anderen Methode.


Es stellt sich heraus, dass die Zahl keine Rolle spielt... das Lernen hört einfach auf, wenn die Fehlerzahl nicht mehr sinkt, und es findet kein erneutes Training statt. Es kann also eine große Anzahl von Neuronen geben

wenn ich das richtig verstehe.

 
Eidechse_:

Reden wir über Erkenntnis DAO, ugh, TAU)))


Die Relativität des Erkennens ist auf viele Gründe zurückzuführen, von denen an erster Stelle die unterschiedliche Vorbereitung des Bewusstseins auf den Akt des Wahrnehmens und Verstehens desselben Phänomens zu nennen ist, was zu unterschiedlichen Ergebnissen des Erkennens (Reaktionen, Entscheidungen, Handlungen usw.) führt.

 
Maxim Dmitrievsky:

Es stellt sich heraus, dass die Zahl keine Rolle spielt... das Training hört einfach auf, wenn der Fehler nicht mehr abfällt, und es findet kein erneutes Training statt. Es könnte also eine große Anzahl von Neuronen geben

wenn ich das richtig verstehe.

Dies ist ein früher Halt. Ich sehe keinen Zusammenhang mit dem Paket learningCurve.

Bei der Methode des vorzeitigen Abbruchs wird das Training beendet, wenn die Komplexität des Netzes einen optimalen Wert erreicht. Dieser Zeitpunkt wird anhand des zeitlichen Verhaltens des Validierungsfehlers geschätzt.

Aber es hat auch seine Schwächen: Ein zu großes Netz wird seinen Lernprozess frühzeitig abbrechen, wenn die Nichtlinearitäten noch nicht voll zum Tragen gekommen sind. Das heißt, diese Technik ist mit dem Auffinden schwach nichtlinearer Lösungen behaftet.

Eidechse_:

Fehler (2 St.).

Bitte schreiben Sie ausführlicher. Wie hilft learningCurve bei der Bestimmung der Anzahl der Neuronen für das Netz?

 

Zur Regularisierung kann ich nichts sagen, ich habe damit nicht experimentiert.

Ein frühzeitiges Abbrechen führt jedoch zu einer Überanpassung. Aufgrund der hohen Ähnlichkeit von Test- und Trainingsdaten funktioniert es irgendwie bei der Bilderkennung, weshalb es in Büchern und Artikeln oft empfohlen wird. Für den Devisenhandel ist sie jedoch nicht geeignet.


Ich rate dazu, die k-fache Kreuzvalidierung zu lernen. Ich habe verschiedene Möglichkeiten gesehen, diese funktioniert gut -

Nehmen wir mal fünf Fouls. Nehmen wir an, es gibt 1000 Zeilen in einer Trainingstabelle.

1) Trainieren Sie das Modell auf den Zeilen 201-1000. Wenn es sich um ein Neuron handelt, gibt es keine frühe Unterbrechung, sondern man muss dem Neuron nur eine bestimmte Anzahl von Epochen beibringen, um eine hohe Genauigkeit zu erreichen. Sagen Sie die Zeilen 1-200 voraus.
2) Trainieren Sie das Modell erneut, jetzt auf den Zeilen 1-200 sowie 401-1000, verwenden Sie dieselben Modellparameter und generell alle identischen Einstellungen. Sagen Sie die Zeilen 201-400 voraus.
3) Trainieren Sie das Modell erneut, jetzt für die Zeilen 1-400 und 601-1000, verwenden Sie dieselben Modellparameter und im Allgemeinen alle identischen Einstellungen. Sagen Sie die Zeilen 401-600 voraus.
4) Trainieren Sie das Modell erneut, jetzt auf den Zeilen 1-600 und 801-1000, verwenden Sie dieselben Modellparameter und im Allgemeinen alle identischen Einstellungen. Sagen Sie die Zeilen 601-800 voraus.
5) Trainieren Sie das Modell erneut, jetzt in den Reihen 1-800, verwenden Sie dieselben Modellparameter und generell alle identischen Einstellungen. Sagen Sie die Zeilen 801-1000 voraus.

Als Ergebnis haben wir fünf Modelle, die mit dem gleichen Lernalgorithmus und den gleichen Parametern erstellt wurden. Und fünf Vorhersagen, die jeweils auf Daten basieren, die dem Modell unbekannt sind.
Fünf Arrays mit Vorhersagen werden zu einem langen Array der Länge 1000 addiert und mit der Funktion R2 gegen die realen Daten ausgewertet. Damit wird unser Modell, die Trainingsmethode und alles andere bewertet.
Dann wählen wir die Modellparameter (Aktivierungsfunktion, Anzahl der Schichten und ihre Größe usw.) jedes Mal, wenn wir all diese Schritte durchführen (5 Modelle trainieren, 5 Chunks für jedes Modell einzeln vorhersagen, sie zusammenführen, R2), um eine immer bessere Schätzung zu erhalten.

Zur Vorhersage neuer Daten in einem realen Handel - wir sagen jedes der fünf Muster voraus und finden für die fünf Ergebnisse den Durchschnitt, der die endgültige Vorhersage für die neuen Daten sein wird.

p.s. Die Anzahl der Fouls sollte man besser in Zehnerschritten angeben, in diesem Beispiel sind es der Einfachheit halber nur fünf.

 

Eine besondere Art des Erfassens von Kategorien ist die Analogieoperation der folgenden Art: Ursache + Bedingung → Folge, wobei die Folge nur dann eintritt, wenn Ursache und Bedingung kombiniert werden. Wendet man diese Operation auf die Kategorien der Teile und des Ganzen an, so findet man die Kategorie der Struktur, die die Rolle der notwendigen Bedingungen spielt: Teile + Struktur → Ganzes, d.h. ein Ganzes kann nicht ohne eine entsprechende strukturelle Bedingung erhalten werden, ein Berg kann nicht aus einer ausreichenden Anzahl von Sandkörnern erhalten werden, solange sie nur auf der Ebene liegen. Die Voraussetzung, um aus den Elementen ein System zu erhalten, sind Beziehungen und Verbindungen zwischen den Elementen: Elemente + Verbindungen → System. Die Bedeutung der Form wurde deutlich, als eine einfache Nähnadel in eine Nähmaschinennadel umgewandelt wurde, bei der das Öhr an die Spitze der Nadel verlegt wurde. Um eine neue Qualität der Nadel zu erreichen, musste die Konfiguration geändert werden: Form + Konfiguration → Qualität. Dieses Beispiel zeigt gleichzeitig die Funktionsweise des Gesetzes der Entwicklung von Gegensätzen in einem System - eine Veränderung der Qualität erfordert nicht unbedingt eine Veränderung der Quantität.

 

Die optimale Anzahl der versteckten Elemente ist ein spezifisches Problem, das durch Erfahrung gelöst werden muss. Als allgemeine Faustregel gilt jedoch: Je mehr verborgene Neuronen, desto größer die Gefahr des Überlernens. In diesem Fall lernt das System nicht die Fähigkeiten der Daten, sondern merkt sich die Muster selbst und alle darin enthaltenen Störungen. Ein solches Netz funktioniert gut innerhalb einer Stichprobe, aber schlecht außerhalb der Stichprobe. Wie können wir ein Überlernen vermeiden? Es gibt zwei gängige Methoden: frühzeitiges Stoppen und Regularisierung. Der Autor bevorzugt seine eigene, die sich auf die globale Suche bezieht.

Lassen Sie uns diesen Teil der Geschichte zusammenfassen. Der beste Ansatz für die Dimensionierung des Netzes ist das Prinzip von Occam. Das heißt, dass bei zwei Modellen mit der gleichen Leistung das Modell mit weniger Parametern erfolgreicher verallgemeinert. Das bedeutet nicht, dass wir unbedingt ein einfaches Modell wählen sollten, um die Leistung zu verbessern. Das Gegenteil ist der Fall: Viele versteckte Neuronen und Schichten sind keine Garantie für Überlegenheit. Heutzutage wird den großen Netzen zu viel Aufmerksamkeit geschenkt und den Grundsätzen ihrer Gestaltung zu wenig. Größer ist nicht immer besser.


http://ai-news.ru/2016/05/tehnologii_fondovogo_rynka_10_zabluzhdenij_o_nejronnyh_setyah_578372.html

Технологии фондового рынка: 10 заблуждений о нейронных сетях
Технологии фондового рынка: 10 заблуждений о нейронных сетях
  • ai-news.ru
Нейронные сети - один из самых популярных классов алгоритмов для машинного обучения. В финансовом анализе они чаще всего применяются для прогнозирования, создания собственных индикаторов, алгоритмического трейдинга и моделирования рисков. Несмотря на все это, репутация у нейронных сетей подпорчена, поскольку результаты их применения можно...