Neuronale Netze, wie beherrscht man sie, wo fängt man an? - Seite 7

 
Neutron >> :
Seien Sie nicht so streng. Schließlich wird das Netz manchmal neu trainiert (und ich tue dies bei jeder Zählung des zu analysierenden BP) und die Durchschnittsmethode findet ein Minimum. Was die Dimensionalitätsreduzierung betrifft, so funktioniert sie leider nicht für GPs wie die der Preise.

Welchen Zeitrahmen verwenden Sie? Was die Verkleinerung betrifft, so kommt es darauf an, was Sie damit bezwecken wollen. Wenn es sich um eine triviale Vorverarbeitung handelt, dann wird sie ohne einige Vorüberlegungen keine wirkliche Wirkung haben, d. h. wenn man bereits genügend Daten hat und nur das Ergebnis verbessern will. Wenn Sie die Verkleinerung für etwas anderes nutzen, kann das alles sein ;)

 
registred писал(а) >>

Welchen Zeitrahmen verwenden Sie?

Ich benutze keine TF.

Der Grund dafür ist, dass Candlesticks in allen Zeitrahmen verwendet werden, daher ist der BP, der durch Eröffnungskurse (oder Eröffnungen) gebildet wird, näher am integrierten Zufalls-BP als der BP, der durch andere Methoden (wie den Wechsel zur Instrumentenzeit usw.) aus dem ursprünglichen BP gebildet wird.

 

Danke gpwr, arnautov!

Шаг 1: Выбираем входные данные. Например,


x1 = WPR Per1

x2 = WPR Per2

x3 = WPR Per3

Verstehe ich das richtig, dass mit den Eingangsdaten die Variablen in den externen Parametern des EA gemeint sind, mit denen die Koeffizienten verglichen werden?

Näher am Thema? Kein Problem! Sie sollten damit beginnen, ein Neuron zu schreiben, und diese dann zu einem Netz kombinieren. Und ausgeklügelte Programme - das ist danach. Alle anderen Ratschläge sind Blödsinn.

Und wenn Sie ein Neuron schreiben, können Sie es dann in Stufen unterteilen?


Und? Wer hat in dem Thread geschrieben, dass er gerne ein Beispiel verwenden würde, sollen wir anfangen?

Die ersten Schritte sind uns aufgezeigt worden, der Berater ist auf Seite fünf...

 
Neutron >> :

Ich weiß, dass vor nicht allzu langer Zeit zwei Theoreme bewiesen wurden.

Für Referenzen bin ich dankbar

Nach der ersten ist die dreischichtige nichtlineare NS (die aus drei Schichten von Neuronen besteht, mit Nichtlinearität am Ausgang jeder Schicht) ein universeller Approximator

Nun, das scheint schon vor langer Zeit bewiesen worden zu sein. Dass man jede Funktion, egal wie klein die Genauigkeit ist, mit einem 3-Schicht-Perseptron approximieren kann.

und eine weitere Erhöhung der Anzahl der Schichten führt nicht zu einer Leistungssteigerung des Netzes.

Nach dem zweiten Theorem hängt die Rechenleistung des Netzes nicht von der spezifischen Art der Nichtlinearität an den Ausgängen seiner Neuronen ab. Wichtig ist, dass sie (die Nichtlinearität) prinzipiell vorhanden ist, und es spielt keine Rolle, was sie genau ist - sigmoid oder arctangent.

Was ich gesagt habe, ist das Ergebnis von praktischen Experimenten. Und über Nicht-Linearität... müssen Sie sich zunächst mit diesen Theoremen vertraut machen.

Darüber hinaus ist es bewiesen, eine eindeutige Beziehung zwischen der optimalen Ausbildung Stichprobe Länge auf historischen Daten, die Dimensionalität der NS-Eingang und die Gesamtzahl der Synapsen, im Sinne der Minimierung der Vorhersage Fehler auf Daten, die nicht in die Ausbildung des Netzes. So kann man sich nicht auf den Leninismus einlassen, indem man dieses Optimum manuell auswählt. Bei vorhandenen MS-Kapazitäten spart dies viel Zeit und Mühe.

Meinten Sie die Anzahl der einstellbaren Parameter? Schwellenwerte sind ebenfalls enthalten. Übrigens wäre es auch hilfreich, einen dokumentarischen Nachweis zu haben. Und es würde denjenigen, die sich mit neuronalen Netzen beschäftigen, nicht schaden, sich mit dieser Materie vertraut zu machen.

 
Andrey4-min >> :

Und wenn Sie ein Neuron schreiben, können Sie es in Schritte unterteilen?

Es ist besser, in einer objektorientierten Sprache zu schreiben.


Neuron ist ein zu oberflächlicher Begriff, wenn man NS schreibt.

Eine Schicht ist ein Zusammenschluss von identischen Neuronen, so dass es keinen Sinn macht, ein Neuron separat zu betrachten.


Ich habe in meiner Bibliothek nur 2 Arten von Abstraktionen verwendet: Ebenen und Gewichte.


Gewichte sind ein Block von Synapsen, die 2 Schichten verbinden.

Eine Schicht hat einen Eingabepuffer, einen Ausgabepuffer und einen Fehlerpuffer sowie eine Aktivierungsfunktion. Die Synapsen sind ein zweidimensionales Array und verbinden den Ausgangspuffer der Schicht mit dem Eingangspuffer wie folgt.

Ein Netz besteht aus einer Reihe von Schichten und Verbindungen zwischen ihnen. Jede Schicht, die im Fehlerpuffer Signale ungleich Null aufweist, kann als Ausgangsschicht betrachtet werden.

 
TheXpert писал(а) >>

Nun, das ist längst bewiesen. Dass ein 3-Schicht-Perspektron jede Funktion mit einer beliebig kleinen Genauigkeit annähern kann.

Fehler, nicht Präzision.

Wenn das klar ist, wozu dann noch diese ganze Komplexität?

TheXpert schrieb >>

Bei vielen Problemen zeigt das 4-Schichten-Perseptron deutlich bessere Ergebnisse und Konvergenz.

Und mancherorts wird eine 5-Schicht verwendet. Was komplexe Netze (mit mehreren Ausgabeschichten und komplexen Verknüpfungen) auf der Grundlage eines Perseptrons betrifft, so lasse ich diesen Teil vorerst außen vor.

Meinen Sie die Anzahl der einstellbaren Parameter? Schwellenwerte sind ebenfalls enthalten. Übrigens wäre es auch hilfreich, sie zu dokumentieren. Und wer sich mit neuronalen Netzen zu beschäftigen beginnt, tut gut daran, sich mit diesem Material vertraut zu machen.

Ja, ich meinte die Anzahl der Gewichte in NS und ihr Verhältnis zur Anzahl der Eingaben und zur optimalen Länge der Trainingsstichprobe. Die Herleitung der Beziehung ist in dem Artikel im Anhang auf den Seiten 64-65 zu finden. 64-65. Kurz gesagt, wenn die Anzahl der Gewichte von NS w ist , die Anzahl der Eingänge d und die Länge der Trainingsstichprobe P, muss im Optimum die folgende Bedingung erfüllt sein: P = (w^2)/d

Hinweise auf Theoreme werde ich später geben - ich muss sie finden.

Dateien:
yvtwslxtn.zip  1592 kb
 
Neutron >> :

Nach der Fehlermarge, nicht nach der Genauigkeit.

Ja.

Wenn das klar ist, warum dann die Komplexität?

Es ist einfach, wenn das Hinzufügen einer Schicht oder die Änderung der Architektur mit ein paar Mausklicks oder ein paar Zeilen Code erledigt ist, dann werden diese Komplexitäten zu interessanten Extras.

Ja, ich meinte die Anzahl der Gewichte im NS im Verhältnis zur Anzahl der Eingaben und der optimalen Länge der Trainingsstichprobe. Die Herleitung des Verhältnisses ist in dem Artikel im Anhang auf S. 1 angegeben. 64-65.

>> Danke. Und der Beweis für das Theorem? Oder zumindest den genauen Wortlaut?

 

Das Eignungstheorem für jede nichtlineare Neuronenfunktion wurde von dem ehemaligen sowjetischen und seit Ende der 1980er Jahre amerikanischen Mathematiker Vladik Kreynovich [1] bewiesen und in einer der führenden westlichen Zeitschriften für neuronale Netze veröffentlicht.

1. Kreinowitsch W.J. Beliebige Nichtlinearität ist ausreichend, um alle Funktionen durch neuronale Netze darzustellen: Ein Theorem / Neural Networks, 1991, Vol.4, № 3. - S.381-383.

P.S. Über die Angemessenheit von 3 Schichten - später.

 

Den Beweis für die Hinlänglichkeit von 3 Schichten habe ich in Gorban A.N.'s Artikel "..." gesehen - ich kann ihn nicht finden.

Der Nachweis der Hinlänglichkeit findet sich in dem unten beigefügten Artikel auf Seite 39.

Dateien:
esibfjnus.zip  967 kb
 
Es scheint einen Zusammenhang mit dem von Kolmogorow bewiesenen Theorem zu geben, dass jede Funktion mit einer beliebigen Anzahl von Variablen genau in Form von Funktionen mit zwei Variablen ausgedrückt werden kann. Ich habe es vielleicht nicht genau ausgedrückt, aber es wird oft in Artikeln über NS erwähnt.
Grund der Beschwerde: