Seite 1 von 1
Neuronales Netzwerk mit Python
Verfasst: Dienstag 1. August 2006, 17:39
von Pythonprog
Hallo,
ich würde gerne ein Neuronales Netzwerk in Python programmieren (Zweck: Mustererkennung) Das Programm soll in der Lage sein geometriesche Figuren wie zum Beispiel ein Qudrat beliebiger Größe und Rotation als Quadrat zu erkennen. Hat hier vielleicht jemand eine Ahnung wie das gehen könnte. Ist es eigentlich mit solchen Neuronalen Netzwerken auch möglich zum Beispiel einen lernenden Chatbot zu erschaffen?
Verfasst: Dienstag 1. August 2006, 22:14
von nofuture
Möglich ist vieles. Ist nur nicht so einfach. Ich würde vorschlagen Du beginnst bei elementaren Netzen und simplen Problem. Mustererkennung ist ja ein sehr allgemeines Problem und es gibt viele, viele Methoden, Algorithmen etc.
Die Anwendung Chatbot geht eher in Richtung Computerlinguistik. Ein einfaches Problem für NN ist TicTacToe.
Verfasst: Dienstag 1. August 2006, 23:19
von Pythonprog
Kleinere Probleme habe ich bereits mit Python gelöst. Ich habe angefangen mit XOR also als Targets:
1 0-> 1
1 1-> 0
0 1-> 1
0 0-> 0
Dabei war nur das Problem, dass ich Backpropagate mit Python nicht hinbekommen habe, daher habe ich den Computer solange Gewichte und Aktivierungsschwellen ausprobieren lassen, bis er die richtige Kombination erwischt hat. Vielleicht wäre ein Tipp in diese Richtung erstmal von Nöten: Backpropagate (oder andere Lernmethode) für Python
Verfasst: Mittwoch 2. August 2006, 00:03
von nofuture
Verstehe den letzten Satz nicht. Kannst ja mal ein bißchen Code posten und was Du als nächstes vor hast. Wie kommst Du auf das Thema? Einfach allgemeines Interesse oder konkreten Hintergrund?
Verfasst: Mittwoch 2. August 2006, 00:14
von Pythonprog
Um das künstlich Neuronale Netz zu trainieren, braucht man eine Lernmethode, da es zu viel Aufwand ist, die Schwellenwerte und Gewichte per Zufall durchzuprobieren, bis das gewünschte Ergebnis vorhanden ist. Eine Lernmethode ist Backpropagate, nur habe ich diese Lernmethode noch nicht umsetzen können, da ich sie noch nicht ganz verstehe. Meine Frage: Kennt sich hier jemand mit Backpropagate oder einer anderen Lernmethode aus und würde mir Tipps geben, wie ich dieses in Python einbauen könnte.
Mein Code ist im Moment noch ziemlich unprofessional. Es handelt sich um ein Netz mit 2 Input Neuronen, 1 Hidden Neuron und 1 Output Neuron. Die einzelnen Neuronen haben ich durch Klassen definiert.
Der Hintergrund dorthinter ist allgemeines Interesse, was man mit künstlichen Neuralen Netzen erreichen kann.
Verfasst: Mittwoch 2. August 2006, 08:34
von mawe
Hi!
Schon mal Google befragt?

Es gibt auch hier im Forum eine Suchfunktion. Da findet man dann z.B.
das
Gruß, mawe
Verfasst: Mittwoch 2. August 2006, 10:55
von nofuture
Ich kenne mich mit den meisten Lernverfahren aus. Es gibt sicher dazu auch enige Ressourcen im Netz (auch Implementierung mit Python).
Google 1. Treffer:
http://wwwmath.uni-muenster.de/SoftComp ... prop1.html
Wenn Du konkrete Fragen hast, poste den Code oder beschreibe das Problem. Zuerst würde ich mir eine einfaches Problem aussuchen.
Verfasst: Mittwoch 2. August 2006, 20:55
von Pythonprog
Ich habe jetzt als Übung entschieden ein Tic Tac Toe Computergegner zu kreiren. Ich denke mal dieses sollte über Rainforcement funktionieren, oder?
Die Seite mit dem Beispiel für Backpropagate kannte ich bereits nur scheiterte es an der implementation in mein eigenes Programm.
Ich wäre jetzt dankbar für Vorschläge wie ich einen Tic Tac Toe Gegner am besten über Rainforcement keiren könnte. Ich werde mal eine Runde Googeln.
Verfasst: Donnerstag 3. August 2006, 09:14
von jens
Ich hab den Thread mal nach "Ideen" verschoben...
Verfasst: Donnerstag 17. August 2006, 23:13
von pSy
ha... ich wusste doch, dass
sowas schonmal jemand erfragen wollte
Naja, ich würde dir das Script empfehlen, auf welches auch ich hingewiesen wurde. Allerdings ist das alles solang her
