Wie lässt sich der Beitrag eines "spezifischen" Inputs zu den NS praktisch bewerten? - Seite 2

 
nikelodeon:

Was ist die Überraschung?


Nun, zunächst einmal habe ich sofort einen langjährigen Fehler entdeckt).

Zweitens dachte ich, dass ich durch den Wegfall der Inputs den Informationsgehalt der Inputs verringern würde, so dass die Effektivität des NS als Ganzes abnehmen würde. Einige Inputs werden sich stark verschlechtern, andere nur wenig. Und vielleicht finde ich solche Eingaben, die überhaupt nichts bewirken, und ich werde sie entfernen, um das Netz zu vereinfachen. Natürlich habe ich "leere" Eingänge gefunden, ich habe Eingänge gefunden, ohne die der NS inkompetent ist, aber ich habe auch Eingänge gefunden, durch deren Entfernung ich das Ergebnis des NS als Ganzes erhöhe. Das ist für mich eine Überraschung, entweder ist die Ausbildung schlecht, oder die Inputs sind zu widersprüchlich und einfach schädlich.

Alles in allem ein Denkanstoß für ein paar Tage.

 
Figar0:


Nun, zunächst einmal habe ich sofort einen langjährigen Fehler entdeckt)

Zweitens dachte ich, dass ich durch den Wegfall der Inputs den Informationsgehalt der Inputs verringern würde, so dass die Effektivität des NS als Ganzes abnehmen würde. Einige Inputs werden sich stark verschlechtern, andere nur wenig. Und vielleicht finde ich solche Eingaben, die überhaupt nichts bewirken, und ich werde sie entfernen, um das Netz zu vereinfachen. Natürlich habe ich "leere" Eingänge gefunden, ich habe Eingänge gefunden, ohne die der NS inkompetent ist, aber ich habe auch Eingänge gefunden, durch deren Entfernung ich das Ergebnis des NS als Ganzes erhöhe. Das ist für mich eine Überraschung, entweder ist die Ausbildung schlecht, oder die Inputs sind zu widersprüchlich und einfach schädlich.

Ich hatte also mehrere Tage lang Stoff zum Nachdenken.


es könnte sich herausstellen, dass sie in der nächsten Ausbildung (an einer anderen Probe) benötigt werden...
 
Figar0:

Nicht ganz Freitag, aber ...

Es gibt ein NS, irgendein NS, es gibt eine Eingabe A={A1, A2, .... A20}. Trainieren Sie die NS und erzielen Sie ein zufriedenstellendes Ergebnis. Wie lässt sich der Beitrag der einzelnen Elemente der Eingaben A1, A2, ... praktisch bewerten? A20 zu diesem Ergebnis?

Die Optionen, die mir in den Sinn kommen, sind:

1) Alle Gewichte, mit denen das Element das Netz durchläuft, irgendwie zusammenzählen und berechnen. Mir ist nicht ganz klar, wie ich das machen soll, ich müsste mich in den Netzbetrieb einarbeiten und irgendwie einige Koeffizienten berechnen, usw.

2) Versuchen Sie, ein Element des Eingangsvektors auf Null zu setzen oder umzukehren, um zu sehen, wie sich dies auf das Endergebnis auswirkt. Bis jetzt habe ich mich damit abgefunden.

Doch bevor ich diese zweite Variante realisierte, beschloss ich, meinen Rat einzuholen. Wer hat vielleicht schon länger als ich über dieses Thema nachgedacht? Vielleicht kann jemand einen Buch-Artikel empfehlen?

Eine gängige und wirksame Methode ist die Analyse der NS-Gewichte nach dem Training. Die Gewichte werden so initialisiert, dass ihre Werte nicht signifikant von Null abweichen, z. B. Mittelwert 0, Standardabweichung 0,1. Nach dem Training sind die Gewichte für unbedeutende Eingaben modulo nahe bei Null, während die Gewichte für bedeutsame Eingaben stark von Null abweichen. Getestet - es funktioniert mit synthetischen Daten.
 
LeoV:

Der Grad des Einflusses jedes einzelnen Inputs ist praktisch unmöglich zu beurteilen . Es gibt alle möglichen mathematischen Formeln, und spezielle Software kann den Grad des Einflusses automatisch berechnen. Bei all diesen Berechnungen handelt es sich jedoch nur um einen Näherungswert, der nicht wirklich viel aussagt, da er eine große Fehlerspanne haben kann.


Ja, ich bin mir dessen im Allgemeinen bewusst, es wäre logischer, die Eingaben in derselben Statistik zu analysieren, aber es ist mit großen Arbeitskosten verbunden, dort im Prinzip ein funktionierendes System zu übertragen. Ich verstehe auch die ganze Unklarheit bei der Interpretation solcher Experimente. Aber es gibt einen Vorteil, das steht fest.

 
Vizard:

Es könnte sich herausstellen, dass sie bei der nächsten Schulung (an einer anderen Probe) benötigt werden...
Das ist wahrscheinlich der Fall, aber es gibt ein NS, es ist trainiert, es funktioniert, also kann es ohne die verworfenen Eingaben auskommen, und es ist sinnvoll, sie zu verwerfen, um das Netz zu vereinfachen, seine Verallgemeinerungsfähigkeit zu verbessern und die Qualität des Lernens mit weniger Aufwand zu steigern.
 
Figar0:
Das ist wahrscheinlich der Fall, aber es gibt ein NS, es ist trainiert, es funktioniert, also kann es ohne die verworfenen Eingaben auskommen, und es ist sinnvoll, sie zu verwerfen, um das Netz zu vereinfachen, seine Verallgemeinerbarkeit zu verbessern und die Qualität des Lernens zu geringeren Kosten zu steigern.
+100500. Ich stimme zu. Was nützen redundante Eingänge, wenn die Netzwerkleistung ohne sie nicht abnimmt? Wir müssen sie auf jeden Fall loswerden.
 
alexeymosc:
Eine gängige und wirksame Methode ist die Analyse der NS-Gewichte nach dem Training. Die Gewichte werden so initialisiert, dass ihre Werte nicht signifikant von Null abweichen, z. B. Mittelwert 0, Standardabweichung 0,1. Nach dem Training sind die Gewichte für unbedeutende Eingaben modulo nahe bei Null, während die Gewichte für bedeutsame Eingaben stark von Null abweichen. Getestet - es funktioniert mit synthetischen Daten.


Nun, das ist im Grunde das Erste, was mir in den Sinn kam, aber ich konnte mir nicht vorstellen, wie ich eine solche Analyse in meinem System auf einfachere Weise umsetzen könnte. Deshalb habe ich die umgekehrte Methode gewählt.

 
Beachten Sie, was Leonid geschrieben hat, und er hat verdammt recht. Es ist eine unmögliche Aufgabe, den Einfluss der Eingänge auf den Netzausgang zu ermitteln. Ja, es ist möglich, Unnötiges auszusortieren, da stimme ich zu, aber es ist praktisch unmöglich, den Einfluss dieses oder jenes Inputs auf den Output zu bestimmen.

Nun stellen Sie sich die Situation vor. Sie haben 2 Eingänge gefunden, die den Nettoausgang nicht vorwärts gehen lassen. Sie fügen einen dritten Eingang hinzu, der den Netzbetrieb erheblich verbessert. Was schließen Sie daraus? Dieser Input hat einen großen Einfluss auf die Wertschöpfung. In der Tat wird der dritte Eingang nur ein- oder zweimal während der gesamten Handelsperiode eine kurzfristige Störung verursachen. Aber gerade diese Störung wird entscheidend sein. Obwohl die Tatsache der Störung selbst unbedeutend sein wird. Auch wenn Sie einen der ersten beiden Einträge entfernen, werden Sie kein zufriedenstellendes Ergebnis erhalten. Die andere besteht darin, die Arbeit in die folgende Richtung zu lenken.

Wenn Sie ein Netz trainieren, suchen Sie nach lokalen Minima der Funktion. Um genauer zu sein, suchen wir nach dem globalen Minimum eines Fehlers, bewegen uns aber vom lokalen Minimum zum globalen.

Ich treffe oft auf eine Situation, in der ein lokales Minimum einer Funktion ideale Ergebnisse in der Zukunft zeigt.

Die Aufgabe ist einfach: Es müssen solche Eingaben für das Netz ausgewählt werden (die wir später nicht mehr ändern müssen), die es dem Netz ermöglichen, während des Trainings lokale Minima zu erreichen, die es in Zukunft verdienen wird.

Angenommen, Sie haben während des Trainings durchschnittlich 10-20 lokale Minima, und mindestens eines davon ist richtig. Es ist jedoch besser, so viele rentable lokale Mindestwerte wie möglich zu wählen......

Wie gefällt Ihnen dieses Problem????? Dies ist eher die Realität....
 
nikelodeon:
Beachten Sie, was Leonid geschrieben hat, und er hat verdammt recht. Es ist eine unmögliche Aufgabe, den Einfluss der Eingänge auf den Netzausgang zu ermitteln. Ja, es ist möglich, Unnötiges auszusortieren, da stimme ich zu, aber es ist praktisch unmöglich, den Einfluss dieses oder jenes Inputs auf den Output zu bestimmen.

Nun stellen Sie sich die Situation vor. Sie haben 2 Eingänge gefunden, die den Nettoausgang nicht abfließen lassen. Sie fügen einen dritten Eingang hinzu, der den Netzbetrieb erheblich verbessert. Was schließen Sie daraus? Dieser Input hat einen großen Einfluss auf die Wertschöpfung. In der Tat wird der dritte Eingang nur ein- oder zweimal während der gesamten Handelsperiode eine kurzfristige Störung verursachen. Aber gerade diese Störung wird entscheidend sein. Obwohl die Tatsache der Störung selbst unbedeutend sein wird. Auch das Entfernen eines der ersten beiden Einträge führt nicht zu einem zufriedenstellenden Ergebnis. Die andere Sache ist, die Arbeit in diese Richtung zu lenken.

Auch das ist richtig. Es gibt auch die umgekehrte Situation: Theoretisch ist es möglich, dass es zwei Eingaben mit hoher Informativität und eine mit niedriger Informativität gibt. Logischerweise würden Sie gerne den dritten entfernen, aber wenn Sie das tun, wird eine komplexe Quadro-Interrelation (drei Eingänge - Ausgang) zerstört, und die beiden verbleibenden Eingänge sind nicht mehr so informativ. Und um diese komplexen Zusammenhänge aufzudecken, ist es notwendig, einen solchen raumbezogenen mathematischen Apparat anzuwenden, und technisch ist er so beschaffen, dass er wow-oho ist (nun, zumindest für mich). Alles ist kompliziert, denken Sie nicht, dass es einfach ist. NS ist auf 80% empirische Suche.
 
nikelodeon:

Nun stellen Sie sich die Situation vor. Sie haben 2 Eingänge gefunden, die es dem Netz nicht erlauben, weiterzumachen. Sie fügen eine dritte Eingabe hinzu, die Ihnen sehr hilft. Welche Schlussfolgerung ziehen Sie daraus? Dieser Input hat einen großen Einfluss auf die Wertschöpfung. In der Tat wird der dritte Eingang nur ein- oder zweimal während des gesamten Handelszeitraums eine kurzfristige Störung verursachen. Aber gerade diese Störung wird entscheidend sein. Obwohl die Tatsache der Störung selbst unbedeutend sein wird. Auch wenn Sie einen der ersten beiden Einträge entfernen, werden Sie kein zufriedenstellendes Ergebnis erhalten. Die andere Sache ist, die Arbeit in diese Richtung zu lenken.

Es ist klar, dass die Eingaben miteinander verbunden sind und die Interpretation der Ergebnisse solcher Experimente der wichtigste Aspekt ist. Ich schließe nicht nur einen Eintrag nach dem anderen aus, sondern auch die verschiedenen Kombinationen von 1 bis 5 (ich denke, ich werde diesen Bereich auf die Hälfte aller Einträge ausdehnen), analog zu Ihrer Hinzufügung eines weiteren Eintrags, und betrachte die Veränderungen in der Reaktion von NS, sowohl in der Trainings- als auch in der Zukunftsphase.

nikelodeon:

Wenn Sie ein Netz trainieren, suchen Sie nach lokalen Minima der Funktion. Um genauer zu sein, suchen wir nach dem globalen Minimum eines Fehlers, bewegen uns aber vom lokalen Minimum zum globalen.

Nicht selten treffe ich auf solche Fälle, in denen ein lokales Minimum einer Funktion ideale Ergebnisse in der Zukunft zeigt.

Die Aufgabe ist einfach: Es müssen solche Eingaben für das Netz gefunden werden (die wir später nicht mehr ändern müssen), die es dem Netz ermöglichen, während des Trainings lokale Minima zu erreichen, die in der Zukunft Ergebnisse liefern.

Angenommen, Sie haben während des Trainings durchschnittlich 10-20 lokale Minima, und mindestens eines davon ist richtig. Es ist jedoch besser, so viele rentable lokale Mindestwerte wie möglich zu wählen......

Wie gefällt Ihnen dieses Problem????? Dies ist eher die Realität....

Insbesondere suche ich nicht nach einem minimalen Fehler, sondern nach einem maximalen Gewinn, einem minimalen Drawdown, einem zufriedenstellenden PF, usw. Mit anderen Worten, ich habe lokale Maxima, aber das ändert nichts an ihrem Wesen. Mein Problem ist dünn oder schlecht gelöst, aber für eine lange Zeit ...