Marktknigge oder gute Manieren im Minenfeld - Seite 37

 

OK, ich glaube, ich habe herausgefunden, was mein Fehler ist. Ich habe tatsächlich verstanden, dass die Länge des Trainingsvektors gleich der Anzahl der Gewichte ist! Denn ich akkumuliere Korrekturen, indem ich die Ausgabe eines Neurons mit jeder Probe des Trainingsvektors vergleiche, während ich sie nur mit der n+1ten Probe vergleichen muss. Ich schreibe einen neuen Code.

Deshalb sind die Diagramme so abnormal.

 

Hier, sehen Sie selbst:


Blau ist die Übungsprobe, rot ist die Testprobe. Die Tangenswerte befinden sich in der oberen linken Ecke des Bildes.

Merkwürdigerweise musste ich die anfängliche Initialisierung der Skalen ganz entfernen. Erst dann wurden die Ergebnisse wiederholbar. Es gibt noch einige Fragen, aber ich bin jetzt fertig... -:)

Ich füge die Liste bei. Es tut mir leid, ich habe noch keine Kommentare dazu abgegeben, aber es ist sehr einfach, ohne einen Haufen verschiedener Funktionen - alles in einer Prozedur, außer Tangenten und mnc.

Dateien:
neyrona.rar  132 kb
 

Es scheint mir, dass Sie eine sehr komplizierte Logik der Nummerierung luuch Vektor haben...

Vielleicht handelt es sich bei dem Fehler um eine triviale Verwechslung von Indizes, oder Sie setzen die Gewichte nur einmal während des gesamten statistischen Satzverfahrens auf Null(W[i]<-0):

Beachten Sie, dass Ihr D-Vektor, der die Eingabe für den NS ist, nicht mit der Statistikmenge (Index i) neu berechnet wird. Vielleicht irre ich mich, denn ich bin damit nicht ganz vertraut. Es war einfacher für mich, eine fortlaufende Nummerierung in Ihren Code einzugeben, und das ist es, was ich bekommen habe:

Jetzt spürt Ihr Mädchen die anfängliche Zufallsverteilung der Gewichte und lernt angemessen (beide Linien gehen durch den Ursprung). Rot ist die Übungsprobe, blau ist die Prüfung. Eine Datei mit der geänderten Version ist unten angehängt.

Dateien:
modif.zip  16 kb
 

Kennenlernen...

Sagen Sie mir, Sergey, warum Ihr zweischichtiges Neuron (und Sie haben es von Anfang an gesagt) keine Aktivierungsfunktion hat? Und wie würde sich dann die Ableitung verändern? D.h. war (für th) (1-OUT^2)

und wird zu (1-OUT) ?

P.S. Danke für Ihre Hilfe

 

Aha! Jetzt verstehe ich endlich, wie das Ding funktioniert. Werden die einzelnen Eingänge nicht nur für die Lernphase benötigt und dann wie alle anderen verwendet - für Daten?

Daran habe ich gar nicht gedacht! Außerdem sind die Eingaben dort alle einfach - keine Hypertangenten. Ist es, weil BP eine reguläre Funktion ist, oder nur als Beispiel?

Und noch eine Frage: Wenn das Mädchen etwas untrainiert ist - geben Sie ihr nur 5-7 Epochen - dann werden die Tangenten beider mncs größer als Eins sein, deutet das nicht darauf hin, dass das Mädchen in die Zukunft schaut (ich spreche nicht vom Sinus)?

 

Es kann rigoros gezeigt werden (unter Berufung auf die Arbeiten von Mathematikern), dass bei einem einschichtigen NS die Aktivierung des Ausgangs durch eine nichtlineare Funktion im Vergleich zum linearen Ausgang keine zusätzliche Rechenleistung bringt. Daher ist ein einzelnes Neuron mit nichtlinearer FA unsinnig.

Bei zweischichtigen NS bringt die Aktivierung des Ausgangsneurons keine zusätzliche Rechenleistung (diese Architektur hat bereits die maximale oder gleiche Rechenleistung aller möglichen Architekturen - 3, 4 usw.), so dass die Aktivierung des Ausgangsneurons durch den Hypertangens sinnvoll ist, wenn der Ausgang weiter als Wahrscheinlichkeit einer genauen Vorhersage interpretiert wird.

Im Falle einer linearen Ausgabe ist die Ableitung nicht (1-OUT), sondern einfach 1 - es ist die Ableitung der linearen Funktion y(x)=1*x.

Was die einzelnen Eingänge betrifft, so werden sie natürlich sowohl in der Ausbildung als auch im Betrieb verwendet. Gut, dass Sie ihn entdeckt haben! Ich habe diesen Fehler übersehen. Die korrekte Art, ein Neuron darzustellen, ist diese:

W[0] ist ein Gewicht, das immer mit 1 gefüttert wird. Bei einem einzelnen Neuron ist die Auswirkung der Verwendung eines Offsets nicht sehr auffällig. Obwohl es nicht schwer ist, eine Situation zu simulieren, in der es auch in diesem Fall eine wichtige Rolle bei der Beschleunigung des Lernprozesses spielen würde.

если девушку слегка недообучить - ну дать её всего 5-7 эпох - то тангенсы обеих мнк будут больше единицы, не говорит ли это о том, что девушка заглядывает в будущее(я не об синусе)?

Nein, es deutet nur auf eine geringe Menge an statistischem Material und schlechte Lernfähigkeit hin. Urteilen Sie selbst: Sie können etwas nicht besser wissen, als es tatsächlich ist. Dieser Grenzfall entspricht tg()=1 und kann wegen der statistischen Schwankungen in den Daten nur größer als 1 sein.

 
Neutron >> :

...zitieren die Werke von Mathematikern


-:) Ich hoffe, Sie wissen, wie nutzlos das ist... Zumindest in meinem Fall.

Ich werde mich noch einmal mit diesem Neuron befassen. Ich muss das alles in meinen Kopf bekommen, und ich möchte den Code in einfache Blöcke aufteilen, und morgen werde ich versuchen, meiner Freundin eine weitere Schicht hinzuzufügen. Aber ich habe eine eher dumme Frage: Wenn Sie den Code von Matkad zu MQL umschreiben, wie überprüfen Sie, was getan wurde? Sie können es nicht direkt umschreiben - Matcad ist eine andere Umgebung und seine Programmlogik ist nicht dieselbe wie in MQL.

 

Das ist der Punkt, an dem es knifflig wird!

Zum Beispiel gebe ich die Steigungstangente (bei gültigen Eingaben) als integrale Kenngröße der NS-Leistung oder den Prozentsatz der richtig erratenen Vorzeichen (bei binären Einsen) aus und vergleiche sie mit denen in Matcad. Allerdings, bis zu diesem Punkt, müssen Sie peripisce NS-ka von MCL-Standard, ist es, wenn Null-Zählung ist letzte und weiter in die Tiefe (in Matkadeck umgekehrt). Außerdem ist es notwendig, die Korrektheit von NS auf viner Prozess zu überprüfen, d.h. wenn BP durch Integration einer Zufallsvariablen erhalten wird. Hier muss Ihr Mädchen eine eiserne Eins in der Prüfung bekommen, und es wird Ihnen sagen, dass sie nicht schummelt, d.h. der Tangens des Steigungswinkels muss gegen Null tendieren, wobei die Anzahl der Experimente als 1/n gegen unendlich tendiert.

Dies ist der Generator einer Wiener Reihe:

 

Es ist auf dem Weinberg:


 

Ich nehme mir nur einen Moment Zeit: Von meinem letzten Diagramm, in dem ich nach der Ursache des "Wunders" suchen wollte, ist nichts mehr übrig geblieben - iFractals hat mich wieder schamlos betrogen. Sobald ich meine eigenen iFractals schrieb, klärte sich alles auf, d.h. das Wunder verschwand :)

Viel Glück, liebe Kollegen