Information Technology Reference
In-Depth Information
Die Methode dfitness() berechnet die durchschnittliche Fitness einer Population,
indem alle Fitnesswerte aufsummiert werden und dieser Wert dann durch die Anzahl der
Individuen geteilt wird.
Um die maximale Fitness in der Methode maxfitness() zu ermitteln, muss keine
Schleife durchlaufen werden, da ja garantiert ist, dass das erste Individuum den besten Fit-
nesswert hat. Dieser wird einfach zurückgegeben. Zur Ermittlung des minimalen Wertes,
der benötigt wird, wenn bei der Bewertung eine lineare Transformation durchgeführt wird,
ist in der Methode minfitness() hingegen ein Durchlaufen aller Individuen nötig,
weil die Position des schlechtesten Individuums nicht bekannt ist.
Die Methode getFittest() ermittelt das fitness-beste Individuum, indem alle In-
dividuen durchlaufen werden. Sobald eines den besseren Wert vorweist, wird es vorläufig
zum Besten gekürt. Das Individuum, das am Ende diesen Status hat, hat tatsächlich den
besten Fitnesswert.
Aufgerufen werden die definierten Klassen von einer zentralen Methode, die jeweils
nach der Problem- und Fragestellung im Kapitel der Validierung benannt wird. Hier sei sie
zunächst einfach mit SimpleGA bezeichnet. Der Einfachheit halber besteht sie nur aus der
Methode main() . Es werden, wenn nötig, zuerst Testdaten über die Klasse Testdaten
generiert oder eingelesen. Nach dem Erzeugen der Anfangspopulation wird eine Schleife
durchlaufen, die zunächst einen Schritt zum Enstehen der neuen Population durchführt
und dann die Werte grafisch und als Text ausgibt. Am Ende wird einmal die gesamte Popu-
lation ausgegeben. Die Erzeugung oder das Einlesen von Testdaten ist abhängig von der
jeweiligen Anwendung und wird daher im Kapitel über die Validierung beschrieben. Die
grafische Ausgabe erfolgt in der Klasse Fenster oder in der Klasse Console .
5.4
Neuronale Netze
Neuronale Netze als eine Untermenge der konnektionistischen Systeme bieten eine ein-
fache Möglichkeit, Lösungssysteme mit Lernfähigkeit auszustatten. Es gibt sie in vielen
verschiedenen Formen, in einigen kann ein solches Netz sehr schnell trainiert werden,
andere erfordern zahlreiche Durchgänge durch die Daten, bevor die gewünschte Aufgabe
erlernt ist. Neuronale Netze können für überwachtes Lernen, Selbstorganisation und Ver-
stärkungslernen verwendet werden. Man kann sie für Klassifizierung, Clustering und Vor-
hersagen einsetzen. In vielen Anwendungen können Neuronale Netze Expertensysteme
ergänzen oder gar ersetzen, insbesondere, wenn eine ausreichende Menge an Daten für
das Training vorhanden ist. Neuronale Netze sind nicht einfach nur ein weiterer Lern-
algorithmus oder ein anderes Regressionsverfahren, sondern stellen ein völlig neuartiges
Rechenmodell dar, das sich von den klassischen Von-Neumann-Rechnern unterscheidet
(Kinnebrock 1992 ).
Neuronale Netze bilden die Struktur des menschlichen Gehirns nach und bestehen aus
Hunderten oder Tausenden einfacher Prozessoren (als Einheiten, Elemente oder Neuronen
bezeichnet), die durch Hunderte oder Tausende von veränderlichen Verbindungsgewich-
 
Search WWH ::




Custom Search