Neuronale Netze zur Dokumentenklassifikation

Ähnliche Dokumente
Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

Aufbau und Beschreibung Neuronaler Netzwerke

Einführung in neuronale Netze

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Neuronale Netze mit mehreren Schichten

Neuronale Netze (Konnektionismus) Einführung in die KI. Beispiel-Aufgabe: Schrifterkennung. Biologisches Vorbild. Neuronale Netze.

Kohonennetze Selbstorganisierende Karten

weitere Modelle und Methoden

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron

Einführung in die Fuzzy Logik

Selbstorganisierende Karten

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Grundlagen Neuronaler Netze

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

3.6 Eigenwerte und Eigenvektoren

Einführung in. Neuronale Netze

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Anhang B. Relationenalgebraische Definitionen. B.1 Relationen

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

(hoffentlich kurze) Einführung: Neuronale Netze. Dipl.-Inform. Martin Lösch. (0721) Dipl.-Inform.

00. Einiges zum Vektorraum R n

Implementationsaspekte

Einführung in Neuronale Netze

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Vektor-Multiplikation Vektor- Multiplikation

Einführung in Neuronale Netze

Selbstorganisierende Karten

Kapitel 2: Mathematische Grundlagen

3.4 Der Gaußsche Algorithmus

Schriftlicher Test Teilklausur 2

Neuronale Netze (I) Biologisches Neuronales Netz

37 Gauß-Algorithmus und lineare Gleichungssysteme

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Tabellenkalkulation 1. Einheit 5 Rechnerpraktikum EDV

Machine Learning - Maschinen besser als das menschliche Gehirn?

1 Fraktale Eigenschaften der Koch-Kurve

Grundsätzliches Rechnen mit Matrizen Anwendungen. Matrizenrechnung. Fakultät Grundlagen. Juli 2015

Mathematik 1, Teil B

Mengen und Abbildungen

Im allerersten Unterabschnitt wollen wir uns mit einer elementaren Struktur innerhalb der Mathematik beschäftigen: Mengen.

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

4 Greedy-Algorithmen (gierige Algorithmen)

Indexvokabular {Korsika, Sardinien, Strand, Ferienwohnung, Gebirge} Verknüpfung von Enthaltenseinsbedingungen mittels Boole'scher Junktoren.

(künstliche) Neuronale Netze. (c) Till Hänisch 2003,2015, DHBW Heidenheim

9.2 Invertierbare Matrizen

Wärmebedarfsprognose für Einfamilienhaushalte auf Basis von Künstlichen Neuronalen Netzen

LOOP-Programme: Syntaktische Komponenten

Seminar Künstliche Intelligenz WS 2013/14 Grundlagen des Maschinellen Lernens

entspricht der Länge des Vektorpfeils. Im R 2 : x =

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Information Retrieval,

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

(Allgemeine) Vektorräume (Teschl/Teschl 9)

Bestimmung einer ersten

Lineare Algebra 1. Detlev W. Hoffmann. WS 2013/14, TU Dortmund

Informationsverarbeitung auf Bitebene

Lineare Algebra. I. Vektorräume. U. Stammbach. Professor an der ETH-Zürich

Routing Algorithmen. Begriffe, Definitionen

Lineare Gleichungssysteme - Grundlagen

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016

Einführung in die Vektor- und Matrizenrechnung. Matrizen

2 ZAHLEN UND VARIABLE

Kleines Handbuch Neuronale Netze

Multimedia Retrieval im WS 2011/2012

Einführung in die Informatik

Computational Intelligence I Künstliche Neuronale Netze

Universität zu Köln Seminar: Künstliche Intelligenz II Dozent: Claes Neuefeind SS Neuronale Netze. Von Deasy Sukarya & Tania Bellini

Seminar zum Thema Künstliche Intelligenz:

Entwicklung von Methoden zum Nachweis von ökologisch erzeugten Produkten am Beispiel der Lachszucht - Neronale Netzanalyse -

2 Die Dimension eines Vektorraums

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

1 0 1, V 3 = M, und λ A = λa

Aufgabe 1 Probabilistische Inferenz

4. Vektorräume und Gleichungssysteme

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

DIE SPRACHE DER WAHRSCHEINLICHKEITEN

Korrelationsmatrix. Statistische Bindungen zwischen den N Zufallsgrößen werden durch die Korrelationsmatrix vollständig beschrieben:

WMS Block: Management von Wissen in Dokumentenform PART: Text Mining. Myra Spiliopoulou

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Zahlen und metrische Räume

Zahlen und metrische Räume

9 Vektorräume mit Skalarprodukt

(künstliche) Neuronale Netze. (c) Till Hänisch 2003, BA Heidenheim

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Die Schreibweise x M bedeutet, dass das Objekt x in der Menge M liegt. Ist dies nicht der Fall, dann schreibt man

Matrizen, Determinanten, lineare Gleichungssysteme

5 Eigenwerte und die Jordansche Normalform

x 2 x 1 x Lernen mit Entscheidungsbäumen

Brückenkurs Mathematik

Definition 7.1. Der Coxeter Graph zu W ist der ungerichtete gewichtete Graph Γ W = (V, E), mit Eckenmenge V und Kantenmenge E, gegeben durch V = und

Lineare Algebra I (WS 13/14)

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Mengenlehre. Jörg Witte

1 Boolesches Retrieval (2)

Transkript:

Neuronale Netze zur Dokumentenklassifikation Manuel Ihlenfeld 10. Mai 2005 Überblick Neuronale Netze können zum Erkennen und Klassifizieren von Mustern eingesetzt werden. Bei der Dokumentenklassifikation werden spezielle Ausprägungen neuronaler Netze verwendet, um Dokumente in eine vorgegebene Kategorie 1 einzuordnen. Um sich den Vorgang der Dokumentenklassifikation anhand Neuronaler Netze vorstellen zu können, sind Vorkenntnisse über eben diese erforderlich. Der erste Abschnitt gibt deshalb einen Überblick darüber, wie Neuronale Netze modelliert werden. Nach einer kurzen Einführung in die Fuzzy-Logik werden die Prinzipien von so genannten ART-Netzen vorgestellt. Beides dient der Vorbereitung auf ein spezielles Neuronales Netz, welches zur Dokumentenklassifikation eingesetzt werden kann und im anschliessenden Abschnitt vorgestellt wird. Die Beschreibung der Durchführung und Auswertung von Versuchen mit diesem Netz folgt zum Abschluss. 1 In diesem Text werden die Begriffe Klasse und Kategorie synonym verwendet. 1

1 Prinzipien künstlicher Neuronaler Netze 1.1 Wie werden Neuronale Netze modelliert? Künstliche Neuronale Netze bestehen aus idealisierten Neuronen. Verwendet wird ein sehr einfaches Modell des biologischen Vorbilds. Dieses Modell besteht aus dem Zellkörper, den Dendriten und ihren Synapsen und dem Axon. Über die Dendriten werden Eingabesignale aufsummiert, über das Axon wird die Ausgabe einer Zelle an andere Zellen weitergeleitet. Das Axon ist über Synapsen mit den Dendriten anderer Neuronen verbunden. Durch diese Verbindungen entsteht ein Netzwerk aus Neuronen. 1.2 Was ist ein künstliches Neuron? Ein Tupel (x, w, f a, f o, o) ist ein künstliches Neuron. Dabei ist x R n ein Eingabevektor, w R n ein Gewichtsvektor, f a : R n R n R eine Aktivierungsfunktion, f o : R R eine Ausgabefunktion und o = f o (f a (x, w)) der Ausgabewert des Neurons. Der Zusammenhang mit realen Neuronen ist folgender: Der Eingabevektor stellt die Werte der Dendriten anderer Neuronen dar und der Gewichtsvektor modelliert die Synapsen. Die Aktivierungsfunktion repräsentiert die Aktivität des Neurons und über die Ausgabefunktion wird schließlich der Wert berechnet, der an nachfolgende Neuronen weitergeleitet wird. Die Gewichte des Gewichtsvektors können so eingestellt sein, daß sie wie die Synapsen hemmend oder verstärkend auf Eingabesignale wirken. Für die Aktivierungsfunktion wird häufig das Skalarprodukt (gewichtete Summe) von Eingabevektor und Gewichtsvektor verwendet: f a (x, w) = n x i w i =< x, w > i=1 Die Ausgabefunktion ist in der Regel eine Schwellenwertfunktion wie zum Beispiel die binäre Schwellenwertfunktion { 1 z > 0 f o (z) = 0 sonst oder eine s-förmige Funktion (sigmoide Funktion), etwa die logistische Funktion f o (z) = 1 1 + e z wobei z = f a (x, w) die Aktivität des Neurons durch die Eingabe x ist. 1.3 Was ist ein künstliches Neuronales Netz? Wenn N eine Menge von Neuronen und V eine Menge von gewichteten Verbindungen ist, dann ist der gerichtete Graph (N, V ) mit gewichteten Kanten ein Neuronales Netz. Jedes Neuron erhält über eine Menge von Verbindungen seine Eingabe von anderen Neuronen oder der Aussenwelt und gibt genau eine Ausgabe über eine Menge von Verbindungen an andere Neuronen weiter. 2

In der Regel werden die Neuronen in einzelnen Schichten angeordnet, die miteinander verbunden sind. Die Verarbeitung erfolgt dann von der Eingabeschicht über sogenannte versteckte Schichten im Inneren hin zur Ausgabeschicht. Bemerkung: Die gewichteten Verbindungen zwischen Neuronen in verschiedenen Schichten A und B können in Form von Matrizen dargestellt werden. Dabei gibt die Spaltennummer die Nummer eines Neurons in Schicht A an und die Zeilenummer die Nummer eines Neurons in Schicht B an. Am Kreuzungspunkt von Spalten- und Zeilennummer wird dann der Wert des Gewichts eingetragen. Eine solche Matrix wird als Gewichtsmatrix bezeichnet. Für jedes Neuron gibt es dann einen sogenannten Gewichtsvektor aus der Gewichtsmatrix. 1.4 Wie wird das Lernen modelliert? Zum Trainieren eines Neuronalen Netzes werden dem Netz an der Eingabeschicht nacheinander verschiedene Muster präsentiert, denen das Netz jeweils eine bestimmte Ausgabe an der Ausgabeschicht zuordnen soll. Durch Modifikation des Netzes anhand einer Lernregel kann dieses lernen. Dazu gibt es folgende Möglichkeiten: Entwicklung neuer Verbindungen Löschen existierender Verbindungen Verändern der Gewichte Modifikation des Schwellenwerts Veränderung der Aktivierungs- oder Ausgabefunktion Hinzufügen neuer Zellen Löschen bestehender Zellen Das Verändern der Gewichte ist die am häufigsten verwendete Methode. Je nachdem ob das Netz während des Lernvorgangs zu einem bestimmten Eingabemuster die richtige Ausgabe zuordnet, gibt es generell drei Möglichkeiten, Fehler eventuell zu korrigieren. Hat das Netz einer Eingabe die richtige Ausgabe zugeordnet, so ist keine Veränderung notwendig. Andernfalls soll das Netz dahingehend verändert werden, daß die falsch erkannte Eingabe zukünftig der richtigen Ausgabe zugeordnet wird. Im Folgenden sind diese drei Möglichkeiten kurz dargestellt. Überwachtes Lernen (supervised learning) Bei dieser Technik wird vorrausgesetzt, daß zu einer größeren Menge von Eingaben auch entsprechende Ausgaben ( Trainingsbeispiele ) zur Verfügung stehen. Dem Netz wird jeweils eine Eingabe präsentiert und die Ausgabe des Netzes mit der korrekten Ausgabe verglichen. Anhand der Differenz von Ist-Ausgabe und Soll-Ausgabe können z.b. die Gewichte der Verbindungen modifiziert werden. Bestärkendes Lernen (reinforcement learning) Im Unterschied zum Überwachten Lernen erfährt das Netz nur, ob die Ausgabe korrekt war oder nicht (im Gegensatz zur exakten Differenz). Mit dieser Information muss sich das Netz dann selbstständig so nach der Lernregel verändern, daß möglichst kein Fehler mehr gemacht wird. 3

Unüberwachtes Lernen (unsupervised learning) Dieses Konzept heißt auch self-organized learning. Dabei gibt es überhaupt keine externe Kontrolle, die das Netz beeinflusst. Das Netz versucht, die Eingaben selbstständig in Ähnlichkeitsklassen aufzuteilen. Daraus folgt auch, daß die Ausgabe nicht in der Zuordnung zu einer Klasse besteht, sondern nur darin, daß ein eingegebenes Muster zu einer bestimmten Menge anderer bereits bekannter Muster gehört, ohne daß diese Menge eine Bezeichnung hat (Clustering). Im Gegensatz dazu muss bei den beiden vorigen Konzepten zu den Eingaben jeweils eine bestimmte Klasse gelernt werden, die dann aber auch ausgegeben wird. Damit das Lernen in Neuronalen Netzen konkreter vorstellbar wird, folgt eine kurze Beschreibung eines Verfahrens zum Überwachten Lernen. Mit den Trainingsbeispielen, die beim Lernen verwendet werden, können die Gewichte in einem mehrschichtigen Neuronalen Netz zur Minimierung des Fehlers angepasst werden. Um die Größe der Gewichtsänderung zu bestimmen, kann die sogenannte Delta-Regel verwendet werden, mit der versucht wird, den Fehler auf die einzelnen Gewichte aufzuteilen. Der Fehler wird aus der Differenz der Ausgabe eines Neurons und dem Wert bestimmt, den das Neuron für eine richtige Zuordnung ausgeben sollte. Eine Herleitung der Delta-Regel würde an dieser Stelle zu weit führen, weshalb hier nur die Regel angegeben wird: Für die Ausgabeschicht wird und für die inneren Schichten wird δ k = (t k o k )o k (1 o k ) und w jk = ηδ k o j (1) δ j = o j (1 o j ) k δ k w jk und w ij = ηδ j o i (2) verwendet. Dabei ist t j der gewünschte Ausgabewert des Neurons j, o k der wirkliche Ausgabewert dieser Einheit (analog o j ) und η die Lernrate, mit der die Grösse der Änderung eingestellt werden kann. Mit w ij kann dann der neue Wert des Gewichts der Verbindung von Neuron i zu Neuron j berechnet werden: w (t+1) ij = w (t) ij + w ij (3) Der Paramter t ist als Index zu verstehen und gibt den Lernschritt an, in dem sich das Netz befindet. Zusammengenommen ergibt sich folgender Vorgang: Ein Trainingsbeispiel wird an die Eingabeschicht angelegt; damit werden in den aufeinanderfolgenden Schichten nacheinander die Ausgabewerte der Neuronen berechnet bis schließlich die Ausgabe des Netzes an der Ausgabeschicht vorliegt. Dies ist der sogenannte Feedforward-Schritt. Aus der Ausgabe des Netzes und der Soll-Ausgabe werden mit (1) die notwendigen Änderungen der Verbindungen zwischen letzter innerer Schicht und der Ausgabeschicht bestimmt und die Gewichte mit (3) angepasst. Mit den δ k der Folgeschicht werden in der Richtung von der Ausgabeschicht zur Eingabeschicht die neuen Gewichte für die Neuronen analog mit (2) geändert. Die Gewichtsänderung von der Ausgabeschicht hin zur Eingabeschicht heißt Backpropagation-Schritt. Die beiden dargestellten Schritte werden zusammen als Backpropagation-Lernen bezeichnet. Dabei werden die beiden Schritte mit relativ vielen Trainingsbeispielen wiederholt durchgeführt. 4

1.5 Eigenschaften Neuronaler Netze Neuronale Netze eignen sich zur Klassifikation beziehungsweise zur Mustererkennung und auch als Assoziativspeicher. Dabei haben sie die folgenden Eigenschaften: Lernfähigkeit Fähigkeit zur Verallgemeinerung Die Gewichte werden nach einer Lernregel selbstständig angepasst, so daß das Netz das gewünschte Verhalten zeigt. Zusammenhänge zwischen Eingabe und Ausgabe werden verteilt und parallel in den Gewichten dargestellt Zuordnen von Eingabemustern zu Ausgabemustern Fehlertoleranz In diesem Abschnitt wurden künstliche Neuronale Netze sehr allgemein beschrieben. Um mit künstlichen Neuronalen Netzen Dokumente zu klassifizieren, müssen spezielle Neuronale Netze verwendet werden. Das in diesem Artikel vorgestellte Netz zur Dokumentenklassifikation verwendet Elemente aus der Fuzzy- Logik und ART-Netze. Deshalb werden im folgenden diese beiden Themen kurz behandelt. 2 Fuzzy-Logik Mit der Fuzzy-Logik werden nicht genau begrenze (unscharfe), allgemein vage und auch ungesicherte Sachverhalte einer exakten Beschreibung zugänglich gemacht. Auch ungenaue sprachliche Ausdrücke wie viel, niedrig, oftmals, hoch oder im Mittel werden innerhalb des Konzepts der Fuzzy-Logik mathematisch beschreibbar. Die Basis der Fuzzy-Logik ist die Theorie der unscharfen Mengen. Jedem Element einer Menge (also jeder Aussage) wird ein gradueller Wahrheitswert aus dem Intervall [0, 1] zugeordnet. Die klassische zweiwertige Logik kann als Sonderfall dieser Zuordnungsbeziehung angesehen werden. Abbildung 1: Beispiele für Fuzzy-Mengen 5

2.1 Fuzzy-Mengen Definition (Fuzzy-Menge, Zugehörigkeitsfunktion, Kardinalität) Es sei U eine Grundmenge (Universum) und µ A : U [0, 1] eine totale Abbildung. Dann ist A = {(u, µ A (u)) u U} eine Fuzzy-Menge. Die Funktion µ A (u) heißt Zugehörigkeitsfunktion und gibt den Grad der Mitgliedschaft eines Elements u U an. Die Kardinalität einer Fuzzy-Menge ist mit A = x A µ A(x) definiert. Definition (Gleichheit, Teilmenge, Leere Menge) Gegeben seien Fuzzy-Mengen A und B. Sie heißen gleich, falls gilt µ A (u) = µ B (u) u U. A heißt Teilmenge von B, falls µ A (u) µ B (u) u U. A heißt leer, wenn µ A (u) = 0 u U. (Schreibweisen entsprechend A = B, A B und A = ). Definition (Mengenoperationen) Gegeben seien die beiden Fuzzy-Mengen A und B über dem Universum U und u U. Die Zugehörigkeitsfunktion für das Komplement C von A ist gegeben durch µ C (u) = 1 µ A (u). Für die Vereinigung C von A und B ist µ C (u) = max{µ A (u), µ B (u)}. Der Durchschnitt C von A und B wird über µ C (u) = min{µ A (u), µ B (u)} gebildet. Für C gilt dann jeweils C = {(u, µ C (u)) u U}. (Schreibweisen entsprechend A, A B und A B). Abbildung 2: Komplementbildung, Vereinigung und Durchschnitt 2.2 Fuzzy-Logik Wie in Abbildung 1 zu sehen ist, können schon mit der Glocken-, der Dreiecksoder der Trapezfunktion einfache Aussagen mathematisch beschrieben werden. Das Ziel der Fuzzy-Logik ist es jetzt, solche Aussagen logisch miteinander zu verknüpfen. Die Disjunktion kann mit max{µ A (u), µ B (u)}, die Konjunktion mit min{µ A (u), µ B (u)} und das Komplement mit 1 µ A (u) berechnet werden. Das Ergebnis ist dann wieder ein Wert aus dem Intervall [0, 1]. (Schreibweisen entsprechend A B, A B und A). 6

3 Adaptive Resonanztheorie In Abschnitt 1.4 wurden Konzepte zum Trainieren Neuronaler Netze vorgestellt. Dabei werden dem Netz wiederholt Trainingsbeispiele präsentiert, mit denen es auf seine Aufgabe vorbereitet wird. Wenn jetzt immer wieder verschiedene Muster in das Netz eingegeben werden und sich das Netz anhand seiner Lernregel verändert, kann es vorkommen, daß ein bereits gelerntes Muster verlernt wird. Ein Netz, das Gelerntes nicht verlernt, hat die Eigenschaft der Stabilität. Eine naheliegende Idee zur Lösung des Problems wäre es, die Adaption der Gewichte einzuschränken. Damit wird aber auch die Lernfähigkeit des Netzes eingeschränkt. Ein Netz, das seine Lernfähigkeit behält, hat die Eigenschaft der Plastizität. Die beschriebene Problematik heißt allgemein Stabilitäts-Plastizitäts-Dilemma. Eine Lösung für dieses Dilemma bietet die Adaptive Resonanztheorie. Sogenannte ART-Netze sind in Lage, gelernte Muster zu behalten und dabei neue Muster lernen zu können. Beim Lernen neuer Muster wird darauf geachtet, daß gespeicherte Muster nicht zu stark verändert werden. ART-Netze lösen also das Stabilitäts-Plastizitäts-Dilemma. Grob beschrieben geschieht dies dadurch, daß neue Muster nur dann gespeicherten Mustern zugeordnet werden, wenn sich diese nicht zu sehr unterscheiden. Andernfalls kann für dieses neue Muster eine neue Kategorie im Netz erzeugt werden. Daraus folgt, daß spezielle ART-Netze neue Muster bereits nach einmaliger Präsentation lernen können, was wiederum ein unüberwachtes Lernverfahren ermöglicht. Die bekanntesten Vertreter von ART- Netzen sind ART-1 (verarbeitet binäre Eingaben), ART-2 (verarbeitet reelle Eingaben), ART-3 (simuliert zeitliche und chemische Vorgänge aus realen Neuronen), ARTMAP (ermöglicht überwachtes Lernen) und schliesslich Fuzzy ART (Kombination von ART-1 und der Fuzzy-Logik). Abbildung 3: Vereinfachtes Schema von Fuzzy-ART Ein Fuzzy-ART-Netz besteht aus einer Vergleichsschicht F 1 und einer Erkennungsschicht F 2, die über die Gewichtsmatrix W in beiden Richtungen miteinander verbunden sind. Zusätzlich ist eine Reset-Komponente vorhanden. Bei der Präsentation wird der Eingabevektor an die Vergleichsschicht angelegt. Für jede bekannte Kategorie ist in F 2 ein Knoten 2 vorhanden. Ausserdem sind freie 2 Die Begriffe Neuron und Knoten werden synonym verwendet. 7

Knoten enthalten, die beim Lernen belegt werden können. Für jeden Knoten in F 2 gibt es in der Gewichtsmatrix W eine Zeile, die den Knoten mit Neuronen aus der Vergleichsschicht verbindet. Die Muster sind in den Gewichten gespeichert. Alle ART-Netze haben ein grundsätzlich ähnliches Verhalten beim Lernen. Für einen präsentierten Eingabevektor wird die Ähnlichkeit mit allen bekannten Mustern berechnet, d.h. der Eingabevektor wird mit allen Zeilen der Gewichtsmatrix W verglichen. Dafür kann zum Beispiel das Skalarprodukt 3 oder die Norm der komponentenweise (Fuzzy-)AND-Operation der Zeilenvektoren von W und dem Eingabevektor verwendet werden (beide Operationen haben ein reelles Skalar als Ergebniss). Diese Werte werden mit dem jeweiligen Gewichtsvektor normiert und dann der Größte davon ausgewählt. Das Neuron der Erkennungsschicht, zu dem der Gewichtsvektor des größten Wertes gehört, heißt Gewinnneuron ( Winner-takes-all ). Die Resetkomponente überprüft, ob die Ähnlichkeit des Eingabevektors und dem Gewichtsvektor (normiert mit dem Eingabevektor) größer als eine sogenannte Ähnlichkeitsschranke 4 ist. Falls diese Bedingung erfüllt ist, wurde eine Kategorie gefunden, in welche die Eingabe eingeordnet werden kann. Die Gewichte des Gewichtsvektors werden dann mit einer einfachen Lernregel angepasst (geringe Lernrate, slow-learning); in diesem Fall tritt die sogenannte Resonanz auf. Im anderen Fall, d.h. wenn das Gewinnneuron das Ähnlichkeitskriterium nicht erfüllt, wird das Gewinnneuron für die Dauer der Präsentation von der Resetkomponente deaktiviert (ein Reset tritt auf) und es wird wiederholt mit dem beschriebenen Suchverfahren ein Gewinnneuron gesucht, welches das Ähnlichkeitskriterium erfüllt. Falls kein Gewichtsvektor gefunden wird, der die Eingabe ausreichend genau klassifiziert, wird ein freies Neuron in der Erkennungsschicht belegt und auf den Eingabevektor trainiert (hohe Lernrate, fast-learning). Bemerkenswert an diesem Verfahren ist, daß gänzlich unbekannte Muster nach einmaliger Präsentation gelernt werden können (fast-learning), d.h. das Netz hat eine hohe Plastizität. Zusätzlich werden gelernte Klassen nur dann an einen neuen Eingabevektor angepasst, wenn bereits eine hohe Ähnlichkeit vorhanden ist, d.h. es ist eine hohe Stabilität von bereits gelernten Mustern gewährleistet. 4 Klassifikation von Dokumenten mit ARAM In diesem Abschnitt wird ein Neuronales Netz zur Dokumentenklassifikation beschrieben, die sogenannte Adaptive Resonance Associative Map (ARAM). ARAM ist ein selbst-organisierendes Neuronales Netz mit überwachtem Lernverfahren. Es besteht aus zwei sich überlappenden ART-Modulen mit den Eingabeschichten F a 1 und F b 1 und einer Schicht F 2, welche die zu erkennenden Klassen kodiert. Bei der Klassifikation wird an F a 1 ein Merkmalsvektor angelegt, F b 1 enthält dann als Ausgabe den Vektor für die Kategorie, in die das Netz die Eingabe eingeordnet hat. Im nächsten Abschnitt wird kurz beschrieben, wie ein Dokument für das Netz als Merkmalsvektor kodiert wird. 3 Das Skalarprodukt ist ein Ähnlichkeitsmaß für zwei Einheitsvektoren; je ähnlicher diese sind, um so größer ist das Skalarprodukt. 4 Für die Ähnlichkeitsschranke ρ gilt ρ [0, 1]. 8

Abbildung 4: Aufbau von ARAM 4.1 Extraktion von Merkmalen aus Dokumenten Jedes Dokument wird durch eine Menge von Merkmalen aus Schlüsselwörtern repräsentiert. Für ARAM gibt es zwei Quellen, aus denen Merkmale gewonnen werden können. Zum einen gibt es Regeln die der Benutzer eingeben kann. Zum anderen können die Merkmale aus den Wörtern der Trainingsdokumente ausgewählt werden. Für beide Quellen wird der Sprachteil und die Stammform für jedes Wort bestimmt. Zur Vereinfachung werden nur die Stammformen von Nomen und Verben zur Weiterverarbeitung verwendet. Bei der Merkmalsextraktion wird wird jedes Dokument in einen Merkmalsvektor v mit M ausgewählten Schlüsselwortmerkmalen kodiert: v = (v 1, v 2,..., v M ) Im Folgenden ist tf j die Frequenz eines Schlüsselworts w j innerhalb des Dokuments. N ist die Anzahl der verfügbaren Dokumente und df j ist die Anzahl der Dokumente, die das Schlüsselwort w j enthalten. Um den Vektor v zu erhalten, können folgende drei Möglichkeiten verwendet werden: 5 v j = tf j v j = tf j log 2 N df j v j = (1 + log 2 tf j ) log 2 N df j (tf Schema) (tf*idf Schema) (log-tf*idf Schema) Der Vektor v wird normalisiert, um den endgültigen Merkmalsvektor a zu erstellen mit a = v/v m mit v m = max v i i {1,...,M} Dieser Vektor a wird dem Neuronalen Netz präsentiert. 5 tf = term frequency, df = document frequency, idf = inverse document frequency 9

4.2 Lernen Im Folgenden werden einige Bezeichner eingeführt und die Anfangsbedingungen des Netzes beschrieben. Danach wird der Vorgang des Lernens beschrieben, der sich grob an den der ART-Netze anlehnt. 4.2.1 Eingaben des Netzes Als Eingabe des Netzes wird ein Trainingspaar verwendet, das aus aus einem Merkmalsvektor a R M eines Dokuments und dem Merkmalsvektor b R N der zugehörigen Kategorie besteht. Die Vektoren a und b werden in die komplementkodierten Vektoren A R M : A = (a 1,..., a M, 1 a 1,..., 1 a M ) B R N : B = (b 1,..., b N, 1 b 1,..., 1 b N ) transformiert. Diese sind auch in Abbildung 4 zu sehen. Durch die Komplementkodierung wird erreicht, daß ein Vektor immer die gleiche Länge p hat, wenn p = i p i ist: A = M und B = N. Damit lassen sich Vektoren einfacher auf Ähnlichkeit überprüfen. 4.2.2 Aktivitäten der einzelnen Schichten Die Aktivitätsvektoren der Schichten F a 1, F b 1 und F 2 werden in dieser Reihenfolge mit x a, x b und y bezeichnet. Bei der Eingabepräsentation sind die Aktivitäten der Merkmalsschichten F a 1 und F b 1 gleich den komplement-kodierten Merkmalsvektoren, d.h. x a = A und x b = B. 4.2.3 Gewichte der Verbindungsmatrizen Jeder Knoten in F 2 ist über den Gewichtsvektor w a j mit F a 1 und über den Gewichtsvektor w b j mit F b 1 verbunden. Jeder Knoten von F 2 kann eine Kategorie repräsentieren. Anfangs sind alle Gewichte gleich und kein Knoten von F 2 ist belegt. 4.2.4 Parameter von ARAM Die folgenden Parameter beeinflussen das Verhalten beim Lernen und bei der Klassifikation. Wie beim Backpropagation-Lernen kann die Lerngeschwindigkeit über Lernraten eingestellt werden. Für die Gewichte von einem Neuron aus F 2 zu einem Knoten aus F1 a ist β a [0, 1] die Lernrate und für die Verbindungen von F 2 zu F1 b ist dies β b [0, 1]. Über die Ähnlichkeitsschranken ρ a, ρ b [0, 1] und den Gewichtungsparameter γ [0, 1] wird die Genauigkeit der Klassifikation festgelegt. 4.2.5 Wahl der Kategorie Das Netz versucht nach der Präsentation der Eingabe diejenige Kategorie zu finden, mit der der Eingabevektor die größte Ähnlichkeit aufweist. Falls die Eingabe in keine gespeicherte Kategorie passt, d.h. die Gewichte der ähnlichsten Kategorie würden beim Anpassen an diese Eingabe zu stark verändert werden, wird ein neuer Knoten in F 2 belegt. 10

An F1 a liegt jetzt A an und an F1 b entsprechend B. Dann wird folgende Maximumsbestimmung durchgeführt. Für jeden Knoten j aus F 2 wird die Funktion T j = γ A wa j α a + wj a + (1 γ) B wb j α b + wj b berechnet. 6 Hierbei ist (p q) i = min(p i, q i ) die Fuzzy-AND-Operation und p = i p i die Norm für Vektoren p und q. Von allen T j wird anschliessend der größte Wert ausgewählt und mit J indiziert, d.h. T J = max{t j j Knoten in F 2 }. In dem Aktivitätsvektor y von F 2 ist y J = 1 und y j J = 0. An diesem Punkt werden die beiden Fälle Resonanz und Reset unterschieden. Resonanz tritt auf, wenn folgendes Ähnlichkeitskriterium erfüllt wird: A w a J A ρ a und B wb J B ρ b In diesem Fall wird ein Lernzyklus durchgeführt, wie in Abschnitt 4.2.6 beschrieben. Andernfalls wird ein Reset ausgelöst. Dabei wird T J für die restliche Dauer der Eingabepräsentation auf Null gesetzt, d.h. das Neuron J der Schicht F 2 wird von der Resetkomponente am Feuern gehindert; es hat den Ausgabewert Null. Danach wird die Maximumsbestimmung wie oben beschrieben solange wiederholt, bis Resonanz erreicht wird. Dies passiert in jedem Fall, wenn vor dem Lernen alle Gewichtsvektoren mit 1 initialisiert werden. Die Resonanz tritt dann spätestens nach einer endlichen Anzahl von Durchläufen bei einem Gewichtsvektor auf, der noch in allen Komponenten 1 ist, d.h. der Knoten dieses Gewichtsvektors ist noch nicht belegt. Diesenfalls kann in dem nachfolgend beschriebenen Lernzyklus der Knoten dadurch belegt werden, indem die Lernraten β a und β b auf 1 gesetzt werden. 4.2.6 Ein Lernzyklus Nach dem Ende der beschriebenen Suche werden die Gewichtsvektoren w a J und w b J über und w a(new) J w b(new) J = (1 β a )w a(old) J = (1 β b )w b(old) J + β a (A w a(old) J ) + β b (B w b(old) J ) angepasst. Wenn J ein unbelegter Knoten in F 2 ist, wird β a = β b = 1 gesetzt. Wenn dies in obige Ausdrücke eingesetzt und berücksichtigt wird, daß bei einem unbelegten Knoten alle Gewichte 1 sind, ist schnell klar, daß auf der rechten Seite des Ausdrucks nur A übrig bleibt. Daraus folgt, daß die Gewichte von J in einem Durchlauf an die unbekannte Eingabe angepasst werden. Nachdem ein Knoten belegt wurde, wird β a < 1 und β b < 1 gesetzt. 6 α a und α b verhindern eine Division durch Null, beide liegen nahe bei Null um die Rechnung nicht zu verfälschen. Die Faktoren γ und (1 γ) ermöglichen eine Gewichtung der beiden Summanden. 11

4.3 Klassifikation Wenn ein ARAM-Netz wie oben beschrieben die zu erkennenden Kategorien gelernt hat, kann die Klassifikation von Dokumenten durchgeführt werden. Dazu wird der Merkmalsvektor eines Dokuments wieder an F1 a angelegt und die Kategorie, in die das Dokument vom Netz eingeordnet wurde, über F1 b ausgegeben. Nur der Knoten J aus F 2, der den größten Eingabewert T J erhält, bestimmt die Ausgabe von ART b (Abbildung 4), d.h. von F1 a nach F 2 { 1 j = J mit TJ > T y j = k k J 0 sonst Der Aktivitätsvektor x b von F b 1 ist gegeben durch x b = j w b jy j = w b J. Der Ausgabevektor B wird gebildet mit B = (b 1,..., b 2N ) = x b, wobei b i die Zugehörigkeit eines Musters zur Kategorie i angibt. 4.4 Einfügen von Regeln in ein ARAM-Netz Um die Genauigkeit bei der Klassifizierung zu erhöhen und um Benutzerwissen bei der Kategorisierung heranziehen zu können, ist es möglich, Regeln der Form Wenn-dann in ein ARAM-Netz einzufügen. Dies geschieht dadurch, daß ein Algorithmus aus den Regeln die Vektoren A und B erzeugt, mit denen das Netz wie oben beschrieben trainiert werden kann. Die Regeln könnten von einem Benutzer eingegeben werden oder dazu dienen, in Bereichen, in denen nur wenige Trainingsbeispiele zur Verfügung stehen, die Genauigkeit zu erhöhen. 4.5 Versuche mit ARAM Für die Versuche wird eine Datenbank mit Nachrichtenmeldungen verwendet (Reuters-21578). Dafür gibt es mehrere Gründe: Die Datenbank ist sehr groß. Sie besteht aus mehreren zehntausend Dokumenten, die bereits klassifiziert sind. Es gibt Kategorien mit vielen Dokumenten und Kategorien mit wenigen Dokumenten. Dadurch ist es möglich, die Lernfähigkeit von ARAM und die Auswirkungen des Einfügens von Regeln zu vergleichen. Reuters-21578 wurde bereits ausgiebig in der Literatur zur statistischen Textkategorisierung untersucht, was den Vergleich von ARAM mit anderen Modellen erlaubt. Zur Erleichterung von Vergleichen wurde die Datenbank in Übungs- und Testdaten aufgeteilt. Verwendet wurden 90 von 135 Kategorien, wobei jede mindestens ein Übungsbeispiel und ein Testbeispiel enthielt. Insgesamt ergab das 7770 Übungsdokumente und 3019 Testdokumente. 12

4.5.1 Leistungsmaße Der Prozentsatz der Dokumente für eine gegebene Kategorie, die korrekt klassifiziert wurden, wird mit recall (bzw. r) bezeichnet. Der Prozentsatz der eingeordneten Dokumente für eine gegebene Kategorie, die korrekt klassifiziert wurden wird mit precision (bzw. p) bezeichnet. Gemeinhin wird r und p kombiniert, um einen einzelnen Vergleichswert zu erhalten: F 1 (r, p) = 2rp r + p. Diese Werte können für mehrere Versuche ermittelt und dann der Durchschnitt gebildet werden. Bei diesem kann jedes Dokument gleich gewichtet werden oder jeder Kategorie wird das selbe Gewicht beigemessen. Im ersten Fall dominiert die Leistung des Klassifizierers bei großen Kategorien das Maß, im zweiten wird das Maß eher durch kleine Kategorien beeinflusst. 4.5.2 Ergebnisse Durch das Einfügen von Regeln kann die Leistungsfähigkeit von ARAM bei kleinen Kategorien verbessert werden. In den meisten Bereichen hat ARAM eine mindestens so hohe Leistung gezeigt, wie andere aktuelle Verfahren zur Textklassifizierung, insbesondere bei kleinen Kategorien. Gerade dies legt nahe, daß ARAM für on-line Textklassifikations-Anwendungen wie die Filterung von Dokumenten verwendet verwendet wird. Verwendete Literatur Ah-Hwee Tan, Predictive Self-Organizing Networks for Text Categorization G. Turi, Fuzzy - ART (MAP), http://sphinx.rbi.informatik.uni-frankfurt.de/ paetz/nfs2.pdf vom 28.04.2005 G. Reif, Kapitel 7 Fuzzy Logik http://www.iicm.edu/greif/node9.html vom 23.04.2005 G. Reif, Kapitel 8 Neuronale Netze http://www.iicm.edu/greif/node10.html vom 23.04.2005 IT-Handbuch IT-Systemelektroniker/-in Fachinformatiker/-in, westermann 1999, S. 176 Fuzzy-Logik 13