AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Neuronales Netz zur Zahlenerkennung
Thema durchsuchen
Ansicht
Themen-Optionen

Neuronales Netz zur Zahlenerkennung

Ein Thema von Flips · begonnen am 27. Okt 2007 · letzter Beitrag vom 2. Mai 2008
 
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#1

Neuronales Netz zur Zahlenerkennung

  Alt 27. Okt 2007, 15:04
Hallo alle Zusammen,

da ich mich vor einiger Zeit unbedingt mal mit neuronalen Netzen beschäftigen wollte, habe ich im Internet (vergeblich) nach Beispielcode in Delphi gesucht.
Nach einem neuen Thread und vielen Stunden des Verzweifelns (und natürlich ganz viel Kaffee ) hab ich jetzt endlich einen brauchbaren Code.


Das Programm funktioniert folgendermaßen:
- Zuerst muss das Netz lernen, deshalb stellt man am Regler "Durchgänge" die Anzahl der Durchgänge ein (die genaue Anzahl wird in der Statusbar angezeigt).
Wenn man einen Rechner über 2GHz hat sollte man sich nicht scheuen, den Regler ganz nach rechts zu schieben
Die Lernkonstante (Störfaktor) kann bleiben, man kann allerdings auch damit experimentieren
Wird die Checkbox "Debug-Modus" aktiviert, so erstellt das Programm nach Abschluss der Lernvorgänge eine Datei synapsen.txt auf C:\, in der für jedes Neuron die einzelnen Synapsenwerte (Gewichte) aufgelistet sind.
Jetzt kann man auf Lernen klicken und warten^^
- Den Abschluss des Lernvorgangs erkennt man daran, dass plötzlich eine Zahl auf der Panelfläche erscheint. Jetzt kann mit Hilfe der Trackbar unter den Panels eine Zahl angegeben werden, danach einfach auf Prüfen klicken et voilà.
Jetzt könnt ihr die Panels natürlich nach belieben verändern.

Zum Aufbau des Netzes:
Das neuronale Netz ist so gut es geht OO geschrieben, was bestimmt einigen bei näherer Betrachtung sehr unnötig erscheinen wird. Allerdings denke ich, dass es sich so einfacher erweitern lässt.
Es gibt nur zwei Neuronenschichten, eine Inputschicht mit 8*8 Neuronen, und eine Outputschicht mit 10 Neuronen, für jede Zahl 1 Neuron.

Der Programmierstil ist vielleicht nicht der sauberste, dafür habe ich den Code möglichst gut lesbar formatiert und dokumentiert.


Ich hoffe, dass jeder der an diesem Thema interessiert ist seine Kritik dazu äußert, gibt sicherlich ne Menge^^

Ps: Thx @ brinkee, die Idee des Programmaufbaus stammt von ihm

[Edit]Aus gegebenen Anlass noch schnell ein Verweis auf einen anderen Thread, dass hier dargestellte "Pattern-Associator"-Netz ist vom Aufbau her identisch mit diesem hier, nur sauberer was Aufbau und Namensgebung angeht.[/Edit]
Miniaturansicht angehängter Grafiken
screen_504.png  
Angehängte Dateien
Dateityp: zip nnsource_231.zip (7,8 KB, 270x aufgerufen)
Dateityp: zip neuronetz_610.zip (230,5 KB, 332x aufgerufen)
Philipp F.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz