|
|
Neuronales Netzwerk trainieren |
|
zesir1 |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 22.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.07.2011, 15:26
Titel: Neuronales Netzwerk trainieren
|
|
Hallo zusammen, ich möchte folgendes neuronales Netz trainieren:
input ist ein Vektor der Grösse <1x2000 double>
output ist eine Zahl
Das NN sollte 2000 Neuronen im Input-Layer aufweisen und direkt (ohne Hidden Layer) auf den Outputlayer führen, der aus nur einem Neuron bestehen soll. Damit ich am Schluss 2000 Gewichtungen habe...
Wenn ich nun das erstellte NN trainieren will:
Wobei hier die Dimensionen von input und output die selben sind wie beim erstellen des NN. Nun spuckt Matlab folgende Fehlermeldung aus:
Nun bin ich etwas verwirrt! Ich habe ja keine 2000 Werte für den Output-Vektor.
Kann mir jemand weiterhelfen?
Besten Dank und Grüsse
zesir
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
|
|
poloh85 |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 22.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.07.2011, 17:19
Titel:
|
|
Hi!
Ich bin nicht so erfahren mit der NN Toolbox, beschäftige mich gerade aber intensiv mit NN und werde versuchen dir zu helfen.
Du willst, dass dein Netz nur einen Ausgang hat und nur einen Layer oder?
Aber es soll 2000 Neuronen beherbergen. Dies schließt sich aber gegenseitig aus, da der einzige Layer den du hast zwangsläufig 2000 Ausgänge hat (jedes Neuron stellt einen Ausgang dar).
Erklär mir mal was das Netz machen soll, dann kann ich dir vielleicht beim Netzaufbau helfen.
MfG
|
|
|
zesir1 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 22.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.07.2011, 19:26
Titel:
|
|
|
|
|
Hallo Poloh85,
danke das du dich meinem Problem annimmst.
Also es geht um Batterien von Elektrofahrzeugen. Während dem Betrieb wird jede Sekunde einem Status zugeordnet (Strom, Temperatur und Entladetiefe). Es existieren 2000 Status. Zudem messe ich den Kapazitätsverlust der Batterie in dieser Zeit. Ziel ist nun herauszufinden welcher Status sich wie auf die Lebensdauer der Batterie auswirkt. Aus diesem Grund möchte ich einen Input-Layer mit 2000 Neuronen die direkt mit dem Output Layer verbunden ist, der nur noch ein Neuron besitzt, nämlich den Kapazitätsverlust. So hätte ich zum einen mit den Gewichtungen den Einfluss der jeweiligen Status und zum anderen könnte ich ein bestimmtes Fahrprofil einlesen und voraussagen wie viel Zyklen diese Batterie machen wird.
Als Neuling für neuronale Netze habe ich mir das vielleicht etwas zu leicht vorgestellt!? Kannst du mir weiterhelfen?
Danke und beste Grüsse
zesir
P.S.: Bin ab Do für eine Woche in den Ferien, nicht das du in dieser Zeit vergeblich auf eine Antwort von mir wartest.
_________________
Autoritätsdusel ist der grösste Feind der Wahrheit. (A. Einstein)
|
|
|
poloh85 |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 22.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.07.2011, 12:27
Titel:
|
|
|
|
|
Sorry, dass ich jetzt erst zurück schreibe!
Also, so wie ich das jetzt verstehe willst du im Grunde aus den Statuswerten eine Funktion
erhalten.
Ich glaube nicht, dass du von den Gewichten auf den Einfluss der einzelnen Statuswerte auf den Kapazitätsverlust schliessen kannst, da im Eingangslayer auch Gewichte und Schwellwerte definiert sind, die sich nicht gleichmäßig ändern. Im Grunde hast du ja den Einfluß des Status durch die Größe gegeben. Je negativer der Wert, desto größer der Einfluss und umgekehrt.
Deshalb würde ich ein NN mit 3 Eingängen (I,T,Q) und einem Ausgang() aufstellen. Dieses Netz würde ich mit den 2000 Statuswerten trainieren. Daraus erhältst du dann die oben genannte Funktion, die das NN approximiert. Um nun das Fahrprofil zu simulieren, präsentierst du dem NN die Statuswerte in der gewünschten Reihenfolge und summierst dabei die einzelnen Ausgänge auf um den Kapazitätsverlust für das Fahrprofil zu erhalten.
Ich hoffe, ich habe das richtig verstanden und konnte dir helfen.
Falls nicht, kannst du gerne nochmals nachfragen.
Außerdem empfehle ich dir, die GUI zur NN Toolbox anzuschauen und mit dieser erst einmal zu arbeiten. Da verstehst du wahrscheinlich einfacher welche Eingabewerte das NN zum trainieren braucht, welche Form diese haben müssen und kannst dir relativ schnell ein NN aufbauen. Anschliessend kannst du dann wieder auf die Codeebene zurückkehren.
MfG PoloH85
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|