• Keine Ergebnisse gefunden

5.4 Analyse bestehender Verfahren zur Informationsauswertung

5.4.2 Auswahl der Verfahren

Sensoren eingeschränkt. Daher geht es eher um die Betrachtung der Sensoren, welche sowohl für die betrachtete Kontextdimension und das Kontextobjekt relevant sind. Die Menge an Sensoren, auf die dies zutrifft kann schwer vorhergesagt werden. In den betrachteten Szenarien handelte es sich jedoch meist um Größen von ca. 10 bis 50 Sensoren. Daher wurden 32 Sensoren als fester Parameter für die Anzahl von Sensoren gewählt, welche sich zudem zu gleichen Teilen auf kontinuierliche (KS = 16) und diskrete Sensoren (DS = 16) aufteilen. Für die diskreten Sensoren wurde ein Wertebereich von 16 verschiedenen Einträgen festgelegt (S D=16).

Bei der Suche werden jedoch auch Sensoren erfasst, welche keine Relevanz für das Konzept des Nutzers haben.

Dies kann je nach Szenario, installierten Sensoren, Sensorbeschreibung oder der Umsetzung der Suche stark variie-ren. An dieser Stelle wurde festgelegt, dass jeweils nur eine Menge von 40% der Sensoren für das aktuelle Konzept relevant ist. Das bedeutet nur 40% der Aussagen einer Trainingsinstanz sind abhängig von der Kontextklasse – alle anderen Sensorwerte sind gleich verteilt über ihren jeweiligen Wertebereich (SR=40).

Bei der Bestimmung von Kontextklassen geht es in der Regel um die Differenzierung zwischen einer relativ kleinen Menge an Kontextklassen. Bei der Bestimmung der Presence-Zustände einer Person um die Differenzie-rung zwischen Kontextklassen wie beispielsweise VERFÜGBAR, ABWESEND, BESCHÄFTIGT, oder aber bei der Steuerung von Geräten wie beispielsweise Licht um die Zustände EIN, AUS. Daher wurde hier eine Menge von 4 Kontextklassen angenommen (CA=4).

Die zu analysierenden Effekte, wie fehlende SensorwerteP M, fehlerhafte SensorwerteP B, fehlerhaftes Feedback P F oder Konzeptänderungen C D,CA werden jeweils einzeln betrachtet. In diesem Zusammenhang werden alle anderen Effekte ausgeblendet und bei der Generierung der Daten nicht herangezogen.

Einschränkungen durch Generierung der Daten

Eine kritische Betrachtung dieses Ansatzes des Vergleichs über generierte Daten zeigt auch nachteilige Eigen-schaften. So unterscheidet sich ein Vergleich anhand generierter Daten von einem Vergleich anhand von Daten, welche aus der realen Umgebung bezogen wurden. In der Realität sind die Sensordaten und das Auftreten von Kontextklassen nicht gleich verteilt. Gerade bei numerischen Attributwerten ist häufig eine Normalverteilung an-zutreffen.

In der Realität können die gesammelten Daten weitaus komplexere Eigenschaften aufweisen, wie beispielsweise die Häufung von Instanzen in bestimmten Situationen, in dem es dem Nutzer einfacher möglich ist, Feedback zu geben. Die Sensoren können zudem statistische Abhängigkeiten untereinander aufweisen.

Die Genauigkeit eines Modells ist zudem abhängig davon, wie ähnlich die zu klassifizierende Instanz den In-stanzen aus der Trainingsmenge ist. Bei dem gewählten Vorgehen werden die Beispiele zufällig gezogen, was die Wahrscheinlichkeit eine ähnliche Instanz zu ziehen abhängig von der Größe des Domänenraumes macht. In den an-gestrebten Szenarien ist zu erwarten, dass das Feedback und die Auswertung in ähnlichen Situationen stattfinden, weshalb die zu klassifizierende Instanz mit höherer Wahrscheinlichkeit den bisher erhaltenen Trainingsinstanzen ähnelt.

Die Generierung der Daten dient nur der Veranschaulichung des Verhaltens der Verfahren auf verschiedene vordefinierbare Eigenschaften in der Trainingsmenge und der Konzepte. Szenarien mit ähnlichen, vordefinierten Eigenschaften wären in der Realität zudem kaum zu konstruieren.

einer Klasse durch die Dichtefunktion einer Verteilung ausgedrückt werden kann [Kre05]. Das Bayestheorem greift dabei auf den Satz der bedingten Wahrscheinlichkeit zurück:

P(A|B) = P(B|A) P(B) ∗P(A)

Dieser Satz kann genutzt werden, um die Wahrscheinlich für ein EreignisAzu berechnen, unter der Annahme, dass ein EreignisBstattgefunden hat. Wird alsBdie aktuelle SituationXherangezogen, entsprichtAder zu ermittelnden Kontext-Klasse ki. Der Ansatz von NAIVE BAYES beruht auf der Annahme, dass die Kontextinformationen x ∈X unabhängig voneinander sind und sich zu einer vollständigen Wahrscheinlichkeit ergänzen:

P(X|ki) =

x∈X

P(x|ki)

Somit lässt sich die Klassenzugehörigkeitkimit dem Bayestheorem wie folgt ermitteln [LW00, WF01]:

P(ki|X) =

x∈XP(x|ki)

x∈XP(x) ∗P(ki)

Der EingabewertX entspricht den auszuwertenden Kontextinformationen. Das Ergebnis der Auswertung ergibt die Wahrscheinlichkeit, dass eine Klassekigültig ist.

Diese Aussage lässt sich durch die Auswertung der Trainingsdaten wie folgt ermitteln:

P(x|ki)beschreibt die relative Häufigkeit in der das Attributxim Zusammenhang mit der Klasseki beobach-tet wurde.

P(x)ist die relative Häufigkeit des Auftretens eine Attributes.

P(ki)entspricht der relativen Häufigkeit des Klassenwerteski.

Anhand der Trainingsdaten können diese Werte im Vorfeld berechnet werden (beispielsweise im diskreten Fall durch Abzählen). Die dabei erhaltenen Werte bilden das Modell, welches zur Auswertung herangezogen wird.

Wie bereits erwähnt, setzt NAIVE BAYES voraus, dass die Ereignisse untereinander unabhängig sind, d.h. die Attribute sind einzig und allein vom Klassenattribut abhängig. In der Realität ist die Annahme, dass die Kontextin-formationen unabhängig voneinander sind, in den seltensten Fällen zu erfüllen, wodurch das Lernsystem häufig in die Kritik gerät. Doch sind in der Praxis viele Beispiele vorhanden, in denen NAIVE BAYES erfolgreich eingesetzt wird, wie beispielsweise bei E-Mail-Filtern zur Erkennung von Spam-Mails [MAP00].

Entscheidungsbaum (J48)

Entscheidungsbaumverfahren bilden eine hierarchische Anordnung von Entscheidungsregeln. Dabei stellen die Knoten dieser Baumstruktur die jeweiligen Regeln dar. Je nach getroffener Entscheidung in den Knoten wird eine der Verbindungen zum nächst tiefer liegenden Knoten verfolgt. Die Knoten auf der untersten Ebene (Blätter) bein-halten das Entscheidungsergebnis. Die Regeln in jedem Knoten sind so aufgebaut, dass nur jeweils eine eindimen-sionale Entscheidung, d.h. anhand eines Attributwertes, getroffen wird. Nachteilig an einer solchen baumartigen Strukturierung der Regeln ist die Tatsache, dass einmal fälschlicherweise eingeschlagene Wege nicht mehr korri-giert werden können. Besonders entscheidend sind dabei inkorrekt aufgestellte Regeln auf höheren Ebenen des Baumes oder fehlende Attribute, welche zur Auswertung eines Knotens benötigt werden.

Ein Entscheidungsbaum ist im Allgemeinen sehr effizient in der Auswertung. So müssen nur die Knoten überprüft werden, die auf dem ausgewählten Weg von der obersten zur untersten Ebene liegen. Der Aufwand beschränkt sich bei einer ausgeglichenen Struktur aufO(logmn), wobeindie Anzahl der Knoten undmden Verzweigungsgrad angibt. Des Weiteren bildet die einfache Interpretation solcher Baumstrukturen im Gegensatz zu beispielsweise neuronalen Netzen einen erheblichen Nutzen bei der Auswertung [Koh96].

Bekannte Implementierungen dieses Ansatzes sind J48 (eine Java Implementierung von C4.5, welches wiederum eine Erweiterung des ID3 Ansatzes ist) und der Naive-Bayes-Tree (NB TREE), welcher zusätzlich in den Blättern (reduzierte) Naive-Bayes Modelle zur Auswertung beinhaltet5.

5 Mit demHoeffding Treeexistiert auch ein inkrementelles Verfahren zur Generierung von Entscheidungsbäumen. Dieses Verfahren ist jedoch erst seit kurzem als Plugin für die WEKA-ErweiterungMOA(http://www.cs.waikato.ac.nz/~abifet/MOA/) verfügbar.

5 Informationsauswertung 97

Neuronales Netz (NEURALNET)

Das künstliche neuronale Netz ist dem Verhalten echter Neuronen nachempfunden. Simulierte Neuronen reagieren auf bestimmte Reize und leiten diese Reize an andere Neuronen weiter, falls die eingehenden Reize stark genug waren. Hierzu werden die Eingänge der Neuronen gewichtet und aufsummiert. Überschreitet die Summe der ein-gehenden Reize einen Schwellwert, so leitet das Neuron den Reiz weiter. Durch das Trainieren des Netzes werden diese Werte so variiert, dass die zur richtigen Klassifikation nötigen Neuronen durch einen Reiz aktiviert werden.

Als Eingangsneuronen dienen die Attribute der Instanz. Jedoch beinhalten künstliche neuronale Netze nicht nur einen Ausgangsknoten bzw. -neuron, sondern jeweils so viele, wie Klassen im Konzept enthalten sind. Als Resultat wird dasjenige Ausgangsneuron, beziehungsweise dessen Klassenwert ausgewählt, welches den stärksten Reiz aufweist. Das Multilayer Perzeptron (MLP) beinhaltet mehrlagig angeordnete Neuronen (die sogenannten Perzeptrons). Zwischen Ausgangs- und Endknoten existiert mindestens eine weitere Ebene mit Neuronen (siehe Abbildung 5.8) [Rie94].

i

j

k

Input-Layer Hidden-Layer Output-Layer wjk

. . .

. . .

s1

s2

sm

x1,…,xn

x1,…,xn

x1,…,xn

wij

Abbildung 5.8:Struktur eines Mulitlayer Perzeptron [Rie94].

Die Variablenx1, ...,xnbezeichnen in der Abbildung die Eingabesignale bzw. Attributwerte unds1, ...,smdie Aus-gabesignale bzw. Klassenwerte. Die vollständige Verknüpfung sowie die Vorwärtsausrichtung (feed-forward neuro-nal network) sind spezielle Eigenschaften des gewählten Verfahrens.

Durch das Verfahren der Rückwärtspropagierung (Backpropagation) werden die Gewichte angepasst. Dazu ist es nötig, jede Trainingsinstanz mittels des MLP klassifizieren zu lassen. Durch die Gegenüberstellung des Klassifi-kationsergebnissessiund des Klassenwertes der Trainingsinstanzaiist es nun möglich, den FehlerEzu berechnen:

E= m

i=1

(si−ai)2

Die Änderung der Gewichtung bestimmt sich dabei durch die positiven Parameter εdie Lernrate (learning rate) sowie der Impulsα.

wj(t+1) =wj(t) + (− ∂E

∂wj) +α∗Δwj(t−1)

Die Höhe der Lernrate bewirkt dabei die Geschwindigkeit der Anpassung der Kantengewichte an die Änderungen in den Konzepten. Die Impulsvariableαhingegen bestimmt den Anteil der Variation im vorherigen Zeitschritt, welcher in die aktuelle Berechnung mit einfließt. Sie beeinflusst somit die Reduktion von Fehlern und eine übermäßige Anpassung. Grundsätzlich stellt das Training eines MLP folglich eine Variation der Kantengewichtung unter der Beachtung des quadratischen Fehlers dar.

98 5.4 Analyse bestehender Verfahren zur Informationsauswertung

NEARESTNEIGHBOUR

Um den Klassenwert einer Instanz zu bestimmen, durchsucht das NEARESTNEIGHBOUR-Verfahren die Trainings-instanzen nach möglichst ähnlichen Instanzen. Die Ähnlichkeit wird durch eine Abstandsfunktion ermittelt. Der Klassenwert der Trainingsinstanz mit dem geringsten Abstand wird als Ergebnis genutzt (siehe Abbildung 5.9).

Abbildung 5.9:Beispiel: NEARESTNEIGHBOUR mit k=1 [BGRS99].

Eine häufig genutzte Variante ist das k-NEARESTNEIGHBOUR-Verfahren. Um weniger anfällig für Fehler in der Trainingsmenge zu sein, wird eine Mengekan Nachbarn bestimmt. Über diese Menge wird ein (je nach Umsetzung zusätzlich nach Abstand gewichtetes) Majority-Voting durchgeführt, um das Ergebnis zu bestimmen. Wird ein sehr großer Wert für kgewählt, so kann dass Modell weniger differenziert auf einzelne Aussagen eingehen. Wurde für einen Bereich wenig Feedback gegeben (siehe QoF in Abschnitt 3.4.5), so kann dies dazu führen, dass die Aussagen benachbarter Instanzen die Aussagen einzelner Instanzen überdecken.

In dieser Arbeit wird (sofern nichts weiter angegeben wurde) ein k-NEARESTNEIGHBOUR-Verfahren mitk=5 verwendet.

Zur Suche der nächsten Nachbarn in einer Trainingsmenge mit n Instanzen und m Sensoren muss ein n∗m dimensionaler Raum durchsucht werden. Das Verfahren gehört daher zur Kategorie der Lazy-Learner und erzeugt bei der Auswertung gegebenenfalls erhöhten Aufwand.

Es gibt eine Reihe von Ansätzen dieses Problem zu behandeln [FW00, Das02b]. Ein Ansatz besteht beispielsweise darin, die Anzahl von Instanzen auf eine Menge von möglichst aussagekräftigen Instanzen zu reduziert. Eine solche Reduktion kann jedoch nur sinnvoll durchgeführt werden, wenn die Trainingsphase abgeschlossen ist. Dieser Weg ist für einen iterativen Ansatz also nicht geeignet.

Ein anderer Ansatz ist die Generalisierung der Instanzen. Sobald eine neue Instanz in die Trainingsmenge auf-genommen wird, wird ermittelt, ob diese Instanz mit einer bestehen Instanz kombiniert – generalisiert – werden kann. Eine solche generalisierte Instanz beschreibt nicht mehr einen Punkt im Raum, sondern ganze Wertebereiche und lässt sich gut in Form einer UND Verknüpften Regel darstellen. Dieser Ansatz wird im NEARESTNEIGHBOUR-GENERALIZED-Verfahren (NN-GENERALIZED) verfolgt.

Support Vector Machine (SVM)

Die Menge der Attribute der Trainingsinstanzen spannt einen hochdimensionalen Raum auf. Das Verfahren der Sup-port Vector Machine (SVM) behandelt das Problem des Durchsuchens hochdimensionaler Räume, wie sie beispiels-weise bei NEARESTNEIGHBOUR-Verfahren auftreten. Statt den hochdimensionalen Raum der Trainingsinstanzen zum Zeitpunkt der Auswertung zu durchsuchen, wird ein Modell erstellt, welches diesen Raum aufteilt. Ähnlich wie bei dem Aufbau eines Entscheidungsbaumes hat die Aufteilung des Raumes zum Ziel, Instanzen, welche zu einer bestimmten Klasse gehören, zu gruppieren, beziehungsweise durch die Aufteilung von anderen Instanzen zu trennen.

Der Raum wird durch Hyperebenen (Unterräume deren Dimension um eine geringer ist, als der Domänenraum) aufgeteilt. Einzelne Instanzen (die in diesem Zusammenhang als Support-Vektoren bezeichnet werden), welche einen minimalen Abstand zur Hyperebene aufweisen, dienen hierbei zur Beschreibung der Hyperebenen. Diese Support-Vektoren sind in Abbildung 5.10 durch Kreuze markiert.

Hochdimensionale Räume sind jedoch nicht immer durch Hyperebenen trennbar. Daher ist es entweder nötig die lineare Hyperebene durch eine nichtlineare zu ersetzen (wobei deren Berechnung die als akzeptabel annehmbare

5 Informationsauswertung 99

neu aufgespannter Raum

maximal diskrimin

ierend eHype

rebene Instanz der Klasse A

Instanz der Klasse B w

Abbildung 5.10:Trennung der Instanzen durch Hyperebene im Domänenraum [Mar03].

Zeit für Lernsysteme überschreiten würde) oder den Domänenraum so zu verändern, dass eine lineare Trennung möglich wird. Das SVM-Verfahren wählt den zweiten Weg und nutzt sogenannte Kernel-Funktionen[WF01] als Verfahren aus, um den Raum zu transformieren. In diesem neu aufgespannten Raum der Instanzen ist es nun möglich, diese mittels einer linearen Funktion bzw. einer Hyperebene zu trennen.

Das Training der SVM ist also nur dann von einem hohen Aufwand geprägt, wenn sich die Support-Vektoren, welche durch die Trainingsinstanzen gestellt werden, ändern und gegebenenfalls die Hyperebenen neu berechnet werden müssen. Anderseits besteht, durch die Integration der neuen Instanz, die Gefahr, dass die bisher vorhande-nen Dimensiovorhande-nen des neu aufgespannten Raumes nicht mehr ausreichen, um eine lineare Trennung vornehmen zu können. Das Hinzufügen einer weiteren Dimension für diesen Raum löst zwar dieses Problem, jedoch bedingt es die erneute Ermittlung einer weiteren, geeigneten Kernel-Funktion.

In dieser Arbeit wird als Kernel-Funktion das Verfahren der Sequential Minimal Optimization (SMO) genutzt.

Dieses Verfahren unterteilt das quadratische Optimierungsproblem (QP) der SVM in kleinere und analytisch zu lösende Problemstellungen [OFG97, Pla99, KSBM99].