Sensitivitätsanalyse möglich

Haben Sie Fragen zur Bedienung bestimmter Features von MemBrain? Sind Sie nicht sicher, welches Häkchen was bewirkt? Möchten Sie wissen, ob eine bestimmte Funktionalität in MemBrain vorhanden ist oder nicht?

Dann stellen Sie Ihre Fragen hier!
Julian94
Posts: 3
Joined: Mon 26. Jun 2017, 15:55

Sensitivitätsanalyse möglich

Postby Julian94 » Mon 26. Jun 2017, 16:07

Hallo zusammen,

ich beschäftige mich erst seit kurzer Zeit mit Membrain aber mich würde interessieren, ob es möglich ist, eine Sensitivitätsanalyse dort durchzuführen.
Also ich meine damit, dass man über den Backpropagation-Algorithmus eine Art "Wichtigkeit" der Input-Variablen erhält. (Z.B. könnte man ja ein Neuron im Output-Layer im Backpropagation-Schritt künstlich auf 1 setzen und schauen, wie sich die Werte der Kanten von den Input-Variablen ändern - in einer Vorlesung wurde uns vorgestellt, dass dies unter anderem mit Tensorflow im Bereich der Bildverarbeitung eingesetzt wird.)

Viele Grüße,
Julian

User avatar
TJetter
Posts: 260
Joined: Sat 13. Oct 2012, 11:04

Re: Sensitivitätsanalyse möglich

Postby TJetter » Mon 26. Jun 2017, 21:29

Hallo,

man kann zur Sensitivitätsanalyse ein fertig trainiertes Netz nehmen, an alle Eingänge deren jeweiligen Mittelwert anlegen und den Wertebereich des betreffenden, zu untersuchenden Input-Neurons schrittweise abfahren und die Netzreaktion aufzeichnen. Tut man dies für alle Input-Neuronen so erhält man für jeden Input eine Sensitivitätskurve (in genau einem Arbeitspunkt natürlich).
Das dll-VBA Beispiel von der Homepage tut genau dies. Eine fertig eingebaute Funktion in MemBrain gibt es dafür nicht.
Leichter und komfortabler als mit der dll lässt sich das sicerlich in einem MemBrain Skript umsetzen. Bei Gelegenheit werde ich einmal ein solches Skript erstellen und online stellen, wenn nicht jemand anders schneller sein sollte ;-)

Viele Grüße
Thomas Jetter

Julian94
Posts: 3
Joined: Mon 26. Jun 2017, 15:55

Re: Sensitivitätsanalyse möglich

Postby Julian94 » Thu 29. Jun 2017, 12:45

Super - vielen Dank für die schnelle Antwort.
Ich komme wahrscheinlich doch erst am Montag zum Testen der Methode aber das hört sich doch schonmal gut an :)

Viele Grüße,
Julian

User avatar
TJetter
Posts: 260
Joined: Sat 13. Oct 2012, 11:04

Re: Sensitivitätsanalyse möglich

Postby TJetter » Wed 5. Jul 2017, 19:19

Hallo,

das oben erwähnte Script zur Sensitivitätsanalyse staht ab sofort hier im Forum zum Download bereit.
Feedback ist herzlich willkommen!

http://www.membrain-nn.de/forum/viewtopic.php?f=13&t=510

Viele Grüße
Thomas Jetter

Julian94
Posts: 3
Joined: Mon 26. Jun 2017, 15:55

Re: Sensitivitätsanalyse möglich

Postby Julian94 » Mon 10. Jul 2017, 12:54

Hallo,

erstmal super vielen Dank für das Skript, welches ich ohne Probleme auch auf meinen Daten ausführen konnte!
Allerdings hab ich noch ein paar Fragen dazu:

1.) Wie werden die Abfrage-Punkte (deren Anzahl TEST_POINT_COUNT ist) im Skript generiert? Bei mir werden die Input-Neuronen später immer mit 100 gleichverteilten Werten zwischen -1 und 1 "gefüttert". Sollen dafür dann die Daten vorher auf den Bereich [-1,1] normiert werden?

2.) Zu dem am Ende ausgegebenen Diagramm habe ich noch zwei Fragen: In der Überschrift/Legende steht, dass dort eine target und eine current Kurve erscheinen sollten - bei mir erscheint nur die target-Kurve. Kann das an meinen Daten liegen? Außerdem würde mich interessieren wie man die Zahlen auf der y-Achse interpretieren könnte. Ist das die Abweichung im Ergebnis vom Input mit dem Default-Wert?

Viele Grüße und nochmals vielen Dank für deine Mühe :)

User avatar
TJetter
Posts: 260
Joined: Sat 13. Oct 2012, 11:04

Re: Sensitivitätsanalyse möglich

Postby TJetter » Mon 10. Jul 2017, 19:28

Das Script holt sich die Wertebereiche aus den Normalisierungseinstellungen der Input-Neuronen. Bei diesen also die Normalization aktivieren und sinnvolle Wertegrenzen eintragen. Danach neu trainieren, dann das Script anwenden.

Target und Actual kann man als Beschriftung der Grafik ignorieren. Der Pattern Error Viewer wird durch das Script zweckentfremdet. Es gibt nur eine Kurve die angezeigt wird. Sie repräsentiert das Ausgangssignal des Netzes in Reaktion auf den entsprechenden Eingang.
Thomas Jetter


Return to “Rund um die Bedienung”