Information Technology Reference
In-Depth Information
die Anzahl der Felder pro Datensatz, fieldsPerRec . Die nächste Gruppe besteht aus
einer Reihe von Parametern für die Netzarchitektur. Dazu gehören numlnputs , num-
Rows und numCols , mit denen die Anzahl der Einheiten in der Eingabeschicht und die
Dimensionen der zweidimensionalen Ausgabeschicht festgelegt werden, numUnits ist
die Summe dieser beiden Schichten und numWeights die Gesamtzahl aller Gewichte
im Netz. Bei dieser Implementierungsvariante werden die Steuerparameter initialL-
earnRate , fmalLearnRate und die aktuelle Lernrate learnRate verwendet. Der
Netzmodus ( mode ) ist entweder train(0) oder test(1) . Der Parameter sigma wird
für die Berechnung der Nachbarschaftsfunktion verwendet. Die nächste Gruppe besteht aus
Daten- und Fehler-Arrays. Die wichtigsten Arrays sind activations und gewichte ,
die den aktuellen Zustand des Netzes bestimmen. Das Array distanz ist ein vorberechne-
tes Raster, das die Abstände zwischen den Einheiten auf dem zweidimensionalen Ausgabe-
gitter definiert. Das Array distanz wird in der Methode adjustNeighborhood()
eingesetzt. Ein neuronales Netz mit Kohonen-Karte wird mit der Methode createNet-
work() definiert. Diese Methode kommt anstelle eines Konstruktors zum Einsatz, so dass
die Netzarchitektur verändert werden kann, ohne ein neues Objekt erzeugen zu müssen.
Die Methode createNetwork() nimmt drei Parameter an: die Zahl der Eingaben, die
Zahl der Zeilen und die Spaltenanzahl. Einige nützliche Elemente werden berechnet, die
Steuerparameter initialisiert und alle Aktivierungen und Gewichte den Arrays zugeordnet.
Die Methode computeDistanz() initialisiert das Abstands-Array. Dann werden die
Methoden adjustNeighborhood() zur Festsetzung der anfänglichen Lernrate und
reset() zur Initialisierung des Gewichts-Arrays aufgerufen. Zur Verarbeitung eines
Eingabemusters werden gleich drei Methoden verwendet. Die Methode readInputs()
nimmt einen Datensatz aus der Datenmenge und kopiert die Eingabewerte in die Akti-
vierungen ( activations ) der Einheiten auf der Eingabeschicht. Da Kohonen-Karten
selbstorganisiert lernen, gibt es keine Zielwerte. Die Methode computeOutputs() be-
rechnet die euklidische Distanz zwischen dem Eingabevektor und den Gewichtsvektoren.
Die Ausgabeeinheit mit der geringsten Aktivierung (die dem Eingabevektor am nächsten
liegt) wird mit der Methode computeWinner() zum Sieger ( winner ) erklärt. Die
Methode adjustNeighborhood() berechnet im Verlauf des Trainings zwei wichtige
Werte, nämlich die Lernrate und die Nachbarschaftsausdehnung sigma . Zuerst wird eine
Verhältniszahl ratio berechnet, die angibt, wie weit das Training fortgeschritten ist. Da-
bei wird ratio mit der Zeit größer. Dann wird die aktuelle Lernrate learnRate berech-
net, die mit der Zeit abnimmt. Und schließlich wird der Nachbarschaftswert sigmn ermit-
telt. Wenn der Sieger feststeht, werden die Gewichte angepasst. In der Methode adjust-
Gewichte() werden die Nachbarschaft, der Abstand zur Siegereinheit und die Lernrate
eingesetzt, um die Gewichte der Einheiten in der Nachbarschaft des Siegers anzupassen.
Die Implementierungsvariante des Entscheidungsbaums , die diskrete Variablen ver-
wendet, besteht aus zwei Hauptklassen: Knoten, die einen Knoten im Entscheidungs-
baum DecisionTree darstellt, und Entscheidungsbaum für den Entscheidungs-
baum selbst. Knoten besitzt einen Namen namen oder einen Vektor mit Verknüpfungen
zu anderen Knoten im Entscheidungsbaum, einen Verweis auf den Elternknoten und einen
Search WWH ::




Custom Search