Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Auswählen von künstlichen neuronalen Netzen
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Auswählen von künstlichen neuronalen Netzen
 
Autor Nachricht
lunbz
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 23.12.2006
Beiträge: 23

BeitragVerfasst am: 15 März 2007 - 18:27:46    Titel: Auswählen von künstlichen neuronalen Netzen

Hallo,

es geht um künstliche neuronale Netze.
Ich habe mir bereits ein wenig dazu angelesen und verstanden, dass es verschiedene Netzarten gibt, die Neuronenverbindungen verschiedene Gewichte haben, man die Verbindungen zwischen einzelnen Schichten in Matrixen zusammenfassen kann, und die Gewichte mithilfe von verschiedenen Lernverfahren verändern etc pp.

Was ich nicht verstanden habe, ist wie man auf die Auswahl des jeweiligen Netzes kommt. Wenn Johannes Lampel in seiner Arbeit zu seinem Bot schreibt "Zurzeit hat das Netz eine Größe von 6-6-6-5", dann frage ich mich 'Warum?'.
Ich verstehe dass man x Neuronen hat die die Eingangssignale entgegennehmen, und ich verstehe dass man y Neuronen am Ende hat, die die Werte ausgeben, aber alles was dazwischen ist, die Wahl der verdeckten Schichten und wie man die Neuronen miteinander verbindet, ist mir ein Mysterium.

Wenn ihr mich aufklären könnt, oder mir ein paar nützliche Links (am besten mit Erklärungen anhand von einfachen Anwendungsbeispielen) wäre ich euch sehr dankbar. Smile
someDay
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 04.09.2005
Beiträge: 3889

BeitragVerfasst am: 15 März 2007 - 18:40:24    Titel:

Es gibt einige Saetze dazu, wieviele Schichten und Neuronen mindestens notwendig sind - in der Praxis wird man hier aber eher auf schlichte Effizienz setzen, die Zahl der Neuronen und Schichten ist da immer variabel. Aufgrund der Komplexitaet ist es eher empfehlenswert schlichte Tests durchzufuehren als sich da besonders viele theoretische Gedanken zu machen.

sD.
Jockelx
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 24.06.2005
Beiträge: 3596

BeitragVerfasst am: 15 März 2007 - 18:46:44    Titel:

someDay hat folgendes geschrieben:
Es gibt einige Saetze dazu, wieviele Schichten und Neuronen mindestens notwendig sind

Soweit ich mich erinnere können Netze mit 2 versteckten Schichten mehr darstellen,
als Netze mit einer Schicht (xor-Problem). Netze mit mehr als 2 verst. Schichten können
nicht mehr.

Jockel
someDay
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 04.09.2005
Beiträge: 3889

BeitragVerfasst am: 15 März 2007 - 23:12:01    Titel:

Ja, Netze mit 3 Schichten koennen jede Funktion auf den reelen Zahlen darstellen. Allerdings wird das praktisch nicht umbedingt so gehandhabt, aus Effizienzgruenden.

sD.
lunbz
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 23.12.2006
Beiträge: 23

BeitragVerfasst am: 17 März 2007 - 05:12:55    Titel:

Wo kann ich diese Sätze finden?

Woher weiss ich in einem konkreten Fall, nehmen wir als simples Beispiel einen Punkt, und mein Netz soll lernen, dass dieser vor dem Mauszeiger fliehen soll, wieviel Hidden Layer und Neuronen in diesen ich brauche? Ich sag jetz mal Eingabe sei dabei Punktposition x,y und Mauszeigerposition x,y, und die Ausgabe die Fluchtrichtung.

Das xor Problem habe ich nachgelesen und verstanden, auch wenn ich nicht weiss, wie ich mit dem Wissen eine Anwendung planen kann, bei der ich die Gewichte verändere.

Dass die Anzahl der verdeckten Schichten damit zusammenhängt, welche Mengen ich darstellen möchte, habe ich ein wenig nachvollziehen können, aber wie das in einem Anwendungsfall aussähe...

Ich verstehe, wenn du sagst, wegen der Komplexität des Themas ist es einfacher rumzuprobieren, aber ich würde ganz gerne verstehen was ich mache, anstatt von einem Neuronen bis 100000 durchzutesten, was grade am besten passt.

edit:
Ok, das Beispiel ist vermutlich doof, weils schon zu einfach ist, aber bevor so ein Post kommt: Wenn ich einen Bot wie Herr Lampel schreiben würde, wie könnte ich dann vorher planen (oder auch nur erahnen) wie groß mein Netz sein muss? Die ganzen Anwendungen, die neuronale Netze beinhalten, werden doch nicht etwa auf gut Glück geschrieben worden sein? Confused
Kleinhilbert
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 04.11.2006
Beiträge: 81

BeitragVerfasst am: 20 März 2007 - 00:08:24    Titel:

Hallo lunbz!

Die Netzgröße soll so gewählt sein, dass das Netz gut generalisiert.
Ein zu kleines Netz wird die Daten schlecht approximieren, ein zu großes Netz kann Daten exakt nachbilden (overfitting).
Das ist wie die Suche nach einem Ausgleichspolynom für Messdaten.
Eine Ausgleichsgerade approximiert schlechter als ein Polynom hohen Grades, ab einem bestimmten Polynomgrad geht die Approximation durch alle Punkte.

Viele Grüße
Ronald
as3.1415rin
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 24.03.2007
Beiträge: 1
Wohnort: Helsinki

BeitragVerfasst am: 24 März 2007 - 22:19:30    Titel:

mal wieder was gefunden wo ich zitiert werde - das ist shcon ne weile her dass ich das geschrieben habe ....

ja, die netzgröße ist ergebnis von rumprobieren. ich hatte meine trainingsdaten und konnte da dann erstmal gucken ob ich alle trainingsdaten unter eine bestimmte fehlerschranke bekomme, oder nicht. wenn das gerade erreichbar war mit einer anzahl neuronen hab ich natürlich keine weiteren hinzugefügt.
Weil der ein und ausgaberaum ja trotz der kleinen zahl nicht mehr einfach vorstellbar ist, hatte ich mir dann mal die einzelnen ausgaben für bestimmte eingaben plotten lassen, wobei ich alle eingangsvariablen bis auf 2 die mir als werte für 2 koordinatenachsen dienten festhielt. der so erhaltende 3dplot für ein ausgabeneuron war dann sogar 'verständlich' und ich konnte überprüfen was passiert ist.
Das ist allerdings natürlich ziemlich primitiv. wenn du einfach größere mengen trainingsdaten generieren kannst (war bei mir eher nicht der fall, deshalb dieser SOM kram in der arbeit), dann unterteile den einfach in einen (größeren) Teil zum trainieren und einen zum 'nur' überprüfen.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Auswählen von künstlichen neuronalen Netzen
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht 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.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum