• Keine Ergebnisse gefunden

Hochschule Wismar Fachbereich Wirtschaft

N/A
N/A
Protected

Academic year: 2022

Aktie "Hochschule Wismar Fachbereich Wirtschaft"

Copied!
101
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Hochschule Wismar

Fachbereich Wirtschaft

Diplomarbeit

Entwicklung eines Frameworks zur Automatisierung der Datenvorverarbeitung und Klassifikation emotionsbezogener

Sensordaten

Diplomarbeit am Fachbereich

Wirtschaft

an der Hochschule Wismar

eingereicht von: Jens Jahnke

geboren am 25. September 1976 in Bergen a.R.

Studiengang Wirtschaftsinformatik Matrikel Nr. : 103212

Betreuer: Prof. Dr. rer. nat. J. Cleve, Hochschule Wismar Prof. Dr. rer. nat. H. Mumm, Hochschule Wismar Dipl.-Inf. (FH) M. Blech, Fraunhofer IGD, Rostock

Abgabe am 31. Mai 2006

¨

uberarbeitete Fassung vom 1. Juni 2006

(2)

Abstract

This work focuses on the automation of data mining related processes within the field of emotion recognition and affective computing. Aim of this thesis was to analyze, optimize and automatize the processes of data reduction on the project (D)Emokoffer at the Fraunhofer Institute for Computer Graphics (IGD) Rostock, Germany.

Furthermore research considering the classification process was done. That research aimed for the improvement of the classification rate and speed. Besides that the temporally and personally dependencies between the classification success and the training and test data was researched. An implementation of the Sequential Floating Forward Search Algorithm using different classifiers like Naive Bayes or J48 (C4.5) was done.

(3)

Inhaltsverzeichnis

1 Vorwort 3

1.1 Motivation . . . 3

1.1.1 Zielsetzung . . . 3

1.1.2 Aufbau der Arbeit . . . 4

1.2 Emotionen . . . 4

1.2.1 Emotionsmodelle . . . 4

1.3 Messungen und Daten . . . 6

1.4 OmniRoute . . . 6

1.5 Weka . . . 7

2 Datenvorverarbeitung 8 2.1 Uberlegungen . . . .¨ 8

2.1.1 Puls . . . 8

2.1.2 Hautwiderstand . . . 10

2.1.3 Temperatur . . . 11

2.1.4 Emotionsdaten . . . 11

2.2 Automatisierung . . . 14

2.2.1 Konfiguration . . . 14

2.2.2 Programmierung . . . 16

3 Klassifikation 19 3.1 Vorbetrachtung . . . 19

3.1.1 Individuelles Lernen . . . 19

3.1.2 Lernen durch Wissensinduktion . . . 21

3.2 Entscheidungsb¨aume . . . 22

3.2.1 ID3 . . . 23

3.2.2 C4.5 . . . 23

3.3 Fisherprojektion . . . 23

3.3.1 Formeln . . . 23

3.3.2 Programmierung . . . 24

3.4 Die Tagesmatrix . . . 25

(4)

3.5 Neuronale Netze . . . 26

3.6 Bayes’sche Netze . . . 27

3.6.1 Bayestheorem . . . 29

3.6.2 Naive Bayes . . . 29

3.6.3 Bayes’sche Netze versus Neuronale Netze . . . 30

3.7 Sequential Floating Forward Search . . . 31

3.7.1 Testfunktion . . . 31

3.7.2 Programmierung . . . 34

3.8 SFFS-Fisherprojektion Hybride . . . 35

3.9 Klassifikationsergebnisse . . . 36

3.9.1 Valenz 3 vs. 5 Klassen . . . 36

3.9.2 Robuste Klassifikatoren . . . 36

3.9.3 Personenunabh¨angigkeit . . . 41

3.9.4 Tagesunabh¨angigkeit . . . 42

3.9.5 Personen- und Tagesunabh¨angigkeit . . . 42

4 Nachwort 44 4.1 Reduktion der Attributanzahl . . . 44

4.2 Die Klasseframework . . . 45

4.3 Vergleich mit anderen Arbeiten . . . 45

4.4 Anwendungsm¨oglichkeiten . . . 46

5 Ehrenw¨ortliche Erkl¨arung 47 Abbildungsverzeichnis 48 Tabellenverzeichnis 49 Glossar 50 A Klassifikationsergebnisse 51 A.1 Kreuzvalidierung (6 Folds) . . . 51

A.2 Personenunab¨angigkeit . . . 53

A.3 Tagesunab¨angigkeit . . . 58

A.4 Personen- und Tagesunab¨angigkeit . . . 60

B Quelltexte - Packet Datenvorverarbeitung 62 B.1 dvv einfach . . . 62

B.2 sffs . . . 77

B.3 werkzeugkiste . . . 89

B.4 framework . . . 94

(5)

Kapitel 1

Vorwort

1.1 Motivation

In vielen Arbeits- und Lebensbereichen ist die Kommunikation zwischen Mensch und Maschine schon weit fortgeschritten und h¨aufig nicht mehr wegzudenken. Es ist daher notwendig, diese Verst¨andigung zu optimieren. Ein m¨oglicher Weg zur Erreichung dieses Ziels ist die Ber¨ucksichtigung menschlicher Emotionen bei der Arbeit mit der Maschine.

Es w¨are denkbar, daß Arbeitsprozesse im Hinblick auf den Gef¨uhlszustand des Be- nutzers ge¨andert werden, um diesen auf seiner maximalen Leistungsf¨ahigkeit zu halten. Ein anderes Anwendungsgebiet w¨are die Computerspielindustrie, die Spiele herstellen k¨onnte, welche ihren Schwierigkeitsgrad je nach Gem¨utslage des Spielers (Frustration, Langeweile) ¨andern, damit dieser m¨oglichst lange Freude am Spiel hat. Bisher war die Datenerfassung in der Regel recht aufw¨andig, da die Ger¨ate recht groß waren, dies kann zu beeinflußten Meßergebnissen f¨uhren, die ihre Ursa- che nicht nur in der Wahrnehmung der Probanden, sondern auch in der Ablenkung durch Ger¨atschaften (z.B. Kabel) haben. Mit der zunehmenden Miniaturisierung der Meßger¨ate ist auch eine weniger bis gar nicht mehr auff¨allige Art der Datener- fassung m¨oglich [Picard, 1998].

Daten, die bei den Messungen anfallen, m¨ussen entsprechend ausgewertet und be- arbeitet werden. Dies ist ein Bereich, in dem Techniken aus dem Gebiet des Data Mining zur Anwendung kommen.

1.1.1 Zielsetzung

Die Aufgabe meiner Arbeit war es, die vorhandenen Mechanismen zur Datenvor- verarbeitung zu automatisieren, zu optimieren und gegebenenfalls zu ersetzen. Des Weiteren sollte versucht werden, die Klassifikationsergebnisse zu verbessern. Der Schwerpunkt der Arbeit lag darauf, die bisherige Vorverarbeitungsl¨osung aus Shell- skripten abzul¨osen und eine Klasse mit dieser Funktionalit¨at zur Verf¨ugung zu stellen. Dar¨uberhinaus sollte versucht werden, mit einem Algorithmus zur Merk- malsselektion eine m¨oglichst robuste und aussagekr¨aftige Merkmalskombination als Klassifikator f¨ur die einzelnen Emotionen zu finden.

Das gesamte Projekt und somit auch diese Arbeit orientieren sich stark an dem Paper

”Toward Machine Emotional Intelligence: Analysis of Affective Psychological State“ von Rosalind Picard [Picard, 2001].

(6)

1.1.2 Aufbau der Arbeit

In den folgenden Abschnitten sollen kurz einige Grundlagen zu Emotionen ange- schnitten sowie die Arbeitswerkzeuge und -umgebung kurz vorgestellt werden.

Kapitel 2 widmet sich der Datenvorverarbeitung, die aufgrund der Tatsache, daß lediglich drei Meßwerte zur Verf¨ugung standen, nicht den f¨ur Data Mining Projekte ublichen Umfang besitzt. Nach ¨¨ Uberlegungen zu den Werten (s. 2.1) wird die er- zielte Automatisierung in Abschnitt 2.2 ff. beschrieben.

Das Kapitel 3 betrachtet einige theoretische Grundlagen und f¨uhrt den SFFS- Algorithmus ein (3.7). In Abschnitt 3.9 werden die Ergebnisse der Klassifikation ausgewertet. Es wird gezielt auf auf Personen- und Tagesunabh¨angigkeit sowie gene- relle Abstraktionsf¨ahigkeit (kombinierte Personen- und Tagesunabh¨angigkeit) ein- gegangen.

Im Nachwort (Kapitel 4) werden Schl¨usse aus den gewonnenen Erkenntnissen zu- sammgefaßt sowie Anwendungsm¨oglichkeiten der Technik angedeutet und die Er- gebnisse sofern m¨oglich mit denen anderer Arbeiten verglichen.

1.2 Emotionen

Emotionen spielen in der t¨aglichen Kommunikation zwischen Menschen eine wich- tige Rolle und haben nach neueren Erkenntnissen einen starken Einfluß auf ra- tionales und intelligentes Verhalten. Nach [Damasio, 1994] f¨uhrt das Fehlen bzw.

Unterdr¨ucken von Emotionen zu starken Beeintr¨achtigungen der F¨ahigkeit rational zu denken und zu handeln.

In den letzten Jahren haben sich die Beweise verst¨arkt, daß emotionale F¨ahigkei- ten eine Grundkomponente der Intelligenz sind, speziell sind sie bedeutsam f¨ur die Lernf¨ahigkeit und die Bef¨ahigung, zwischen wichtigen und unwichtigen Informatio- nen zu unterscheiden [Goleman, 1995].

[Reeves, 1996] f¨uhrt eine Reihe von Experimenten auf, in denen zwischenmensch- liche Kommunikation mit der Mensch-Maschine-Kommunikation verglichen wird.

Was zu der These f¨uhrt, daß die Kommunikation zwischen Mensch und Maschine als nat¨urlicher und sozialer Prozeß den selben Gesetzm¨aßigkeiten wie die zwischen- menschliche Kommunikation folgt.

Die ”Emotionale Intelligenz“ ist notwendig, um eine nat¨urliche und intelligente Mensch-Maschine-Interaktion zu erm¨oglichen [Vyzas, 1999]. Emotionen modulie- ren alle Varianten der zwischenmenschlichen Kommunikation - wie z.B. Wortwahl, Stimmlage, Mimik, Gestik, Hauttemperatur, Muskelbewegungen und mehr (vgl.

[Picard, 2001]). Zwischen Menschen kann es der Fall sein, daß der Inhalt1 nicht so wichtig ist wie die Form2.

Die exakte Begrifflichkeit des Wortes

”Emotionen“ ist bis heute nicht genau de- finiert. Seit der erstmaligen, von Charles Darwin 1872 aufgestellten These, daß Emotionen und Reaktionen zusammenh¨angen k¨onnten, gibt es eine Vielzahl von Definitionen, die sich ¨uberschneiden, erg¨anzen oder widersprechen. Die Diskussion um diesen Sachverhalt soll f¨ur die vorliegende Arbeit nicht weiter von Belang sein, daher wird auf eine Vertiefung des Themas verzichtet.

1.2.1 Emotionsmodelle

F¨ur die Arbeit mit Emotionen in der Mensch-Maschine-Kommunikation bedarf es jedoch eines angemessenes Emotionsmodells. Im Folgenden sollen daher zwei Model-

1DasWasgesagt wird.

2Wiees gesagt wird.

(7)

le kurz vorgestellt werden, die versuchen die Erkenntnisse aus Psychologie, Geistes- und Sozialwissenschaften sowie Biologie f¨ur die Informatik zu adaptieren.

Circumplexmodell

Das Circumplexmodell ist ein mehrdimensionales Modell zur Emotionskategorisie- rung, das von Russel3 entwickelt wurde. Der Raum ist dabei zweidimensional und wird von den Dimensionen Valenz und Erregung (engl. valence, arrousal) aufge- spannt. Da die Emotionen in dem Modell nahezu kreisf¨ormig angeordnet sind (s.

Abb. 1.1), wurde es von Russel

”Circumplexmodell“ genannt. Die Spannweite der Valenz in dem Modell bewegt sich dabei von schlecht bis gut, die der Erregung von ruhig bis erregt. Das Modell kann durch die Hinzunahme weiterer Dimensionen er-

Abbildung 1.1: Circumplexmodell nach [Russel, 1980]

weitert werden ([Picard, 1997]), wodurch die Definition neuer Emotionsauspr¨agun- gen m¨oglich wird.

OCC-Modell

Ortony, Glore und Collins schufen das OCC-Modell mit dem Ziel, Emotionen in KI-Systemen zu modellieren [Ortony, 1988]. Es definiert Emotionen als Reaktionen auf Ereignisse sowie Objekte im Hinblick auf Ziele, Standards und Einstellungen des jeweiligen Agenten. Die Reaktionen sind zus¨atzlich mit Valenz versehen. Dem- nach werden Emotionen als nach ihrem Grad an Annehmlichkeit f¨ur die Person strukturierte Funktionen verstanden. Die Basis des Modells ist dabei ein Regelsy- stem. Eine Weiterentwicklung dieses kognitiv-strukturellen Modells ist das kognitiv- wertsch¨atzende Modell von Roseman4, welches die Wertsch¨atzung der Person ge- gen¨uber einem Geschehen als Emotionsursache festmacht.

3[Russel, 1980]

4[Roseman, 1996]

(8)

Die kognitiven Modelle erlauben keine Aussagen ¨uber Emotionen in Situationen mit schnell aufeinander folgenden Geschehnissen und bieten keine L¨osung zur Darstel- lung gemischter Emotionen.

1.3 Messungen und Daten

Die ben¨otigten Daten werden mittels eines Datenhandschuhs gemessen (s. Abb.

1.2). Dieser vermittelt der Versuchsperson kein unangenehmes Gef¨uhl, wie das bei- spielsweise bei einer v¨olligen”Verdrahtung“ derselben aufkommen w¨urde.

Es werden Puls, K¨orpertemperatur und Hautwiderstand gemessen. F¨ur eine um- fangreichere und genauere Analyse m¨ußten wesentlich mehr Merkmale erfaßt wer- den. Die drei hier genannten sind jedoch sehr markant und gen¨ugen einer n¨ahe- rungsweisen Erkennung von Gef¨uhlszust¨anden.

Erg¨anzend k¨onnten noch Werte wie Atemfrequenz und Mimik aufgenommen wer- den. Wobei letzteres sich recht schwer gestalten d¨urfte und vermutlich f¨ur jede Versuchsperson individuell angepaßt werden m¨ußte.

Zur Erzeugung von Emotionsdaten wird eine am Fraunhofer entwickelte Anwen- dung namens

”EmoTetris“ zum Einsatz gebracht. Es handelt sich dabei um eine Variante des bekannten Spiels Tetris, dieses gliedert sich ein in ein System, welches mit Hilfe von OmniRoute (s. 1.4) die anfallenden Daten erfaßt und versucht, unter Nutzung der gewonnenen Informationen, mit dem Nutzer zu interagieren (gezielte Hervorrufung von bestimmten Emotionen). Das gesamte Projekt tr¨agt den Namen (D)Emokoffer.

Abbildung 1.2: Ein Bild der Sensoren mit der entsprechenden Zusatzhardware in der Hand eines Probanden.(Quelle: Fraunhofer IGD Rostock)

1.4 OmniRoute

Bei OmniRoute handelt es sich um ein konfigurierbares Sensorsystem f¨ur emotions- bezogene Untersuchungen[Mader, 2004]. Es ist modular aufgebaut und erm¨oglicht die Erstellung verschiedener Versuchsaufbauten durch eine XML-Datei.

In dieser Datei wird eine Abfolge von Komponenten definiert, bei denen es sich um Datenquellen, Filter und Datensenken handelt. Eine Komponente aus der XML- Datei wird ¨uber eine weitere XML-Datei, ein sog. Rolefile, mit der zugeh¨origen

(9)

Klasse verbunden. Es ist m¨oglich, komplexe Netze zu erstellen, in denen Daten als sogenannte Events verschickt werden. Das System eignet sich dazu, verschieden- ste Programme und Bearbeitungswerkzeuge miteinander zu verkoppeln, da es die Schnittstellen zur Kommunikationen zwischen selbigen bereitstellt. Abbildung 1.3 stellt das Funktionsprinzip des Framework schematisch dar.

Abbildung 1.3: Eine schematische Darstellung des Funktionsprinzips von OmniRou- te nach [Mader, 2004]

OmniRoute wird im weiteren Verlauf der Arbeit nicht genutzt, obwohl bei der Ent- wicklung des eigenen Framework die Integrationsm¨oglichkeit in OmniRoute ber¨uck- sichtigt wurde.

1.5 Weka

Bei Weka handelt es sich um ein Open Source Data Mining Werkzeug auf Basis der Programmiersprache Java. Die Abk¨urzung Weka steht dabei f¨ur Waikato Envi- ronment for Knowledge Analysis. Das Programm bietet neben einer Benutzerober- fl¨ache auch die M¨oglichkeit, direkt ¨uber den frei verf¨ugbaren Quelltext Funktiona- lit¨aten zu nutzen. Im Rahmen dieser Arbeit wurde die Weka Version 3.4.7 genutzt und mit einigen Erweiterungen versehen, die am Fraunhofer-Institut programmiert wurden. Dabei handelt es sich um verschiedene Filter, die im Rahmen der Ar- beit haupts¨achlich zur Datenvorverarbeitung genutzt wurden. Die Wekaoberfl¨ache wurde verwandt, um die gewonnenen Erkenntnisse auszuwerten und die einzelnen Klassifikationsresultate zu vergleichen. Dar¨uberhinaus wurde der Quelltext des We- kaprojekts genutzt, um Filter und Klassifizierungsalgorithmen auf Programmebene zu nutzen.

(10)

Kapitel 2

Datenvorverarbeitung

2.1 Uberlegungen ¨

Die Anwendung gliedert sich in einen Online- und einen Offlinebereich; in letzterem spielt die ben¨otigte Zeit keine wesentliche Rolle. Was bedeutet, daß hier zahlreiche Verfahren angewandt werden k¨onnen, die viel Rechenzeit erfordern.

In der Onlinephase hingegen soll m¨oglichst in Echtzeit gearbeitet werden, hierdurch werden die M¨oglichkeiten merklich reduziert, da es Beschr¨ankungen in Geschwin- digkeit der Algorithmen (Java) und der verf¨ugbaren Rechenkapazit¨at gibt. Im Rah- men dieser Arbeit wird sich auf die Offlinephase konzentriert. Jedoch wird versucht m¨oglichst performante L¨osungen zu finden, um diese gegebenenfalls auch in der Onlinephase zum Einsatz bringen zu k¨onnen.

Die Offlinephase stellt somit das eigentliche Anwendungsgebiet des Data Mining dar, wohingegen die Onlinephase von den dort gewonnenen Erkenntnissen profitie- ren soll, um die dort anfallenden Daten m¨oglichst in Echtzeit zu verarbeiten.

2.1.1 Puls

Die Meßwerte ergaben, daß der Puls in der Regel stark schwankt und daher auch gut zur Analyse geeignet ist. Ein daraus resultierendes Problem ist die Vorlage analoger Meßwerte, die in Abb. 2.1 dargestellt sind.

Diese sind zwar sehr genau, aber aufgrund der Tatsache, daß sich die durchschnittli- chen Pulswerte und -schwankungen einzelner Personen erheblich unterscheiden (z.B.

B¨uroarbeiter vs. Sportler), kann der Klassifikator von diesen kaum generalisierende Schl¨usse ziehen. Eine Unterteilung in f¨unf Klassen (sehr niedrig, niedrig, normal, hoch, sehr hoch) bietet sich an, insofern diese dynamisch nach jeweiliger Person be- rechnet werden. Die Weka Software stellt hierzu verschiedene M¨oglichkeiten bereit.

Einerseits kann ein Filter namensDiscretize genutzt werden, was sich sehr einfach gestaltet, und wie in Abbildung 2.2 zu sehen, die Werte gut diskretisiert.

Eine zweite M¨oglichkeit ist die Nutzung eines Clusteralgorithmus, der ebenfalls eine Klasseneinteilung vornimmt. Aus Geschwindigkeitsgr¨unden bietet sich hier der SimpleKMeans Algorithmus an. Der entsprechende Aufruf der Wekaklasse lautet wie folgt:

weka.filters.unsupervised.attribute.AddCluster

-W "weka.clusterers.SimpleKMeans" -N 5 -S 10" -I 1-2,4-last

Da sich die beiden Varianten nur unerheblich in ihren Ergebnissen unterschieden,

(11)

60 65 70 75 80 85 90 95 100 105

0 200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 1.6e+06

Puls

Messpunkt Pulswerte

Abbildung 2.1: Der herk¨ommliche Pulswert

65 70 75 80 85 90 95 100

0 200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 1.6e+06

Puls

Messpunkt Pulswerte

Abbildung 2.2: Der diskretisierte Pulswert

(12)

wurde das erstgenannte Verfahren ausgew¨ahlt.

2.1.2 Hautwiderstand

Die Diskretisierung der Meßwerte f¨ur den Hautwiderstand erfolgt unter Nutzng des Parameter -F des Wekafilters, welcher f¨ur gleich starke Klassen sorgen soll.

Da gegen Ende der Versuchsreihen immer sehr geringe Werte auftraten, war die Standardklasseneinteilung nicht sehr effektiv (s. Tab. 2.1). Die Verwendung des

Klasse Mitglieder Bereich

1 878 (−∞ −12664.2]

2 1 (12664.2−17633.4]

3 0 (17633.4−22602.6]

4 0 (22602.6−27571.8]

5 29017 (27571.8− ∞)

Tabelle 2.1: Hautwiderstand diskretisiert mit Standardfilter

Filters mit der Option, m¨oglichst gleichstarke Klassen zu suchen, war wesentlich ergiebiger (s. Tab. 2.2), da die Schwankungen des Hautwiderstandes innerhalb eines kleinen Bereiches damit besser wiedergegeben werden (vgl. Abb. 2.3).

Klasse Mitglieder Bereich

1 6558 (−∞ −32511.5]

2 4800 (32511.5−32513.5]

3 5462 (32513.5−32515.5]

4 6895 (32515.5−32519.5]

5 6181 (32519.5− ∞)

Tabelle 2.2: Hautwiderstand diskretisiert mit m¨oglichst gleichstarken Klassen

32500 32510 32520 32530 32540 32550

0 200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 1.6e+06

Messwert

Messpunkt Hautwiderstand

Abbildung 2.3: Emotionsdaten: Hautwiderstand (analog)

(13)

2.1.3 Temperatur

Der Meßwert schwankt innerhalb eines geringen Bereiches sehr stark (vgl. Abb. 2.4).

Eine Einteilung in f¨unf Klassen entspricht der Vorgehensweise bei den Pulswerten.

Dies stellt eine Diskretisierung dar, die nicht zu viel des Schwankungscharakters ausl¨oscht und gleichzeitig gen¨ugend davon abstrahiert, um Klassifikationsalgorith- men eventuell eine Generalisierung zu erlauben.

Klasse Mitglieder Bereich

1 640 (−∞ −1834,6]

2 3684 (1834,6−1854,2]

3 13087 (1854,2−1873,8]

4 7211 (1873,8−1893,4]

5 4940 (1893,4− ∞)

Tabelle 2.3: Temperaturwerte, die mit dem WekafilterDiscretize diskretisiert wur- den

1900 1905 1910 1915 1920 1925 1930 1935 1940

0 200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 1.6e+06

Messwert

Messpunkt Temperatur

Abbildung 2.4: Emotionsdaten: Temperatur (analog)

2.1.4 Emotionsdaten

Da die Emotionsdaten nur numerisch vorliegen, m¨ussen diese ebenfalls diskretisiert werden, dies ist notwendig, da die sp¨ater angewandten Klassifizierungsalgorithmen auf nominale Daten angewiesen sind. Die numerische Beschaffenheit der Emotions- angaben beruht darauf, daß sie die Wahrscheinlichkeiten f¨ur die jeweilige Emotion darstellen. Die einzelnen Wertebereiche k¨onnen aus Tabelle 2.4 entnommen werden.

Zur Diskretisierung wurde der Filter Igd Discretize eingesetzt, da mit diesem eine Aufteilung an Wertbereichsgrenzen erzielt werden kann. Hierbei war abzuw¨agen, in wieviele Klassen die Emotionsdaten geteilt werden sollten. Anhand der Skalen- eintr¨age ließ sich auf zwei Klassen f¨ur die Valenz und jeweils drei Klassen f¨ur die ubrigen Emotionen schließen. Alternativ dazu w¨are eine Einteilung in drei Klassen¨ f¨ur alle Emotionen oder auch eine Einteilung von drei Klassen bei der Valenz (s.

(14)

Merkmal Emotion Skala

I ps-valence Valenz 0 (schlecht) ... 1000 (gut)

II ps-arrousal Erregung 0 (min) ... 500 (mittel) ... 1000 (max) III ps-joy Freude 0 (min) ... 500 (mittel) ... 1000 (max) IV ps-anger Arger¨ 0 (min) ... 500 (mittel) ... 1000 (max) V ps-helpless Hilflosigkeit 0 (min) ... 500 (mittel) ... 1000 (max) VI ps-fear Angst 0 (min) ... 500 (mittel) ... 1000 (max) VII ps-boredom Langeweile 0 (min) ... 500 (mittel) ... 1000 (max) VIII ps-surprise Uberraschung¨ 0 (min) ... 500 (mittel) ... 1000 (max) IX ps-euphoric Euphorie 0 (min) ... 500 (mittel) ... 1000 (max) X ps-tense Anspannung 0 (min) ... 500 (mittel) ... 1000 (max)

Tabelle 2.4: Emotionsdaten und ihre jeweiligen Skalen

Abb. 2.5) und jeweils f¨unf Klassen bei den ¨ubrigen Emotionen denkbar (s. Abb.

2.6).

0 200 400 600 800 1000

(0=schlecht ... 1000=gut)

ps-valence

diskret analog Klassengrenze 1 Klassengrenze 2

Abbildung 2.5: Emotionsdaten: Valenz (analog vs. 3 Klassen)

Eine weitere Option best¨unde in der Einteilung aller Emotionen in f¨unf Klassen, um eine zu unscharfe Skalierung zu verhindern. S¨amtliche Optionen wurden untersucht und es wurde sich f¨ur die f¨unfklassige L¨osung entschieden.

(15)

0 200 400 600 800 1000

(0=min ... 500=mittel ... 1000=max)

ps-arrousal

diskret analog

Abbildung 2.6: Emotionsdaten: Erregung (analog vs. 5 Klassen)

(16)

2.2 Automatisierung

Der Prozeß der Datenvorverarbeitung nimmt erfahrungsgem¨aß einen breiten Raum beim Data Mining ein. Das Ziel dieser Arbeit ist es, die dabei anfallenden Schritte weitgehend zu automatisieren. Zus¨atzlich sollten die einzelnen Prozesse in ihrer Geschwindigkeit gesteigert werden.

Die Datenvorverarbeitung beinhaltet eine Konvertierung der Rohdaten in das von Weka genutzte Format ARFF. Die Vorlage der Daten im CSV-Format vereinfacht dies, da lediglich Sonderzeichen entfernt werden m¨ussen, und ein Kopf f¨ur die ARFF- Datei generiert werden muß.

Im Anschluß daran werden eine Reihe Filterfunktionen abgearbeitet, die zum Teil Weka-eigen sind oder vom IGD erstellt wurden. Die Filterketten sind der eigentlich Kernpunkt der Datenvorverarbeitung.

Ihre Konfiguration erfolgt ¨uber eine XML-Datei, die im folgenden Abschnitt n¨aher erl¨autert werden soll.

2.2.1 Konfiguration

Die Struktur der Konfigurationsdatei entspricht dem typischen XML-Baum. Das Wurzelelement stellt eine Attributliste dar und wird unterteilt in Attributknoten, die wiederum Filterknoten aufnehmen k¨onnen.

Um die Fehlersuche und die Programmierung zu vereinfachen, wurde eine Dokumen- tentypdefinition (DTD) erstellt, die es erlaubt, das XML-Dokument zu validieren.

Die Struktur derselben ist in Abbildung 2.7 dargestellt.

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT ATTRIBUTELIST (ATTRIBUTE+)>

<!ELEMENT ATTRIBUTE (TYP, COL, NAME, FILTER+)>

<!ELEMENT FILTER (NAME, PARS)>

<!ELEMENT COL (#PCDATA)>

<!ELEMENT NAME (#PCDATA)>

<!ELEMENT PARS (#PCDATA)>

<!ELEMENT TYP (#PCDATA)>

Abbildung 2.7: Die DTD f¨ur die XML-Konfigurationsdatei

Es wird definiert, daß das ElementATTRIBUTELISTmehrere Elemente des Typs ATTRIBUTE enthalten kann. Letzteres muß jeweils genau ein Element der Typen TYP,COLundNAMEenthalten sowie mindestens ein Element des TypsFILTER.

Dieser wiederum muß jeweils genau ein Element NAME undPARS enthalten. Die Definition l¨aßt dabei allgemeine Zeichenketten f¨ur die Inhalte zu (#PCDATA).

Dabei existieren einige Beschr¨ankungen, die im Folgenden erl¨autert werden.

Parameter und Restriktionen: ATTRIBUTE

Die ParameterTYP,COL,NAMEsowie Unterelemente des TypsFILTERwerden benutzt.

TYP ein beliebiger Eintrag, der jedoch aus Verst¨andnisgr¨unden den Attributtyp

(17)

beschreiben sollte (nominal, numeric, . . . ). Dieser Parameter wird bisher nicht verwendet.

COL gibt die Spalte des Attributs in der ARFF-Datei an. Wird bisher nicht ge- nutzt.

NAME eine namentliche Beschreibung des Attributs (z.B.

”skin conductance“), die f¨ur Statusmeldungen genutzt wird.

FILTER eine Filterdefinition (s.u.)

Parameter und Restriktionen: FILTER

Hier sind die ParameterNAME undPARS anzugeben.

NAME der Name des Filters, der exakt (!) dem Pfad des Filters im Weka-Packet entsprechen muß (z.B.

”weka.filters.unsupervised.attribute.Add“) PARS die Parameter f¨ur den Filter (z.B.

”-N haut mean 1 -C last“)

Die Verwendung von Anf¨uhrungszeichen (double quotes) bei der Parameterangabe sollte, sofern m¨oglich, vermieden werden. Werden sie trotzdem verwandt, so m¨ussen sie mit vorgestelltemBackslashgeschrieben werden:

<FILTER>

<NAME>weka.filters.unsupervised.attribute.AddCluster</NAME>

<PARS>-W \"weka.clusterers.SimpleKMeans -N 5 -S 10\" -I 1-2,4-last</PARS>

</FILTER>

Unterbrechungsanweisungen

Es ist m¨oglich, durch gezieltes Einsetzen des Schl¨usselwortesbreakin die Konfigu- rationsdatei, das Programm an beliebigen Stellen der Abarbeitungsfolge terminieren zu lassen. Die Unterbrechungsanweisung muß dabei innerhalb eines ATTRIBUTE im Parameter TYP oder in einer Filterbeschreibung im ParameterNAME einge- setzt werden. Beide M¨oglichkeiten werden in Abbildung 2.8 dargestellt.

...

<ATTRIBUTE>

<TYP>break</TYP>

<COL>0</COL>

<NAME>Abbruchanweisung</NAME>

<FILTER>

<NAME></NAME>

<PARS></PARS>

</FILTER>

</ATTRIBUTE>

...

...

<FILTER>

<NAME>break</NAME>

<PARS></PARS>

</FILTER>

...

Abbildung 2.8: Unterbrechungsanweisungen in der XML-Konfigurationsdatei

(18)

2.2.2 Programmierung

Entwicklungsumgebung

Die Umsetzung der L¨osung erfolgte in der Programmiersprache Java. Genutzt wurde die Entwicklungsumgebung Eclipse nebst eines Plugins f¨ur den Zugriff auf einen Subversion Server . Es wurde unter der Javaentwicklungsumgebung in Version 1.5.0 Update 6 programmiert. Als Entwicklungsplattformen dienten Linux (Fedora Core 4/5) und Windows 2000 und XP.

Programmablauf

Nach dem Einlesen der Konfiguration vermittels eines XML-Parsers, wird aus den vorliegenden Rohdaten der Kopf der ARFF-Datei generiert. Anschließend werden die Daten in ein Format ohne Sonderzeichen konvertiert, was die sp¨atere Bearbei- tung erleichtert. Das Resultat (ARFF-Header und Daten) wird in eine ARFF-Datei geschrieben. Daraufhin erfolgt eine Validit¨atspr¨ufung derselben. Entspricht die Da- tei den Anforderungen (keine Fehler), wird mit der Datenvorverarbeitung fortge- fahren.

Das gesamte Ablaufschema der Datenvorverarbeitung wird in Abb. 2.9 dargestellt.

Abbildung 2.9: Der schematische Ablauf der Datenvorverarbeitung

Aus der nun vorliegenden ARFF-Datei wird eine Weka-Instanz generiert, auf der alle folgenden Operationen erfolgen. Dies bringt gegen¨uber dem Arbeiten auf den ARFF-Daten einen erheblichen Geschwindigkeitszuwachs. So wurden identische Fil- terketten, die mit der herk¨ommlichen Methode (via Shellskript) etwa 10 bis 15 Mi- nuten ben¨otigten, in unter zwei Minuten erfolgreich beendet.

Die Konfiguration liegt in einer Baumstruktur vor und wird nun durchlaufen. Zuerst

(19)

werden die Attributknoten abgearbeitet, welche wiederum Filterknoten enthalten k¨onnen, die dann ebenfalls der Reihefolge nach durchgegangen werden.

Treten Fehler auf, oder wird eine Abbruchanweisung gefunden, wird der aktuelle Stand der Wekainstanz in die ARFF-Datei geschrieben und das Programm been- det. Anderenfalls erfolgt die Speicherung der Daten erst am Ende der Filterketten.

Abbildung 2.10 gibt eine schematische ¨Ubersicht. Die exemplarische Anwendung der

Abbildung 2.10: Der schematische Ablauf der Filterketten

Klassedvv einfach kann anhand der Quellen der Klasseframework1 nachvollzogen werden (s. B.4).

Konvertierungsfunktion

Das Arbeiten mit diskretisierten Werten birgt den Nachteil, daß die ARFF-Dateien nicht mehr ohne weiteres zueinander kompatibel sind. Dies erschwert das datei¨uber- greifende Validieren von Klassifikatoren. Zur L¨osung des Problems wurde der Klasse

1s. 4.2

(20)

dvv einfach eine FunktionconvertDiscreteValues hinzugef¨ugt.

Die Funktion erwartet einen Dateinamen als Parameter und durchsucht die ent- sprechende Datei nach den drei Eintr¨agen discrete pulse, discrete skin cond und discrete temp, die sich in ihren einzelnen Klassen unterscheiden (z.B. Klasse 1.A = (−∞ −50] vs. Klasse 2.A = (−∞ −58]). Auf diesen Merkmalen werden die Klassen- eintr¨age durch die Werte very low, low, medium, high undvery high ersetzt. Dies erleichtert das datei¨ubergreifende Arbeiten, indem z.B. eine Datei als Trainings- und eine andere als Testmenge genutzt werden kann. Der Funktionsaufruf lautet wie folgt:

convertDiscreteValues("Dateiname.arff");

Es gibt zwar innerhalb des Programmpackets Weka die M¨oglichkeit, eine Kreuzva- lidierung f¨ur Klassifikatoren durchzuf¨uhren, aber deren Werte sind weit oberhalb reeller Werte angesiedelt, was sich auf die Tatsache zur¨uckf¨uhren l¨aßt, daß dieselbe Menge zum Trainieren und Testen verwendet wird.

Kombinierungsfunktion

Zum Testen der Klassifikatoren auf gr¨oßeren Datenmengen war es notwendig, die einzelnen Datens¨atze zu kombinieren. Daher wurde die Klasse dvv einfach um die Funktion combineARFFs erg¨anzt. Diese erwartet eine durch Kommata getrennte Liste aller zu kombinierender Dateien in einem StringBuffer und den Namen der Zieldatei als Parameter.

Es wird jedoch nicht gepr¨uft, ob die Dateien kompatibel zueinander sind! Der An- wender muß selbst darauf achten, keine inkompatiblen ARFF-Dateien zu kombinie- ren.

Der Ablauf der Funktion ist einfach gehalten. Die erste Datei wird in die Zielda- tei geschrieben und danach die restlichen Dateien, ohne ihren ARFF-spezifischen Kopf und ohne Leerzeilen. Der Aufruf der Funktion gestaltet sich dementsprechend einfach:

StringBuffer files = new StringBuffer();

files.append("Datei-01");

files.append(",");

files.append("Datei-02");

files.append(",");

files.append("Datei-03");

combineARFFs(files, "Zieldatei");

(21)

Kapitel 3

Klassifikation

3.1 Vorbetrachtung

Aus den zur Verf¨ugung stehenden Algorithmen wurden die ausgew¨ahlt, die erfah- rungsgem¨aß ¨uber eine hohe Geschwindigkeit und Zuverl¨assigkeit verf¨ugen. Nach [Ferri, 1994] ist der SFFS1-Algorithmus den Varianten Sequential Forward Selecti- on (SFS), Sequential Backward Selection (SBS), plus-l-take-away-r und genetischen Selektionsalgorithmen vorzuziehen.

Des Weiteren wird die Fisherprojektion genutzt, in Anlehnung an die Erfahrun- gen von Rosalind W. Picard [Picard, 2001]. Eine genauere Beschreibung der Algo- rithmen erfolgt in den folgenden Abschnitten. Davor soll kurz auf das Prinzip des Lernens ansich eingegangen werden.

3.1.1 Individuelles Lernen

Hier unterscheidet man diebehavioristischenund diekognitivenLerntheorien.

Erstere betrachten das Lernsubjekt als Black-Box und definiert Lernen nicht durch Reifung oder andere ¨außere Einflußfaktoren bzw. St¨orgr¨oßen (vgl. Abb. 3.1).

Innerhalb der Reiz-Reaktions-Theorie wird in klassische, instrumentelle und ope- Individuum

als Black-Box

Reiz Reaktion

Abbildung 3.1: Basismodell der behavioristischen Lerntheorie nach [Tuppinger, 2003]

rante Konditionierung unterschieden. Bei der klassischen Variante wird lediglich der Reiz untersucht.

Die instrumentelle Konditionierung besagt, daß eine bestimmte Reiz-Reaktions- Kombination h¨aufiger auftritt, wenn der Endzustand ein angenehmer ist (Beloh- nungsprinzip). Entscheidend f¨ur den Lernerfolg sind der Zeitpunkt und das Ausmaß der Belohnung.

Unter operanter Konditionierung versteht man die Belohnung von gew¨unschtem spontanten Verhalten und die Bestrafung von ungew¨unschtem spontanen Verhalten (”Zuckerbrot und Peitsche“).

1Sequential Floating Forward Search

(22)

Behavioristische Lerntheorien sind demnach erfahrungsbedingte Verhaltens¨ande- rungen, die durch Signale und/oder deren Verst¨arkungen hervorgerufen werden.

Bei denkognitiven Lerntheoriensteht das Individuum im Mittelpunkt der Betrach- tungen. Des Weiteren geht man nicht von ziellosem Ausprobieren (

”trial and er- ror“), sondern von gezieltem Lernen aus. Der Begriff Reiz-Reaktions-Verbindung wird durch den Begriff Wissen ersetzt. Auch erfolgt eine Trennung und Unterschei- dung zwischen Lernprozeß und Anwendung des Gelernten.

Des Weiteren erfolgt eine Differenzierung von deklarativem und prozeduralem Wis- sen. Nach [Tuppinger, 2003] gilt f¨ur diese beiden Wissensarten:

• Diese zwei Arten des Wissens werden in unterschiedlichen Bereichen des Ge- hirns gespeichert.

• Deklaratives und prozedurales Wissen werden auf unterschiedliche Art und Weise gelernt.

• Jedes Gehirn verf¨ugt ¨uber spezifische Ged¨achtnismuster und -spuren.

Da weder die behavioristischen noch die kognitiven Lerntherorien die Komplexit¨at des menschlichen Lernprozesses erkl¨aren k¨onnen, ist eine Kombination dieser beiden mit den sozio-kognitiven Lerntheorien vonn¨oten.

Letztere haben zwei Lernmodelle entwickelt:

Beobachtungslernen: Das Individuum erwirbt neue kognitive F¨ahigkeiten und Verhaltensmuster (Wissen) durch die Beobachtung des Verhaltens und der Leistung anderer. Der Einfluß Dritter auf das individuelle Lernverhalten wird ebenfalls untersucht.

Erfahrungslernen: Das Individuum lernt durch Beobachtung und Reflexion der eigenen Handlungen. Das Wissen ist dabei eng mit der zielgerichteten Hand- lung verkn¨upft.

DasErfahrungslernenwiederum l¨aßt sich ebenfalls in zwei Kategorien unterteilen:

1. Erfahrungslernen, das am Ort der Handlung durch direkte (

”nat¨urliche“) Er- fahrung als Folge konkreten Handelns erfolgt.

2. Erfahrungslernen, das nicht am Ort der (sp¨ateren) Handlung erfolgt und in der Regel durch indirekte (

”synthetische“) Erfahrungen angestoßen wird.

Der Vorteil des indirekten Erfahrungslernens ist dabei haupts¨achlich die Redu- zierung evtl. vorhandener Risiken (Pilotenausbildung im Flugsimulator). Demge- gen¨uber steht der Hauptnachteil: die ungen¨ugende Integration k¨unstlicher Erfah- rungen in die Lernstrukturen des Lernsubjekts (z.B. Kampfausbildung f¨ur Soldaten am Simulator vs. echter Einsatz).

Schlußendlich ergibt sich ein Lernmodell, welches in drei Phasen abl¨auft.

kognitive Lernphase: Der Mensch speichert deklaratives Wissen (Fakten und Fertigkeiten, die f¨ur die Handlung erforderlich sind).

Bsp.: Das Lesen eines Bedienungshandbuches.

assoziative Lernphase: Das deklarative Wissen wird in prozedurales umgewan- delt. Dabei k¨onnen durchaus beide Wissenarten parallel im Gehirn gespeichert werden (keine vollst¨andige Umwandlung).

Bsp.: Fließendes Sprechen einer Fremdsprache (prozedural) unter Nutzung der im Ged¨achtnis haftenden Grammatikregeln (deklarativ).

(23)

autonome Lernphase: Die Prozedur wird automatisiert und l¨auft schneller ab.

Diese Phase ist nur schwer von der assoziativen zu trennen. Im fortschreiten- den Verlauf der autonomen Lernphase kann das Wissen zu implizitem Wissen werden (Die F¨ahigkeit sich dar¨uber zu artikulieren geht verloren.).

Bsp.: Spezialisten oder der umgangssprachliche

”Fachidiot“

3.1.2 Lernen durch Wissensinduktion

Tabelle 5 zeigt eine Gegen¨uberstellung von Wissensinduktion und individuellem Lernen nach [Tuppinger, 2003]. Die Wissensinduktion in ihren Auspr¨agungen kann dabei durchaus als eine Form des Lernens angesehen werden. Das induktive Lernen

Merkmale Wissensinduktion Individuelles Lernen

Lernsubjekt Individuum Individuum

Phasen

• Wahrnehmen von Si- gnalen

• Einordnung der Signa- le in einen vorhandenen Kontext

• neue kognitive Vernet- zungen generieren

• (neues) Wissen durch Handeln anwenden

• Wahrnehmung der Rea- lit¨at

• Analyse des Erfahrenen

• Entwicklung von Ver- haltensorientierungen

• Generierung von (neu- em) Verhalten

Auspr¨agun-

gen • Wissens-

Selbstinduktion

• Direkte Wissens- Fremdinduktion

• Indirekte Wissens- Fremdinduktion

• Prozedurales Lernen (direktes Erfahrungs- lernen)

• Deklaratives Lernen (Beobachtungs- und indirektes Erfahrungs- lernen)

Tabelle 3.1: Gegen¨uberstellung von Wissensinduktion und individuellem Lernen beruht auf der Idee, daß anhand von Beispielen eine Funktion erlernt wird. Eine aus einer gen¨ugend großen Beispielmenge entwickelte N¨aherungsfunktion, die f¨ur eben diese Beispiele gute Ergebnisse liefert, erzielt demnach auch f¨ur unbekannte Beispiele gute N¨aherungswerte. Grunds¨atzlich wird beim induktiven Lernen vom Speziellen zum Allgemeinen gefolgert. Beispielsweise geschieht durch die Fakten Schwimmt(Lachs), Schwimmt(Barsch) sowieFisch(Lachs), Fisch(Barsch) die Fol- gerung auf Schwimmt(Fisch).

Es wird demnach durch eine TrainingsmengeMT, die Elemente (Lernbeispiele) der Form {x, f(x)} enth¨alt, eine Funktion f(x) = y beschrieben. Nun wird versucht, eine N¨aherungsfunktion oder auch Hypothese zu finden, welche die Funktion f(x) bestm¨oglich ann¨ahert. Die so gewonnene Funktion n(x) erf¨ahrt daraufhin Anwen- dung auf bisher unbekannte Daten.

(24)

Damit kein einfaches Auswendiglernen bereits erfaßter Sachverhalte eintritt, m¨ussen bestimmte Funktionen durch Einschr¨ankungen bevorzugt werden. Ein Verfahren hierzu ist der sogenannte

”induktive Bias“. Er beschreibt alle Grundannahmen des Lern- und Klassifikationsverfahrens, wodurch die Menge der in Frage kommenden N¨aherungsfunktionen enorm verkleinert wird. Durch die Reduktion des Suchraumes f¨ur die zu findende Funktionn(x), dief(x) bestm¨oglich ann¨ahert, wird die F¨ahig- keit zur Generalisierung erlangt.

Die Grundannahme beim induktiven Lernen ist jedoch, daß vollst¨andige Trainings- daten vorliegen, selbige nicht widerspr¨uchlich oder verrauscht sind und eine Funk- tionn(x) existiert, die konsistentf(x) ann¨ahert. Diese Gegebenheiten sind jedoch in der Praxis selten anzutreffen.

3.2 Entscheidungsb¨ aume

Entscheidungsb¨aume dienen dazu, Instanzen eines Klassifikationsproblems anhand der an den Knoten definierter Testkriterien genau einer Klasse zuzuordnen. Dabei muß eine diskrete bzw. vorher diskretisierte Funktion vorliegen. Praktische Anwen- dungsfelder sind Risikoanalysen, die Vorhersage von Kundenverhalten sowie tech- nische und medizinische Diagnosen.

Ein Entscheidungsbaum ist formell ein gerichteter azyklischer Graph (GAG bzw.

engl.directed acyclic graph, DAG), in welchem jeder Knoten eine mit einer Wahr- scheinlichkeit gekoppelte Variable darstellt und die Abh¨angigkeiten derselben un- tereinander durch die Kanten des Graphen modelliert werden. Die Knoten unter- scheidet man in einen Wurzelknoten, innere Knoten und Bl¨atter. Die beiden erstge- nannten sind Entscheidungsstellen, die zum Test einer Eigenschaft dienen. Bl¨atter symbolisieren die verschiedenen Klassen. Eine Funktion kann nur in einen Entschei- dungsbaum ¨uberf¨uhrt werden, wenn sie als disjunktive Normalform (DNF) darstell- bar ist. Aus ebendieser DNF wird dann der Graph konstruiert.

Ein GAG ist besonders bei großen Datenmengen vorteilhaft, allerdings sinkt sei- ne Effizienz mit steigender Attributanzahl, da dies die Anzahl der Knoten erh¨oht.

Durch das Ziel die Trainingsdaten in Mengen aufzuteilen, die bestimmte Attribut- Wert Paarungen nur selten besitzen, erschwert dies die Entscheidung, welches der Attribute als n¨achster Entscheidungsknoten in den Baum aufgenommen werden soll.

Je flacher der Baum wird, desto schneller kann er abgearbeitet werden. Da der op- timale Baum, welcher Konsistenz mit den Trainingsdaten aufweist, NP-schwer ist, kann dieser nicht in polynomialer Laufzeit optimal gel¨ost werden. Aufgrund dessen wird meist eine Heuristik zur Approximation genutzt, die ¨ahnlich dem Greedy- Algorithmus nach der n¨achstbesten L¨osung sucht. Ein großer Nachteil dieses Ver- fahrens ist es, daß es sich neuen Daten nicht anpaßt, sondern komplett neu erlernt werden muß. Der Vorteil ist seine Robustheit gegen¨uber verrauschten bzw. fehlerbe- hafteten Daten. Das Verfahren kann das erlernte Wissen nur in Form von Konjunk- tionen repr¨asentieren und bevorzugt beim Erlernen kurze Funktionen gegen¨uber l¨angeren. Je l¨anger die Funktion, desto h¨oher die Spezialisierung. Da jedoch eine Generalisierungsf¨ahigkeit vonn¨oten ist, werden kurze Funktionen in der Praxis be- vorzugt. Dies vermindert den Effekt des Auswendiglernens. Die Bevorzugung von k¨urzeren Theoremen gegen¨uber l¨angeren nennt manOccam’s razor, sie basiert auf den Arbeiten des englischen Logikers und Franziskaners William of Ockham im 14.

Jahrhundert [Wikimedia Foundation].

Im Anwendungsgebiet der Arbeit wird aus dem Bereich der Entscheidungsb¨aume der Algorithmus C4.5 zum Einsatz kommen, der in Weka als J48 - decision tree implementiert ist.

(25)

3.2.1 ID3

Der Algorithmus ID3 (Iterative Dichotomiser 3) dient dazu, Entscheidungsb¨aume zu generieren. Er basiert auf dem Prinzip Occam’s razor (vgl. 3.2), welches auf den Grundlagen der Informationsentropie folgendermaßen formalisiert wird:

IE(i) =−

m

X

j=1

f(i, j)logf(i, j)

Das ID3-Verfahren berechnet die Entropie2 f¨ur alle ungenutzten Attribute anhand von Testdaten, w¨ahlt danach das Attribut mit der geringsten Entropie und legt f¨ur dieses einen Knoten an.

3.2.2 C4.5

Das C4.5-Verfahren dient der Erstellung von Entscheidungsb¨aumen und basiert auf dem ID3-Algorithmus (s. 3.2.1). Es enth¨alt mehrere Verbesserungen, die speziell darauf abzielen, das Verfahren leicht implementierbar zu machen. Dazu z¨ahlen die Handhabung von Daten mit fehlenden Attributen, das Arbeiten mit verschiedenen Attributkosten und die Anwendung einer angemessenen Attributvorauswahl.

Den Informationsgewinn (englischGain) berechnet man aus der Differenz der Entro- pie und der konditionellen Entropie. Hierf¨ur definieren wir die Entropie wie folgt:

E(T) =−

m

X

j=1

|Tj|

|T|log|Tj|

|T|

Dabei wird ¨uber alle m¨oglichen Werte von T iteriert. Die konditionelle Entropie ergibt sich wie folgt:

E(x|T) = |Tx|

|T|log|Tx|

|T|

DerGain berechnet sich - wie bereits erw¨ahnt - nach der Formel:

Gain(T, V) =E(T)−E(V|T)

Ziel ist es, einen m¨oglichst hohen Informationsgewinn zu erzielen.

3.3 Fisherprojektion

Bei der Fisherprojektion handelt es sich um ein bekanntes Verfahren zur Dimensi- onsreduzierung [Duda, 1973], das zur Klassifikation genutzt wird.

Das Ziel ist es, eine Projektionsmatrix zu finden, die einenn-dimensionalen Einga- bevektor auf einen Vektor der L¨angedprojiziert. Die einzelnen Attribute des Attri- butraumes werden dabei so gew¨ahlt, daß eine maximale Separierung der einzelnen Klassen erfolgt. Die Attributanzahl n wird somit auf d Fisherattribute reduziert.

Wenn cdie Anzahl der Klassen angibt, so gilt: 1≤d≤(min(n, c)−1) .

3.3.1 Formeln

Seix eine Menge von Eingabevektorenx= (x1, x2, K, xn)t. Diese Vektoren wurden in c Klassen D1, K, Dc eingeordnet. Gesucht ist die Projektionsmatrix W, die die

2s. 3.2.2 f. eine kurze Definition der Entropie

(26)

Eingabevektoren so auf Vektoren y = (y1, y2, K, yd)t projiziert, daß die c Klassen maximal separiert werden. Dabei istn die Anzahl der Attribute undd die Anzahl der Fisherattribute. Es gilt also:y=WTx.

F¨ur das Finden der Projektionsmatrix, welche die Klassen maximal separiert, muß erst ein Separationsmaß definiert werden, das abh¨angig von der Projektionsmatrix ist.

J(W) = |WtSBW|

|WtSWW|

SW ist dabei die sogenannte Within-Scatter-Matrix und beschreibt die Streuung innerhalb der Klassen. Ihre Berechnung erfolgt folgendermaßen:

SW =

c

X

i=1

Si mit

Si= X

xǫDi

(x−mi)(x−mi)t und

mi= 1 ni

X

xǫDi

x

Die Between-Scatter-Matrix SB erfasst die Streuung zwischen den Klassen und errechnet sich wie folgt:

SB =

c

X

i=1

ni(mi−m)(mi−m)t wobei

m= 1 n

X

x

x und mi= 1 n

X

xǫDi

x

Der Aufwand zur Bestimmung der rechteckigen MatrixW ist hoch, trotz der recht einfachen Ergebnisse. Die generalisierten Eigenvektoren, die zu den gr¨oßten Eigen- werten in SBwiiSWwi geh¨oren, bilden die Spalten der optimalen Projektions- matrixW.SB stellt die Summe vonc Matrizen mitRang≤1 dar und da nurc−1 Matrizen von ihnen unabh¨angig sind, gibt es genauc−1 Eigenwerte, die ungleich 0 sind. Nur diese werden verwendet.

InsofernSW nicht singul¨ar ist, kann das Problem auch in ein konventionelles Eigen- wertproblem umgeformt werden. Dann werden die Eigenwerte und -vektoren von

SW1SBwiiEnwi

berechnet. Das Eigenwertproblem l¨ost man durch die Bestimmung der L¨osungen des Polynoms|SW1SB−λiEn|= 0. Wobei En die n-dimensionale Einheitsmatrix dar- stellt. Aus den L¨osungen berechnet durch (SW1SB−λiEn)wi= 0 die Eigenvektoren, die dann die Spalten der Projektionsmatrix bilden.

3.3.2 Programmierung

Die Implementierung des Algorithmus war bereits vollst¨andig. Selbiger wurde in Weka integriert und war durch das Weka-Filter-Interface nutzbar. Die Umsetzung erfolgte durch Stefan Morgenstern (s. [Morgenstern, 2005]).

(27)

3.4 Die Tagesmatrix

Ein Problem bei den erhobenen Daten ist deren Abh¨angigkeit von der aktuellen

”Tagesform“ des Probanden. Des Weiteren h¨angen die Daten auch von anders po- sitionierten Sensoren sowie sonstigen Umwelteinfl¨ussen (Temperatur, Luftfeuchtig- keit, etc.) ab. Es ist also nicht ohne weiteres m¨oglich aus den Daten eines Tages einen generalisierten Klassifikator zu entwickeln.

In den Arbeiten von Rosalind Picard [Picard, 2001] und Elias Vyzas [Vyzas, 1999]

wird die Einf¨uhrung einer Tagesmatrix vorgeschlagen. Diese soll f¨ur jeden Tag einen Vektor enthalten, der alle Daten dem jeweiligen Tag zuordnet. Die Vektoren m¨ussen sich dabei jedoch von Tag zu Tag unterscheiden. Hierbei wird dem Ansatz gefolgt, daß f¨ur die Daten vonn Tagen jeweils ein nurn−1 dimensionaler Vektor errechnet wird. Die einzelnen Vektoren sollen dabei einen gleichen Abstand zueinander ha- ben. Es wird demzufolge die minimale Anzahl an Dimensionen gesucht, damit die durch die Vektoren beschriebenenn Punkte alle den gleichen Abstand voneinander besitzen.

Die Berechnung derselben erfolgt durch die Aufstellung von Gleichungssystemen durch Punktabstandsgleichungen. Laut [Morgenstern, 2005] ¨andern sich nach der Berechnung der ersten vier Punkte bei den neuen Punkten nur noch die letzten beiden Koordinaten. Dies vereinfacht den Algorithmus, der wie folgt definiert wird (aus [Morgenstern, 2005] S. 14-15):

1. Es wird ein willk¨urlicher Abstand gew¨ahlt, den die Punkte zueinander haben sollen (In unserem Fall: Eins). Die ersten vier Punkte werden nun nacheinan- der ¨uber Gleichungssysteme berechnet. Der erste Punkt im eindimensionalen Raum, der zweite im zweidimensionalen und so weiter. Bei der Dimensions- erh¨ohung setzt man f¨ur die neuen Koordinaten den Wert Null ein. Die Formeln lauten wie folgt:

(0)→(0),(1) 0

0

, 1

0

→ 0

0

, 1

0

,

1 2

q3 4

!

 0 0 0

,

 1 0 0

,

1 2

q3 4

0

→

 0 0 0

,

 1 0 0

,

1 2

q3 4

0

,

1 2

q1 12

q2 3

Die letzten vier Punkte dienen dem nachfolgenden Schritt als Ausgangssitua- tion.

2. Zur Erg¨anzung der bisherigenn Punkte um einen weiteren mit dem Abstand Eins, m¨ussen die vorhandenen Punkte um eine Dimension erweitert und die neue Koordinate Null gesetzt werden. Es gilt, daß:

Pn+1[i] =Pn[i] f ¨ur i= 1,2, . . . , n−2

dabei istPn der zuletzt berechnete Punkt undPn+1der neu zu berechnende.

Die zwei abweichenden Koordinaten berechnen sich wie folgt:

Pn+1[n−1] = Pn[n−1]2∗2−1 2∗Pn[n−1]

Pn+1[n] =p

Pn[n−1]2−Pn+1[n−1]2

3. Der zweite Schritt wird solange wiederholt, bis die ben¨otigte Anzahl von Punk- ten erreicht ist.

(28)

[Vyzas, 1999] und [Picard, 2001] geben eine durchschnittliche Verbesserung der Klas- sifikationsleistung von etwa 10% durch die Anwendung einer Tagesmatrix an. In [Morgenstern, 2005] kommt es mit deren Nutzung zu einer Verbesserung von etwa 15 bis 20%. Alle drei nutzen die Tagesmatrix zur Aufwertung eines schon durch die Fisherprojektion optimierten Klassifikators.

3.5 Neuronale Netze

Als Vorbild f¨ur k¨unstliche Neuronale Netze (KNN) dienen die Funktionsweise und der Aufbau des menschlichen Gehirns. Sie zeichnen sich dadurch aus, daß sie aus Beispielen lernen k¨onnen und in der Lage sind, Probleml¨osungen zu generalisieren.

Ein Neuronales Netz arbeit theoretisch massiv parallel, was auf heutigen Compu- tersystemen jedoch selten Vorteile bringt, da diese derzeit gr¨oßtenteils noch seriell arbeiten. Ein Neuronales Netz besteht aus idealisierten k¨unstlichen Neuronen, wel- che lediglich sehr einfache Funktionen ausf¨uhren. Sie unterteilen sich nach ihrem biologischen Vorbild in Eingangs-, Verarbeitungs- und Ausgangsfunktion. Am Ein- gangsbereich werden die ankommenden Signale anderer Neuronen vermittels einer Propagierungsfunktion kombiniert. Im einfachsten Fall ist dies die Summe aller ein- gehenden gewichteten Netzverbindungen [Cleve & L¨ammel, 2004].

fpropn =netn=X

j

wjn∗oj

Dabei ist oj die Eingabeinformation aus den gewichteten Verbindungen wjn, die andere Neuronenj mit dem Neuronn besitzen, oder die direkt aus der Umgebung des Netzes in selbiges einfließt.

Danach wird durch eine Aktivierungsfunktion unter Beachtung eines Schwellwertes ein Aktivierungszustand f¨ur das Neuron errechnet. Diese Funktion ist in der Regel eine Sigmoidalfunktion . Nach [Cleve & L¨ammel, 2004] kommen hier haupts¨achlich lineare Funktionen, Schwellwertfunktionen, logistische Funktionen und der Tanges Hyperbolicus zum Einsatz. Die logistische Funktion

flog(x) = 1 1 +ecx

kommt meist bei Lernverfahren zum Einsatz, die eine differenzierbare Aktivierungs- funktion erfordern.

Als Ausgabefunktion kommt fast ausschließlich die Identit¨at zur Anwendung, auch wenn andere Funktionen nicht ausgeschlossen sind.

fAusgabe =Id

Dadurch ist die die Aktivierung eines Neurons in der Regel gleichbedeutend mit seiner Ausgabe.

Neuronale Netze werden nach Struktur, Lernregeln oder Neuronentypen unterteilt (vgl. Abb. 3.2). Es gibt mehrschichtige Netze mit versteckten Neuronen (multi- layer), vorw¨artsgerichtete Netze (feed-forward) mit und ohne direkte Verbindungen zu den Ausgangsneuronen (shortcut connection) sowie Netze mit R¨uckkopplung, die noch einmal in symmetrische und asymmetrische unterschieden werden. Neuronale Netze werden in verschiedenen Gebieten eingesetzt, jedoch haupts¨achlich f¨ur die Klassifikation und die Vorhersage. Ein klassisches Anwendungsbeispiel f¨ur die Klas- sifikation ist die Einteilung von Bankkunden hinsichtlich ihrer Kreditw¨urdigkeit.

Ein Vorhersageproblem w¨are die Prognose der Aktienwerte eines Unternehmes aus den Daten der letzten Wochen oder Monate. Ein anderer Anwendungsfall abseits

(29)

Abbildung 3.2: Arten Neuronaler Netze nach [Cleve & L¨ammel, 2004]

der beiden eben genannten w¨are der Einsatz eines Netzes zur Mustererkennung.

Des Weiteren werden Neuronale Netze in trainierbare und nicht trainierbare Net- ze unterteilt [Cleve & L¨ammel, 2004]. Wobei im Anwendungsgebiet dieser Arbeit lediglich trainierbare Netze von Interesse sind. Das Lernen wiederum wird unter- schieden in ¨uberwachtes, best¨arkendes und nicht ¨uberwachtes Lernen. Bei ersterem liegen sowohl Eingabedaten als auch die entsprechenden Ausgabedaten vor. Die Ausgabe des Netzes wird dann mit denselben verglichen. Das ¨uberwachte Lernen ist in seiner Anwendung sehr effizient und wird h¨aufig eingesetzt.

Best¨arkendes Lernen orientiert sich enger am biologischen Vorbild, indem f¨ur eine Eingabe nicht feststellbar ist, ob sie richtig oder falsch ist. Lediglich die Ausgaben k¨onnen auf Korrektheit gepr¨uft werden. Dieses Verfahren ist deutlich weniger effi- zient als das erstgenannte.

Bei der Anwendung des nicht ¨uberwachten Lernens erkennt das Netz selbst, wel- che Reaktion auf die Ausgabedaten korrekt sind. Ein Anwendungsbeispiel ist das Clustering, bei dem Daten in Klassen eingeteilt werden, ohne daß vorher Art und Umfang der Klasseneinteilung bekannt sind.

3.6 Bayes’sche Netze

Bayes’sche Netze sind gerichtete, azyklische Graphen. Jeder Knoten steht f¨ur eine Variable, die mit einem Wahrscheinlichkeitswert behaftet ist. Die Kanten modellie- ren die Abh¨angigkeiten zwischen denselben. Ein klassisches Bayes’sches Netz enth¨alt nur diskrete Variablen, was bedeutet, daß jeder Knoten eine Menge an Zust¨anden besitzt, die er einnehmen kann. Des Weiteren ist jedem Knoten eine Tabelle zu- geordnet, welche die bedingten Wahrscheinlichkeiten f¨ur einen seiner Zust¨ande in Abh¨angigkeit von den Zust¨anden seiner Elternknoten enth¨alt.

Diese Wahrscheinlichkeitstabelle kann f¨ur einen Knoten X auch als Funktion ψ:Eltern(X)∪X →[0,1]

(30)

betrachtet werden. Das Bayes’sche Netz wird durch seine Struktur und die Wahr- scheinlichkeitstabelle komplett bestimmt.

Abbildung 3.3 zeigt exemplarisch ein Bayes’sches Netz mit f¨unf Knoten. Es wird ein Alarm auf einer Krankenhausstation modelliert und ob dann eine Schwester oder ein Arzt eintreffen. Die Knoten enthalten nur boolsche Variablen (W f¨ur wahr und F f¨ur falsch), haben also nur zwei Zust¨ande. Aus Gr¨unden der ¨Ubersichtlichkeit wurden die Wahrscheinlichkeiten f¨ur den Zustandfalsch in den Tabellen weggelas- sen, da gilt: P(X =F|Eltern(X)) = 1−P(X = W|Eltern(X)) . Das Netz l¨aßt

Abbildung 3.3: Beispiel eines Bayes’schen Netzes sich folgendermaßen interpretieren:

Ein Sensor versagt mit einer h¨oheren Wahrscheinlichkeit (0,002), als daß es zu ei- nem Notfall (Herzversagen) kommt (Wahrscheinlichkeit 0,001).

Die Ausl¨osung des Alarms h¨angt davon ab, ob es ein Herz- oder Sensorversagen gab.

Die Wahrscheinlichkeit f¨ur einen Alarm nur aufgrund eines Herzversagens ist dabei h¨oher (0,94) als nur auf Grund eines Sensorversagens (0,29). Bei einem Sensorfehler wird der Alarm demnach mit 71% Wahrscheinlichkeit nicht ausgel¨ost. In ¨außerst seltenen F¨allen treten Fehlalarme ohne Herz- oder Sensorversagen auf (0,001).

Bei einem Alarm erscheint immer eine Schwester (Wahrscheinlichkeit 1,00), dies ist eine h¨ohere Wahrscheinlichkeit, als das Erscheinen eines Arztes (0,80). Allerdings kommt eine Schwester auch ohne Alarm f¨unfmal ¨ofter vorbei als ein Arzt (Schwe- ster: 0,05; Arzt: 0,01).

Insofern der Zustand eines Knotens bekannt ist, kann daraus auf die Wahrschein- lichkeiten f¨ur die Zust¨ande der anderen Knoten geschlossen werden. Diese Zustands- kenntnis nennt man Evidenz, den Schlußvorgang Inferenz. In Bezug auf Abb. 3.3 bedeutet dies, daß errechnet werden kann, mit welcher Wahrscheinlichkeit ein Herz- versagen stattfand, wenn ein Arzt erscheint. F¨ur den Fall, daß die Evidenz des Endknotens bekannt ist und die dazu erkl¨arenden Gewichtungen der anderen Kno- ten berechnet werden sollen, ist diese Eigenschaft unabdingbar.

Man unterscheidet anhand der Struktur zwischen einfachen und komplexen Bayes’schen Netzen, jedoch ist diese Einteilung eher subjektiver Natur. Komplexe Netze klassi- fizieren erwiesenermaßen viel besser als einfache, haben aber den Nachteil, daß sie langsam lernen und zum ¨Ubertrainieren (Auswendiglernen) neigen.

(31)

3.6.1 Bayestheorem

Die Grundlage f¨ur Bayes’sche Netze ist das Bayestheorem, welches nach dem engli- schen Mathematiker Thomas Bayes benannt wurde. F¨ur zwei Ereignisse lautet die Formel (vgl. [Cleve & L¨ammel, 2004] S. 81):

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

Dabei ist P(B|A) die Wahrscheinlichkeit f¨ur das EreignisB unter der Bedingung, daß A auftritt. F¨ur endlich viele Ereignisse l¨aßt sich das Bayestheorem unter Ver- wendung der Definition f¨ur bedingte Wahrscheinlichkeiten formulieren (P(A|B) =

P(AB)

P(B) ). Sei Ai mit i= 1, . . . , n eine Zerlegung des Ereignisraumes in disjunkte Ereignisse, so gilt:

P(Ai|B) =P(B|Ai)∗P(Ai)

P(B) = P(B|Ai)∗P(Ai) Pn

j=1P(B|Ai)∗P(Ai)

3.6.2 Naive Bayes

Eine Sonderform Bayes’scher Netze ist das Naive Bayes Verfahren. Es basiert auf der Grundannahme, daß jedes Attribut lediglich vom Klassenattribut abh¨angt.

p(C|F1, . . . , Fn)

Insofern die Zahl der Attribute n sehr hoch ist, oder ein Attribut sehr viele Aus- pr¨agungen annehmen kann, ist es problematisch, dieses Modell mit Wahrheitstabel- len zu beschreiben. Unter Verwendung des Bayestheorems (s. 3.6.1) gilt:

p(C|F1, . . . , Fn) = p(C)p(F1, . . . , Fn|C) p(F1, . . . , Fn)

Hierbei ist lediglich der Z¨ahler des Bruches von Interesse, da der Nenner nicht von C abh¨angt und aufgrund der Tatsache, daß die Werte der Attribute Fi bekannt sind, konstant ist. Der Z¨ahler kann unter Nutzung der Definiton f¨ur die bedingte Wahrscheinlichkeit umformuliert werden:

p(C, F1, . . . , Fn) = p(C)p(F1, . . . , Fn|C)

= p(C)p(F1|C)p(F2, . . . , Fn|C, F1)

= p(C)p(F1|C)p(F2|C, F1)p(F3, . . . , Fn|C, F1, F2) usw. . . .

Hier kommt nun die Annahme hinzu, daß alle AttributeFivoneinander unabh¨angig sind. Dies ist in der Realit¨at relativ selten, daher ist diese Annahme ”naiv“, was zu dem Namen der Methode f¨uhrte. Trotzdem erzielen Naive Bayes Klassifikatoren in der Praxis h¨aufig gute Ergebnisse, unter der Bedingung, daß die Attribute nicht zu stark korreliert sind. F¨ur jedes Merkmal Fj, unter der Bedingung, daß j 6= i bedeutet dies, daß:

p(Fi|C, Fj) =p(Fi|C) Hieraus ergibt sich die Gesamtformel:

p(C, F1, . . . , Fn) =p(C)p(F1|C)p(F2|C)p(F3|C). . .=p(C)

n

Y

i=1

p(Fi|C).

(32)

Unter der Annahme der Attributunabh¨angigkeit kann die Wahrscheinlichkeitsver- teilung ¨uber der KlasseC demnach wie folgt formuliert werden:

p(C|F1, . . . , Fn) = 1 Zp(C)

n

Y

i=1

p(Fi|C)

Hierbei istZ ein Faktor zur Skalierung, der lediglich auf den Werten der Attribute F1, . . . , Fn beruht. F¨ur den Fall, daß alle Auspr¨agungen der Attribute bekannt sind, istZ konstant.

Der Klassifikator arbeitet auf Basis des sogenanntenMaximum A Posteriori Prin- zips (kurz:MAP), welches stehts die wahrscheinlichste Hypothese ausw¨ahlt.

Bei zu starker Attributabh¨angigkeit gibt es eine Erweiterung des Klassifikationsver- fahrens in Form eines Baumes zwischen den Attributen. Dieser wird Baumerweiter- ter naiver Bayes-Klassifikator genannt [Wikimedia Foundation].

Ein wesentlicher Grund f¨ur die Anwendung des Naive Bayes Verfahrens im Rahmen dieser Arbeit ist neben den guten Ergebnissen ebenso die hohe Geschwindigkeit des Klassifikators.

3.6.3 Bayes’sche Netze versus Neuronale Netze

Aufbau und Methoden beider Netztypen erscheinen ¨ahnlich, jedoch existieren Un- terschiede teils gr¨oßerer Natur, die im Folgenden kurz betrachtet werden sollen (nach [Russell & Norvig, 1995], [Graf, 2005]).

Zum einen sind Bayes’sche Netze

”offen“, man kann die Wahrheitstabellen der ein- zelnen Knoten betrachten und gegebenenfalls anpassen. Es ist erkennbar, welche Werte bestimmtes Netzverhalten erzeugen. Neuronale Netze dagegen repr¨asentieren ihr gelerntes Wissen als Ganzes und lassen keine R¨uckschl¨usse durch die Betrach- tung einzelner Neuronen zu.

Andererseits ist die Inferenz bei Neuronalen Netzen deutlich schneller als bei Bayes’- schen Netzen. Daf¨ur sind entsprechende Bayes’sche Netze teils erheblich kleiner als die entsprechenden neuronalen Varianten.

Des Weiteren kann man Bayes’sche Netze bereits vor Beginn der Lernphase mit sinn- vollen Vorgaben f¨ur die Wahrheitstabellen f¨ullen und so den Lernprozeß abk¨urzen.

Dies bedeutet, daß ein solches Netz bereits im untrainierten Zustand brauchbare Resultate liefern kann. In [Younes, 1998] wurde die Eignung Bayes’scher Netze f¨ur Echtzeitanwendungen hinsichtlich ihrer Inferenzgeschwindigkeit untersucht und f¨ur gegeben erachtet.

Bei Neuronalen Netzen ist die Inferenzrichtung durch die Ein- und Ausgabeneuro- nen festgelegt, w¨ahrend die Bayes’schen Netze Inferenz in jede Richtung durchf¨uhren k¨onnen.

Auch k¨onnen Bayes’sche Netze eine feiner strukturierte Ausgabe erzeugen, da sie f¨ur ihre ggf. mehreren Ausgabeknoten eine zweidimensionale Ausgabe haben (Zu- stand plus Wahrscheinlichkeiten f¨ur jeden Zustand).

Im Hinblick auf andere Arbeiten ([Picard, 2001], [Kort, 2001], [Picard, 1998]) und darauf, daß im Projekt bereits gute Erfahrungen mit Bayes’schen Netzen gesammelt wurden ([Graf, 2005], [Morgenstern, 2005]), werden diese somit als Klassifikations- algorithmus bevorzugt. Auch wurde in den Tests, in denen Weka-eigene Mittel f¨ur Neuronale Netze eingesetzt wurden (MultiLayerPerceptron), eine unverh¨altnism¨aßig hohe Zeitdauer f¨ur das Trainieren des Netzes festgestellt. Die Ergebnisse desselben lagen indessen nicht wesentlich ¨uber denen des Bayes’schen Netzes oder des J48 Entscheidungsbaumes.

(33)

3.7 Sequential Floating Forward Search

Hinter der Idee des Sequential Floating Forward Search Algorithmus (SFFS) steckt der Versuch, die Vorw¨artssuche derart zu modifizieren, daß auch Merkmalskombi- nationen auftreten k¨onnen, die in zweitgenanntem Verfahren nicht erreicht werden.

Dies verhindert den Effekt, daß zuerst optimal erscheinende Merkmale das Ergeb- nis im sp¨ateren Verlauf wieder verschlechtern, d.h. in Kombination keine geeignete Auswahl darstellen. Man bezeichnet diesen Effekt als

”Nesting“. Bei gew¨ohnlichen Vorw¨artssuchverfahren f¨uhrt dies dazu, daß der Klassifikationsfehler auf subopti- malem Niveau stagniert, da hier einmal gew¨ahlte Merkmale nicht mehr zur¨uckge- nommen werden k¨onnen.

Der SFFS Algorithmus soll dies verhindern, indem R¨uckw¨artschritte eingef¨uhrt wer- den, die daf¨ur verantwortlich sind, daß Merkmale, die das Ergebnis verschlechtern, wieder aus der Auswahl entfernt werden.

Hierbei wird nach jeder Merkmalshinzunahme auf m¨ogliche R¨uckw¨artsschritte ge- testet. Hierzu wird das Ergebnis der Merkmalsauswahl mit dem der reduzierten Auswahl verglichen. Ist das Ergebnis der reduzierten Auswahl besser, so wird die Reduktion durchgef¨uhrt und das Ergebnis wiederum mit dem einer nochmal re- duzierten Auswahl verglichen. Dieser Vorgang wird solange wiederholt, bis keine Verbesserung des Ergebnisses durch Reduktion mehr erzielt wird. Nach Durchlau- fen der R¨uckw¨artsschritte wird wieder ein Merkmal hinzugef¨ugt, und der Ablauf beginnt erneut. Dies geschieht solange, bis die optimale Merkmalskombination ge- funden wurde, d.h. keine Verbesserung des Ergebnisses durch Hinzunehmen oder Wegnehmen eines Merkmals mehr auftritt. Der schematische Ablauf der Kernfunk- tion der SFFS-Klasse wird aus Abbildung 3.4 ersichtlich. Eine Beschreibung des Algorithmus in Pseudocode liefert Abb. 3.5.

Aufgrund der nicht statisch festgelegten Anzahl der R¨uckw¨artsschritte z¨ahlt der Algorithmus zu den Floating-Search-Verfahren. Es bedarf keiner Parametereinstel- lungen vor dem Start, bis auf die maximal Menge der gew¨unschten Merkmale. Bei der Implementierung ist darauf zu achten, daß Endlosschleifen vermieden werden, was speziell dann passiert, wenn ein soeben hinzugef¨ugtes Merkmal sofort wieder entfernt wird. Allgemein l¨aßt sich feststellen, daß keine Selektionszust¨ande erreicht werden d¨urfen, in denen man sich vorher schon einmal befand.

Dies ist umsetzbar, indem alle Merkmalsmengen gespeichert und beim Bilden einer neuen mit dieser verglichen werden. Bei einer ¨Ubereinstimmung wird nach einer neuen - noch nicht vorhandenen - Merkmalsmenge gesucht.

Die Funktionalit¨at wurde dahingehend erweitert, als daß nach jedem Durchlauf die Fehlerwerte verglichen werden. Falls sich keine Verbesserung einstellt, die einen ein- stellbaren Wert (m delta) ¨ubersteigt, wird der Algorithmus beendet. Dies soll dazu f¨uhren, daß unverh¨altnism¨aßig lange Laufzeiten vermieden werden. Eine Verbesse- rung im Hunderstel- oder Tausendstelbereich der Fehlerrate ist nicht wirklich von Belang, wenn die Laufzeit daf¨ur massiv ansteigt.

Der Algorithmus gilt nach [Kudo & Sklansky, 1999] als pr¨adestiniert f¨ur Klassifi- kationsprobleme kleinerer bis mittlerer Art. Bei hochkomplexen Problemen wird er durch genetische Algorithmen ausgestochen, die jedoch eine wesentlich l¨angere Laufzeit ben¨otigten.

3.7.1 Testfunktion

Die Testfunktion dient dazu, f¨ur eine ¨ubergebene Menge an Klassifikationsattributen eine Fehlerklassifikationsrate festzustellen und diese zur¨uckzugeben. In [Picard, 2001]

wurde als Testfunktion eink-NN Algorithmus verwendet. Im Rahmen dieser Arbeit

(34)

Abbildung 3.4: Ablauf: Sequential Floating Forward Search

wurde im Gegensatz dazu der Schwerpunkt auf Bayes’sche Netze gelegt, da diese auch im Rahmen des Sensorboards genutzt werden. Zur besseren Vergleichsm¨oglich- keit wurde die Testfunktion so implementiert, daß verschiedene Klassifikationsal- gorithmen genutzt werden k¨onnen. Hierzu wurden folgende Funktionen aus dem Weka-Packet benutzt:

• Naive Bayes

• Bayes Network

• J48

Bei Aufruf der Funktion wird die eingestellte Klassifizierungsfunktion aufgerufen und der durchschnittliche absolute Fehler (engl. mean absolute error) ausgelesen und an die SFFS-Routine zur¨uckgegeben.

Analog zu [Picard, 2001] besteht jedoch die M¨oglichkeit, die vom SFFS vorselek- tierten Daten in die Fisherprojektion zu geben. Dadurch ergibt sich ein hybride Funktion aus SFFS und Fisherprojektion (vgl. 3.8).

Referenzen

ÄHNLICHE DOKUMENTE

Adjustable are arrow width (rule lift in the figure), arrow color (rule support) and circle color (itemset support).. Arrows do not cross, although they can overlap depending on

Eektiver wird das Smart Home, wenn die Geräte nicht nur über eine grasche Bedienoberäche, sondern auch multimodal, also über Sprache oder Mimik und Gestik, gesteuert werden können..

Beschreibung Pro Attribut kann ausgewählt werden, ob es nicht, ma- nuell oder automatisch gruppiert werden soll..

Dazu gehört das Meta- Metamodell, welches die Strukturen und Eigenschaften des Metamodells beschreiben. Dieses beschreibt wiederum die abstrakte Syntax und

Im vierten Kapitel wird beschrieben, welche Fehlersituationen im alltäglichen Betrieb eines Data Warehouse uns Business Intelligence Systems auftreten können und mit welchen

Der CryptoProxy ist ein Teil vom gesamten System, welches das Smart Metering zur Verfügung stellt. Smart Meter und Smart Meter Gateway sind zwar Teile des Systems, jedoch

Bei der Clusteranalyse werden die Objekte repräsentierender Datensätze zu Gruppen (Cluster) dahingehend zusammengefasst, dass die Datensätze innerhalb eines Clusters

Zum Einen las- sen sich die SQL-Abfragen auch bei ähnlichen Problemstellungen meist nicht wie- der verwenden, weil sie für die eine bestimmte Problemlösung optimiert wurden, zum