Friday 6 October 2017

Moving Average Neuronales Netzwerk


Ich verstehe neuronale Netze mit einer beliebigen Anzahl von versteckten Schichten können ungefähre nichtlineare Funktionen, aber es kann annähern: Ich kann nicht denken, wie es könnte. Es scheint wie eine sehr offensichtliche Beschränkung von neuronalen Netzwerken, die möglicherweise begrenzen, was sie tun kann. Zum Beispiel, aufgrund dieser Einschränkung, neuronale Netze wahrscheinlich nicht richtig passen viele Funktionen in Statistiken wie Exponential Moving Average, oder sogar Varianz verwendet. Apropos gleitenden Durchschnitt, können wiederkehrende neuronale Netze richtig approximieren, dass ich verstehe, wie ein Feedforward neuronales Netzwerk oder sogar ein einziges lineares Neuron einen gleitenden Durchschnitt mit der gleitenden Fenstertechnik ausgeben kann, aber wie würden wiederkehrende neuronale Netze es ohne X Menge von versteckten Schichten tun (Wobei X die gleitende mittlere Größe ist) Auch gehen wir davon aus, dass wir die ursprüngliche Funktion f nicht kennen. Was geschieht, um den Durchschnitt der letzten 500 Eingaben zu erhalten, und dann eine 1 ausgeben, wenn seine höher als 3 und 0, wenn seine nicht. Aber für eine Sekunde, so tun wir nicht wissen, dass es eine schwarze Box. Wie würde ein rekurrierendes neuronales Netzwerk annähern, dass wir zuerst wissen müssen, wie viele timesteps es haben sollte, die wir nicht haben. Vielleicht ein LSTM-Netzwerk könnte, aber auch dann, was ist, wenn seine nicht eine einfache gleitende Durchschnitt, seine ein exponentieller gleitender Durchschnitt Ich glaube nicht, sogar LSTM kann es tun. Noch schlimmer noch, was ist, wenn f (x, x1), dass wir versuchen zu lernen, ist einfach Das scheint sehr einfach und unkompliziert. Kann ein neuronales Netzwerk es lernen Ich sehe nicht, wie. Bin ich etwas großes hier fehlt oder sind maschinelle Lernalgorithmen extrem begrenzt Gibt es andere Lerntechniken neben neuronalen Netzwerken, die tatsächlich irgendwelche von diesem tun können Der entscheidende Punkt zu verstehen ist kompakt. Neuronale Netze (wie jede andere Approximationsstruktur wie Polynome, Splines oder Radiale Basisfunktionen) können jede kontinuierliche Funktion nur innerhalb eines kompakten Satzes approximieren. Mit anderen Worten, die Theorie besagt, dass gegeben: dann gibt es ein neuronales Netzwerk, das f (x) mit einem Näherungsfehler kleiner als epsilon approximiert. Überall innerhalb von a, b. Bezüglich Ihres Beispiels von f (x) x 2. Ja Sie können es mit einem neuronalen Netzwerk innerhalb eines endlichen Bereiches approximieren: -1,1. 0, 1000 beträgt. Etc. Um dies zu visualisieren, stellen Sie sich vor, dass Sie f (x) innerhalb -1,1 mit einer Schrittfunktion approximieren. Können Sie es auf Papier tun? Beachten Sie, dass, wenn Sie die Schritte schmal genug, können Sie jede gewünschte Genauigkeit zu erreichen. Die Art und Weise, wie neuronale Netze näherungsweise f (x) sind, unterscheidet sich nicht wesentlich von dieser. Aber auch hier gibt es kein neuronales Netzwerk (oder irgendeine andere Näherungsstruktur) mit einer endlichen Anzahl von Parametern, die f (x) x 2 für alle x in -,, approximieren können. Ich verstehe neuronale Netze mit einer beliebigen Anzahl von versteckten Schichten können ungefähre nichtlineare Funktionen, aber es kann approximieren: Die einzige Möglichkeit, kann ich Sinn für diese Frage ist, dass Sie reden über Extrapolation. So z. B. Gegeben Trainings-Samples im Bereich -1 lt x lt 1 kann ein neuronales Netzwerk die richtigen Werte für x gt 100 lernen. Ist das, was du meinst Wenn Sie vorher wissen, dass die Funktionen, die Sie zu approximieren versuchen wahrscheinlich niedriger sein werden Polynome (oder jede andere Menge von Funktionen), dann könnten Sie sicher ein neuronales Netzwerk, dass diese Funktionen darstellen können, und extrapolieren x2 überall zu bauen. Wenn Sie dont Vorkenntnisse haben, sind die Dinge ein bisschen schwieriger: Es gibt unendlich viele glatte Funktionen, die x2 im Bereich -1..1 perfekt passen, und theres kein guter Grund, warum wir erwarten würden, dass x2 bessere Vorhersagen als alle anderen geben Funktion. Mit anderen Worten: Wenn wir keine Vorkenntnisse über die Funktion hatten, die versucht wurde, zu lernen, warum sollten wir x - gt x2 lernen wollen. Im Bereich der künstlichen Trainingssets, x2 könnte eine wahrscheinliche Funktion sein, aber in der realen Welt, ist es wahrscheinlich nicht. Um ein Beispiel zu nennen: Nehmen wir an, dass die Temperatur am Montag (t0) 0 ist, am Dienstag ihre 1, am Mittwoch ihre 4. Wir haben keinen Grund zu glauben, dass sich Temperaturen wie niederwertige Polynome verhalten, so dass wir nicht auf diese Daten schließen wollen Dass die Temperatur am nächsten Montag vermutlich um 49 liegen wird. Nehmen wir auch an, dass wir die ursprüngliche Funktion f nicht kennen, die den Durchschnitt der letzten 500 Eingaben erhält und dann eine 1 ausgibt, wenn sie höher als 3 ist und 0 wenn es ist nicht. Aber für eine Sekunde, so tun wir nicht wissen, dass es eine schwarze Box. Wie würde ein rekurrierendes neuronales Netz annähern, dass ich denke, das ist zwei Fragen: Erstens kann ein neuronales Netzwerk diese Funktion darstellen. Gibt es eine Menge von Gewichten, die genau das Verhalten geben würde Es hängt offensichtlich von der Netzwerk-Architektur, aber ich denke, wir können kommen mit Architekturen, die repräsentieren (oder zumindest näher) kann diese Art von Funktion. Frage 2: Kann man diese Funktion lernen, wenn man genügend Trainingsproben bekommt. Wenn Ihr Lernalgorithmus nicht in einem lokalen Minimum steckt, ist es sicher: Wenn Sie genug Trainingsprogramme haben, gibt jeder Satz von Gewichten, der die Funktion nicht annimmt, einen größeren Trainingsfehler Dass 0, während ein Satz von Gewichten, die die Funktion youre versuchen, lernen zu lernen hat ein Training error0. Wenn Sie also ein globales Optimum finden, muss das Netzwerk der Funktion entsprechen. Der Grund, den ich an x2 dachte. Und einfache oder exponentielle gleitende Durchschnitte vor allem ist, weil es ein gutes Geschäft in der Finanzmarkt-Vorhersage in der technischen Analyse verwendet wird. Ich hatte gehofft, dass ein neuronales Netzwerk könnte potenziell lernen, die Algorithmen und den Handel auf sie basiert, ohne dass sie zuerst hart codieren und geben ihr Ergebnis. Allerdings I39m versuchen, herauszufinden, ob ein neuronales Netzwerk kann sogar eine solche Funktion lernen. Ndash Ich verstehe, wie x2 ist nicht gerade nützlich für die Wettervorhersage, und könnte dazu führen, dass das Netzwerk 49 Grad vorhersagen am nächsten Montag, aber I39m sicher in der Lage, eine Polynom-Funktion lernen könnte nützlich sein Zum Beispiel für die Preisvorhersage von FOREX. Ich verstehe vielleicht eine andere Netzwerkarchitektur als ich im Sinn hätte, aber ich kann keine Architektur kennen, die f (x, x1) xx1 repräsentieren kann. Ich glaube, ich könnte das Wort ungeeignet anstelle von Repräsentanten missbraucht haben, aber ich glaube Ihnen Noch verstanden, was ich versuchte zu sagen, just fine. Sorry ich couldn39t meinen letzten Beitrag in der Zeit bearbeiten. Ndash Ich verstehe neuronale Netze mit einer beliebigen Anzahl von versteckten Schichten können ungefähre nichtlineare Funktionen, aber es kann annähern: Ja, es kann. Ich weiß nicht, was Sie denken, dass eine harte Funktion zu approximieren ist, ist es ein sehr einfaches. Bei genügend versteckten Einheiten kann ein neuronales Netzwerk jede beliebige Funktion einer beliebigen Genauigkeit anpassen. Apropos gleitenden Durchschnitt können wiederkehrende neuronale Netze richtig annähern, dass Ja, es kann. Es ist ein wieder ein sehr einfaches Problem, dass Sie zu denken scheint schwierig aus irgendeinem Grund sind Sie nicht teilen. Sie können die triviale Lösung sehen, indem Sie nur den verborgenen Zustand erstellen, der groß genug ist, um die gesamte Geschichte und den Rest des Netzwerks zu enthalten, um den Durchschnitt aus dem wiederkehrenden verborgenen Zustand zu berechnen. Wir müssen zuerst wissen, wie viele timesteps es haben sollte, die wir nicht haben. Das ist ein Parameter-Tuning-Problem, diese wurden zuvor behandelt. Sie können ganz einfach nach weiteren Informationen suchen. Bin ich etwas großes hier fehlt oder sind maschinelle Lernalgorithmen extrem begrenzt Gibt es andere Lerntechniken neben neuronalen Netzwerken, die tatsächlich tun können, eines dieser Ja, scheinen Sie fehlt jedes echte Verständnis von neuronalen Netzwerken. Ihre erste Aussage von Ich verstehe neuronale Netze mit einer beliebigen Anzahl von versteckten Schichten können ungefähre nichtlineare Funktionen, aber es kann annähernd zeigt, dass Sie nicht wirklich verstehen, die Worte, die Sie verwenden. Es gibt eine Vielzahl von Themen, die Sie nicht verstehen oder miteinander verknüpfen können, und niemand wird in der Lage sein, Sie direkt in einem einfachen QampA-Format. Wenn Sie wirklich wollen, zu verstehen, was los ist, nehmen Sie einige Graduate-Kurse in Machine Learning und Neural Networks im Besonderen. Ein guter Ausgangspunkt für diese Videos wäre, wenn Sie bereits das richtige Wissen besitzen. Antwortete am 1. September 14 um 16:37 Dies ist nicht der geeignete Ort zu lehren. Schnappen Sie sich eines der vielen Bücher zum Thema und lesen Sie das. Sie aren39t auch unter Berücksichtigung der Art der Aktivierung Funktion oder dass es mehr als eine Einheit pro Eingang oder dass es viele versteckte Schichten (nicht, dass sie benötigt werden, aber helfen Verständnis). Ndash Raff. Edward Sep 1 14 um 19: 09WiseTrader Toolbox Neuronale Netze für Amibroker (AFL) Die WiseTrader-Toolbox fügt der Amibroker-Plattform erweiterte neuronale Netzwerk-Predictive-Technologie hinzu. Gekoppelt mit Amibrokers leistungsstarke Formel-Sprache können Sie jetzt schaffen intelligente Handelssysteme durch fortschrittliche neuronale Netze angetrieben. Die WiseTrader-Toolbox fügt der Amibroker-Plattform zwei verschiedene Arten von neuronalen Netzen hinzu: 1. Die traditionellen neuronalen Netze, die auf einer festen Anzahl von Balken trainiert werden. 2. Die adaptive Walk-Forward-Version, die jede neue Leiste umschreibt. Die WiseTrader Toolbox enthält außerdem zwei verschiedene Lernalgorithmen: Standard-Momentum-Back-Propagation und einen fortgeschrittenen adaptiven Quick-Propagation-Lernalgorithmus mit schneller Konvergenz. Die neuronalen Netze sind über einige einfache AFL-Funktions-Aufrufe zugänglich und kommen mit vollständiger Dokumentation, um Ihnen den Start. Mit der WiseTrader Toolbox können Sie leicht verlaufende Indikatoren zu glatten Frühindikatoren machen. Laden Sie das folgende Beispiel eines führenden RSI-Indikators herunter, das mit der Toolbox erstellt wurde, und probieren Sie es selbst aus: Adaptive Walk-Forward Neuronale Netze Die folgende AFL zeigt, wie die adaptiven neuronalen Netze verwendet werden können, um den Schlusskurs einer Aktie vorauszusagen. Man beachte, dass dies ein einfaches Beispiel ist, um nur zu zeigen, wie die adaptiven neuronalen Netze funktionieren. Eine bessere Vorhersage würde andere Marktindizes und vielleicht ökonomische Daten verwenden, um eine genauere Vorhersage zu erhalten. // Verwenden Sie alle Bars SetBarsRequired (99999. 99999) // Verwenden Sie den adaptiven Lernalgorithmus SetLearningAlgorithm (1) // Trainieren und berechnen Sie ein adaptives neuronales Netzwerk res NeuralNetworkIndicator9 (i1, i2, i3, i4, i5, i6, i7, O1, FullName (), 100. 1) Plot (res, DEFAULTNAME (), colorRed styleLine) // Berechne die Genauigkeit für die letzten 100 bar Titel Genauigkeit: (Summe (II ((Ref. Res Gt Ref (res, - 1)), 1. 0), 100)) // Aufräumen EnableProgress () RestoreDefaults () ClearNeuralNetworkInputs () Wenn die obige Formel beginnt Training sollte das folgende Fortschrittsdialogfeld, um Ihnen zu sagen Fortschritt der Berechnung: Sie können das Training jederzeit stoppen und wieder aufnehmen, da alle adaptiven neuronalen Netzwerkberechnungen im internen Speicher des Plugins gespeichert sind und nur so viel berechnen, wie es benötigt wird, damit es in Ihrem Echtzeithandel als neuronales Netzwerk verwendet werden kann Wird nur trainieren und auf der letzten Bar vorhersagen. Allgemeine Neuronale Netze Die anderen neuronalen Netzwerkfunktionen ermöglichen es Ihnen, ein neuronales Netzwerk zu trainieren und es in einer Datei zu speichern, um später zu laufen oder sogar AFL-Code direkt zu generieren. Die Fähigkeit, ein trainiertes neuronales Netzwerk in AFL-Code umzuwandeln, ist der erste seiner Art, der nirgendwo anders verfügbar ist. Die nächste Formel ist ein einfaches Beispiel für die Erstellung einer Trend-Erkennung Indikator mit neuronalen Netzwerken. // Verwenden Sie alle verfügbaren Daten zum Training SetBarsRequired (99999. 99999) // Setzen Sie den Seed-Wert des neuronalen Netzwerks // Der gleiche Seed-Wert erzeugt jedes Mal das gleiche neuronale Netzwerk SetSeed (20) // Verwenden Sie den adaptiven Lernalgorithmus SetLearningAlgorithm (1) // Trainieren Sie das neuronale Netzwerk für 2000 Iterationen SetMaximumEpochs (2000) // Setzen Sie die Anzahl der ausgeblendeten Ebenen im neuronalen Netzwerk SetNetworkLayer2 (20. 20) // Trenddetektion (schaut in die Zukunft). Das wollen wir vorhersagen. // Hier kannst du einstellen, was du willst. Alles, was Sie sich vorstellen können, können Sie hier // verwenden, weil das geschulte neuronale Netzwerk nicht in die Zukunft schauen wird. Out1 Ref (Zig (C 10), - 1) lt Zig (C.10) // Fügen Sie die Eingänge für das neuronale Netz hinzu. Mit dieser Methode können Sie // so viele neuronale Netzeingaben wie gewünscht hinzufügen (i 5 i lt 20 i) AddNeuralNetworkInput (VariablePeriodRSI (C)) AddNeuralNetworkInput (VariablePeriodRSI (Ref (C - 1), i)) AddNeuralNetworkInput (VariablePeriodRSI (Ref (C - - 2), i)) // Die zuletzt eingegebene Eingabe ist unser gewünschter Ausgang oder der Trend AddNeuralNetworkInput (Out1) // Neuronales Netzwerk löschen, wenn bereits ein weiteres fdelete (WiseTraderToolboxNeuralNetworkTrendDetection) beginnt Netzwerk TrainMultiInputNeuralNetwork (TrendDetection) // Die hinzugefügten Eingaben aufheben und die Standardwerte wiederherstellen EnableProgress () RestoreDefaults () ClearNeuralNetworkInputs () Wenn Sie die obige Formel ausführen, sollten Sie ein Trainingsfortschrittsdialogfeld sehen. Wenn die obige Formel die Ausführung beendet, können Sie die erzeugte AFL-Version des Indikators verwenden, um das neuronale Netzwerk auszuführen oder einfach das neuronale Netzwerk aus der Datei auszuführen. Das nächste Beispiel wird das neuronale Netzwerk aus Datei ausführen, da die generierte Formel zu groß ist, um hier zu posten. // Addieren Sie die neuronalen Netzeingaben für (i 5 i lt 20 i) AddNeuralNetworkInput (VariablePeriodRSI (C)) AddNeuralNetworkInput (VariablePeriodRSI (Ref (C - 1), i)) AddNeuralNetworkInput (VariablePeriodRSI (Ref ), I)) // Führen Sie das neuronale Netzwerk aus der Datei res aus RunMultiInputNeuralNetwork (TrendDetection) // Zeichnen Sie das Ergebnis des neuronalen Netzwerks. Plot (res, DEFAULTNAME (), colorRed. StyleLine) Die obigen sind sehr einfache Beispiele, wie die neuronalen Netze verwendet werden können. Mit der Amibroker-Plattform und der WiseTrader-Toolbox können fast alle anderen neuronalen Netzwerkplattformen getan werden und mehr. Zum Beispiel ist es einfach, das Optimierungsprogramm zu verwenden, um neuronale Netze zu wachsen und die bestmögliche Architektur zu finden. Sie können auch versuchen und erstellen Null Lag Indikatoren, indem Sie sie nach vorn und versuchen, das Ergebnis vorherzusagen.

No comments:

Post a Comment