Otto-Friedrich-Universität Bamberg Erkennung von Schmerz anhand

Werbung
Otto-Friedrich-Universität Bamberg
Fakultät Wirtschaftsinformatik und
Angewandte Informatik
Projekt Kognitive Systeme - Das Schmerzgesicht
Projektbericht
Erkennung von Schmerz anhand
FACS-codierter Gesichtsausdrücke
mithilfe maschineller Lernverfahren
Jan Boockmann (Matr. Nr. 1748109)
Andreas Böhler (Matr. Nr. 1465642)
Betreuer: Michael Siebers
WS 2015/2016
31. März 2016
Zusammenfassung
Das Bachelor-Projekt der Professur für Kognitive Systeme im Wintersemester 2015/16 widmete sich der Frage, ob und wie sich die Gesichtsausdrücke,
die entstehen, wenn Menschen Schmerz empfinden, von neutralen Gesichtsausdrücken und solchen, die entstehen, wenn Ekel empfunden wird, voneinander unterscheiden. Alle Projektgruppen arbeiteten dafür mit Versuchsdaten, die aus Experimenten entstanden, bei denen Versuchspersonen entweder
Schmerz, Ekel oder ein neutrales Gefühl induziert werden sollte. Diese Daten
lagen bereits symbolisch aufbereitet in Form einer PostgreSQL-Datenbank
vor. Durch die Auswahl geeigneter Attribute, das anschließende Erstellen
entsprechender SQL-Views und das Anwenden zweier Lernverfahren in RapidMiner - einem Framework für maschinelles Lernen - sollte herausgefunden werden, inwiefern das automatische Klassifizieren von Schmerz basierend auf FACS codierten menschlichen Gesichtsausdrücken möglich ist. Dieser Projektbericht stellt die Ergebnisse einer von drei Projektgruppen dar.
Der Bericht liefert eine Erklärung zu theoretischen Hintergründen bezüglich
Schmerz, des Facial Action Coding System, und eine kurze Einführung in Maschinelles Lernen und RapidMiner. Anschließend werden die beiden gewählten
Lernverfahren, Entscheidungsbaum und k-nächste Nachbarn, vorgestellt und
auf den jeweiligen Aufbau in RapidMiner und die erarbeiteten Ergebnisse
eingegangen.
2
Inhaltsverzeichnis
1 Einleitung
1.1 Datenbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Theoretischer Hintergrund
2.1 Schmerz . . . . . . . . . .
2.2 FACS . . . . . . . . . . .
2.3 Maschinelles Lernen . . . .
2.4 RapidMiner . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
10
11
12
13
3 Attributauswahl
15
4 Lernverfahren
4.1 Entscheidungsbaum . . . . . . . .
4.1.1 Theoretischer Hintergrund
4.1.2 Aufbau . . . . . . . . . . .
4.2 k-nächste Nachbarn . . . . . . . .
4.2.1 Theoretischer Hintergrund
4.2.2 Erster Ansatz . . . . . . .
4.2.3 Zweiter Ansatz . . . . . .
4.2.4 Dritter Ansatz . . . . . .
4.2.5 Evaluation . . . . . . . . .
18
18
18
19
23
24
26
27
28
30
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Fazit
32
Literaturverzeichnis
34
A Tabelle relevanter Action Units
36
B Verwendete Attribute
36
C RapidMiner Operatoren
C.1 Retrieve . . . . . . . . . . .
C.2 Apply Model . . . . . . . .
C.3 k-NN . . . . . . . . . . . . .
C.4 Decision Tree . . . . . . . .
C.5 Optimize Parameters (Grid)
C.6 X-Validation . . . . . . . . .
37
37
38
38
39
39
40
.
.
.
.
.
.
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
C.7 Performance (Classification) .
C.8 Weight by Information Gain .
C.9 Principal Component Analysis
C.10 Scale by Weights . . . . . . .
C.11 Nominal To Numerical . . . .
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
42
42
43
Abbildungsverzeichnis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Datenbasis als Datenbankschema . . . . . . . . . . . . . . .
Gesichtsausdrücke der Action Units 1-2 und 4-7 . . . . . . .
Graphische Benutzeroberfläche von RapidMiner 5.3.015 . . .
Die oberste Ebene des Entscheidungsbaumaufbaus, die die
Versuchsdaten und den Operator zur Parameteroptimierung
enthält. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Optimierungsoperator enthält die Batch-X-Validation. .
Der Aufbau der zweiten Unterebene des Entscheidungsbaumprozesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Einstellungen für unseren Entscheidungsbaum . . . . . .
Der fertige Entscheidungsbaum . . . . . . . . . . . . . . . .
Die Tabellenansicht des RapidMiner PerformanceVector . . .
K-Nächste-Nachbarn in einem zweidimensionalen Datensatz
k-NN erster Ansatz: Hauptprozess . . . . . . . . . . . . . . .
k-NN erster Ansatz: Optimierungsprozess . . . . . . . . . . .
k-NN erster Ansatz: Validierungsprozess . . . . . . . . . . .
k-NN zweiter Ansatz: Hauptprozess . . . . . . . . . . . . . .
k-NN dritter Ansatz: Hauptprozess . . . . . . . . . . . . . .
k-NN dritter Ansatz: Optimierungsprozess . . . . . . . . . .
6
. 10
. 12
. 14
. 20
. 21
.
.
.
.
.
.
.
.
.
.
.
21
22
22
23
25
26
27
27
28
29
30
Tabellenverzeichnis
1
2
3
4
5
Beschreibung der aggregierten Attribute . . .
Konfusionsmatrix des ersten k-NN Ansatzes .
Konfusionsmatrix des zweiten k-NN Ansatzes
Konfusionsmatrix des dritten k-NN Ansatzes .
Beschreibung relevante Action Units . . . . .
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
27
28
30
36
1
Einleitung
Ziel des Bachelor-Projekts am Lehrstuhl Kognitive Systeme im Wintersemester 2015/16 war es, zu untersuchen, wie sich Gesichtsausdrücke von Menschen, die Schmerz empfinden, von Gesichtsausdrücken unterscheiden, die
entstehen, wenn Menschen Ekel empfinden. Um dieses Ziel zu erreichen, arbeiteten alle Gruppen mit Daten, eines Versuches der Physiologischen Psychologie, während dem Probanden diese Mimik zeigten. Diese Daten lagen bereits symbolisch ausgewertet in Form von sogenannten Action Units
(siehe Kapitel 2.2) vor. Um aus diesen Daten abstrakte Beschreibungen
für Schmerz zu generieren, wurde auf Methoden des Maschinellen Lernens
zurückgegriffen. [Sie15]
Der Projektbericht ist wie folgt strukturiert: Das folgende Unterkapitel 1.1 beschreibt die vorhandene Datenbasis. Kapitel 2 erläutert wichtige
Grundbegriffe der Bereiche Schmerz (Kapitel 2.1), FACS (Kapitel 2.2), Maschinellem Lernen (Kapitel 2.3) und RapidMiner (2.4). Das Kapitel 3 beschreibt die von uns vorgenommene Attributauswahl. Kapitel 4 stellt die zwei
verwendeten Lernverfahren vor. Kapitel 4.1 stellt den Entscheidungsbaum
und Kapitel 4.2 das k-nächste-Nachbarn Verfahren vor. Kapitel 5 beschreibt
ein Fazit des Projekts. Im Anhang findet sich Hintergrundinformationsmaterial beziehungsweise detailliertere Aufzeichnungen, auf welche im Laufe des
Berichtes an geeigneter Stelle verwiesen wird.
1.1
Datenbasis
Die durch die Experimente erhobenen Daten lagen in mehreren Tabellen in
Form einer PostgreSQL Datenbank vor. Abbildung 1 verdeutlicht die Zusammenhänge zwischen den einzelnen Tabelle graphisch mithilfe eines Datenbankschemas.
9
Abbildung 1: Datenbasis als Datenbankschema
Im Folgenden werden die relevanten Aspekte der Datenbasis kurz erläutert:
Für die einzelnen Versuchspersonen ist das Geschlecht (männlich, weiblich
oder keine Angabe), das Alter und die Größe in Zentimeter und eine eindeutige Identifikationsnummer angegeben. Jede Versuchspersonen hat an mehreren Experimenten teilgenommen, jedoch nicht mehr als einmal für den selben
Experimenttyp. Als Experimenttyp sind Schmerz, Ekel oder Neutral möglich,
wobei der Typ jeweils angibt welche Emotion versucht wurde zu induzieren.
Für die einzelnen Durchläufe wiederum wurde vermerkt wann welche Action
Unit wie lange und mit welcher Stärke auftrat.
2
Theoretischer Hintergrund
Die folgenden Unterkapitel erläutern wichtige theoretische Konzepte, welche
relevant für den weiteren Projektbericht sind.
2.1
Schmerz
Gemäß [Psy15b] ist Schmerz eine als unangenehm wahrgenommene Erfahrung und tritt bei Verletzung der Körperoberfläche, bei Reizung innerer
Organe und ferner bei überstarker Reizung eines Rezeptors auf. Die Empfindlichkeit für Schmerz ist je nach Person und Situation sehr verschieden.
10
Im medizinischen Krankheitsmodell gilt Schmerz als Signal für körperliche
Schädigung.
Die Schmerzreaktion wird nach Fordyce [siehe For76] in einem trimodalen
Modell operationalisiert.
(1) Offenes Schmerzverhalten: Klagen über Schmerz und nonverbales Schmerzverhalten (Mimik, Gestik)
(2) verdecktes Schmerzverhalten: Gedanken, Gefühle und Vorstellungen
(3) physiologische Schmerzreaktion: Veränderungen kardiovaskulärer Parameter, Atmung, Muskelspannung etc.
In dem Experiment, aus dem die im Projekt verwendeten Daten entstanden sind, wurde den Versuchspersonen physischer Schmerz induziert und deren im Verlauf des Experimentes gezeigte Mimik notiert. Diese Daten fallen
somit in die Kategorie des offenen Schmerzverhaltens.
2.2
FACS
Das Facial Action Coding System (FACS) wurde 1978 von den Psychologen
Ekman und Friesen [siehe EF78] aufgestellt und beschreibt ein umfassendes
Kategoriensystem zur Erfassung von visuell unterscheidbaren Gesichtsbewegungen. Eine Gesichtsbewegung besteht aus mehreren Beobachtungseinheiten welche als Action Unit (AU) bezeichnet werden. Jede AU bezieht sich auf
eine bestimmte Muskelpartie im Gesicht und basiert somit auf der funktionellen Anatomie und nicht auf einer sprachlichen Beschreibung. Es können
neben Fotografien auch Videoaufnahmen mit FACS kodiert werden. Dabei
können zu einem bestimmten Zeitpunkt auch mehrere AUs auftreten. Für die
auftretenden AUs werden meist Anfangs- und Endzeitpunkte notiert. Zudem
können für einige AUs auch die Intensität mithilfe einer fünfstufigen Skala erfasst werden. Dabei steht A für die geringste Intensität und E für die stärkste
Intensität. Mit dieser detaillieren Beschreibung ist es dann möglich, den Aufbau, Höhepunkt und das Ausklingen einer bestimmten AU zu erfassen [siehe
Psy15a].
Das FACS beinhaltet insgesamt 44 unterschiedliche Action Units. Davon
umfasst das Obergesicht 12 und das Untergesicht 32. Die Action Units im
Untergesicht werden zudem hinsichtlich ihrer Richtung der Bewegung unterteilt. Gesichtsausdrücke von sechs beispielhaften Action Units werden in Abbildung 2 dargestellt. Diese Abbildung basiert auf der Arbeit von [TKC01].
11
Für den Projektbericht relevante Action Units werden im Anhang in der Tabelle 5 erläutert.
(a) Action Unit 1
(b) Action Unit 2
(c) Action Unit 4
(d) Action Unit 5
(e) Action Unit 6
(f) Action Unit 7
Abbildung 2: Gesichtsausdrücke der Action Units 1-2 und 4-7
Mithilfe des FACS können also Gesichtsausdrücke detailliert und objektiv
gemessen werden. Jedoch liegt das Problem bei solchen System stets darin,
dass nur das beobachtet werden kann, was vorher als relevant definiert wurde. Die Ausführlichkeit des FACS führt dazu, dass eine vergleichbar gute
objektive Erfassung des Gesichtsausdrucks möglich ist. Jedoch benötigt eine
Person circa 100 Stunden Training bis diese ein Gesicht nach FACS korrekt
kodieren kann [siehe Fun03].
2.3
Maschinelles Lernen
Der Bereich Maschinelles Lernen beschäftigt sich mit der Frage wie man Programme entwickeln kann, welche mit Erfahrung automatisch besser werden
[siehe Mit97]. Die Entscheidungen eines solchen Systems basieren also auf
dessen gemachter Erfahrung. Dazu reicht es nicht aus die Daten lediglich
zu speichern, vielmehr muss aus diesen neue Information gewonnen werden.
Diese neue Information könnte ein bestimmtes Muster in den Daten sein,
12
welches dem System ermöglicht zukünftige unbekannte Eingaben richtig zu
klassifizieren.
Im Folgenden werden einige Begriffe aus dem Bereich Maschinelles Lernen erklärt. Ein Datensatz besteht aus mehreren Attributen und einer ihm
zugeordneten Klasse. Trainingsdaten sind eine Menge von Datensätzen mit
bekannten Attributwerten und Klassenausprägung. Ein Programme welches
aus Trainingsdaten ein allgemeines Modell zur Klassifikation erstellt nennt
man in diesem Zusammenhang ein Lernverfahren. Mithilfe des konstruierten
Modells kann nun für einen Datensatz mit unbekannter Klassenausprägung
diese geschätzt“ werden. Wie gut ein Lernverfahren unbekannte Daten klas”
sifiziert lässt sich mit statistischen Kennwerten wie accuracy, precision oder
recall beschreiben. Die Konfusionsmatrix gibt an wie Datensätze klassifiziert
wurden und welche Klasse sie eigentlich besaßen.
Im Projekt wurden die beiden Lernverfahren Entscheidungsbaum und knächste Nachbarn auf die vorhandenen Daten angewandt.
2.4
RapidMiner
RapidMiner ist ein Java Framework für maschinelles Lernen und Data-Mining.
Es wurde seit 2001 vom Lehrstuhl für künstliche Intelligenz der Technischen
Universität Dortmund unter dem Namen YALE (“Yet Another Learning Environment”) entwickelt und im Jahre 2007 zu RapidMiner umbenannt. RapidMiner verwendet das Business Source Modell, wodurch die aktuellste Version proprietäre erhältlich ist und die jeweilige Vorversion als Open-SourceSoftware verfügbar ist [siehe Mie13].
13
Abbildung 3: Graphische Benutzeroberfläche von RapidMiner 5.3.015
Die Interaktion mit RapidMiner ist sowohl über die Java-API, per Kommandozeile als auch graphischer Benutzeroberfläche möglich. Ausführbare
Aktionen werden dabei als Operatoren modelliert und können beliebig hintereinander geschaltet und teilweise auch ineinander geschachtelt werden. Jeder
Operator verfügt über Eingangs- und Ausgangsports, welche den internen
Datenfluss repräsentieren. Die Ausgangsports enthalten die vom Operator
bereitgestellten Daten und können mit Eingangsports von anderen Operatoren verbunden werden. Über die Eingangsports eines Operators werden
diesem die für die Berechnung benötigten Daten zugeführt. Die Ports der einzelnen Operatoren können in der graphischen Benutzeroberfläche händisch
miteinander verbunden werden. Zudem verfügt ein Operator auch noch über
weitere Einstellungsmöglichkeiten. RapidMiner beinhaltet bereits mehr als
500 Operatoren für diverse Aufgaben bezüglich Datenvorverarbeitung, maschinelles Lernen und statistischer Aufbereitung. RapidMiner findet sowohl
in der Forschung, als auch in industriellen und wirtschaftlichen Bereichen
Anwendung.
Eine Auflistung der verwendeten Operatoren befindet sich im Anhang unter Kapitel C. RapidMiner wurde in der Version 5.3.015 verwendet und steht
online unter https://github.com/rapidminer/rapidminer-5 zur freien Verfügung.
14
3
Attributauswahl
Um auf die Daten aus den Tabellen mithilfe von RapidMiner zu lernen,
müssen diese zuerst in eine einzelne Tabelle übertragen werden. Jede Zeile der
Tabelle entspricht im Zuge dessen einem Versuchsdurchlauf. Dabei müssen
die vorhandenen Information sinnvoll aggregiert werden um möglichst wenig
Information zu verlieren und gleichzeitig nicht zu viele Attribute am Ende zu
erhalten. Zu viele Attribute können dazu führen, dass das Lernverfahren ineffizient wird und es zu einer Überanpassung (eng. Overfitting) kommt. Bei
einer Überanpassung klassifiziert das Modell die Trainingsdaten sehr gut,
klassifiziert neue Daten jedoch meist falsch. Dies kann dadurch entstehen,
dass sich einzelne Variablen wie eine Identifikationsnummer für einzelne Datensätze verhalten. Laut Vorgabe sollte die Tabelle am Ende circa 70 Attribute enthalten. Um herauszufinden welche Informationen besonders ausschlaggebend für eine gute Klassifikation sind erhielt jede Gruppe unterschiedlich
viele Informationen. Die eine Gruppe erhielt keine zeitlichen Informationen,
unsere Gruppe erhielt Informationen bezüglich der Dauer einzelner Action
Units und die letzte Gruppe erhielt zudem auch noch Informationen über
den Zeitpunkt des Auftretens. Die Attribute der Zieltabelle lassen sich in
aggregierte Attribute und feste Attribute unterteilen.
Die festen Attribute müssen nicht aggregiert werden und können direkt
aus den vorhandenen Tabelle übernommen werden . Dazu zählt die Identifikationsnummer des Versuchsdurchlaufes (sequence id), das Geschlecht
(gender) und das Alter (age) der teilnehmenden Versuchsperson. Wir haben
uns dazu entschieden das Attribut Höhe(height) nicht mit aufzunehmen,
da wir diesem keinen großen Einfluss auf das Schmerzempfinden zugesprochen haben und eine Gefahr durch Überanpassung vermeiden wollten. Zudem
wurde das Alter auf zwischen 18 und 30 inklusive eingeschränkt, da unserer
Annahme nach das Alter einen Einfluss auf das Schmerzempfinden hat. Wir
haben uns vom Entfernen der Ausreißer ein präziseres Modell für die Personen im oben definierten Altersbereich erhofft. Ausreißer bezüglich des Alters
lagen nur oberhalb der definierten Grenze, der Älteste davon mit 57 Jahren.
Eine Versuchsperson gab keine Angabe bezüglich Alter an und wird somit
ebenso nicht weiter betrachtet. Durch diese Entscheidung blieben von 259
Versuchsdurchläufen noch 239 übrig.
Zu jedem Versuchsdurchlauf existiert auch noch ein sogenannter fold,
welcher die Daten in gleich große Teile aufspaltet. Dieser kann für eine spätere
Batch-X-Validation verwendet werden um so unterschiedliche Ansätze besser
15
miteinander vergleichen zu können. Da wir jedoch nicht mit den Originaldatensätzen gearbeitet haben, kann nicht automatisch gewährleistet werden,
dass der fold die Datensätze nun immer noch in gleich große Teile aufteilt.
Bei einer nachträglichen Betrachtung des fold Attributes hinsichtlich seiner Verteilung nach dem Entfernen der einzelnen Ausreißer“ konnten wir
”
feststellen, dass dieses die Datensätze nun nicht mehr perfekt teilt. Da wir
aber erst im Laufe des Projektes zu dieser Erkenntniss gekommen sind, befindet sich der fold noch in der Attributauswahl, wird jedoch später nicht
verwendet. Insgesamt erhält man so vier feste Attribute.
Die Anzahl der aggregierten Attribute ist im Vergleich zur Anzahl der
festen Attribute notwendigerweise um einiges höher, da dort die eigentlichen Informationen bezüglich des Schmerzausdrucks vorhanden sind. Das
endgültige Ziel war die Klassifikation nach Schmerz beziehungsweise kein
Schmerz. Um dieses Zweiklassenproblem zu modellieren bietet es sich an die
Art der Induktion (induction id beziehungsweise induction name) zu aggregieren und ein neues Attribut(pain) zu erstellen. Die Ausprägung YES
wird für Schmerzinduktionen und die Ausprägung NO für Neutral - und Ekelinduktion verwendet. Die Anzahl der gezeigten Action Units wird durch das
Attribut amount ausgedrückt. Die restlichen aggregierten Attribute beziehen
sich auf das Auftreten bestimmter Action Units innerhalb eines Versuchsdurchlaufes. Diese werden unterschiedlich behandelt je nachdem ob sie in
der Literatur eng mit Schmerz verbunden sind oder nicht.
Mit Schmerz assoziierte Action Units sind nach [LCL+ 09] und [SSS+ 12]
vor allem 4, 6, 7, 9, 10 und 43. Da sich sowohl die Action Units 6 und 7
als auch 9 und 10 untereinander nur schwer unterscheiden lassen, haben wir
uns entschlossen diese zusammenzufassen. Für diese Action Units werden
die in Tabelle 1 dargestellten Informationen erfasst. Dabei steht das ? im
Attributnamen für die jeweilige Action Unit. Für die Action Units 9 und 10
würden sich die Attribute amount0910 rel, wdur0910 rel, wint0910 rel,
wdurint0910 und wdurint0910 rel ergeben. Eine Ausnahme bildet die Action Unit 43 (“Blinzeln”), da diese keine Intensität besitzt und somit nur die
Attribute amount43 rel und wdur43 rel verwendet werden.
Tabelle 1: Beschreibung der aggregierten Attribute
16
Attributname
amount? rel
wdur? rel
wint? rel
wdurint?
wdurint? rel
Beschreibung
relative Häufigkeit dieser AU
Durchschnittsdauer
Durchschnittsintensität
Summe aus Intensität und Dauer
Durchschnitt aus Summe über Intensität und Dauer
Für die restlichen 25 Action Units werden nur die Attribute amount? rel
und wdurint? rel ermittelt, da diese für die Klassifikation weniger wichtig
sind als die oben genannten Schmerz relevanten. Eine Auflistung aller Attribute findet sich im Anhang unter Kapitel B. In Summe erhält man nun aus
4 feste Attribute und 69 aggregierten Attribute - davon 17 für schmerzrelevante, 50 für nichtschmerzrelevante Action Units und 2 sonstige - insgesamt
73 Attribute.
17
4
Lernverfahren
In diesem Kapitel werden die beiden Lernverfahren vorgestellt, die von unserer Projektgruppe mithilfe von RapidMiner umgesetzt wurden. Im ersten
Unterkapitel wird das Verfahren des Entscheidungsbaumes vorgestellt. Dieses
Unterkapitel beginnt mit einem theoretischen Teil, in dem die Eigenschaften
und der Aufbau eines Entscheidungsbaumes dargestellt werden. Anschließend wird der Aufbau des während des Projektes erarbeiteten Entscheidungsbaumes erläutert und der fertige Entscheidungsbaum abgebildet und
kurz besprochen. Das zweite Unterkapitel behandelt das k-nächste NachbarnVerfahren und beginnt ebenfalls mit einem theoretischen Abriss über das
Verfahren. Anschließend wird anhand von drei Ansätzen dargestellt, welche
unterschiedlichen Variationen über die Dauer des Projektes hin untersucht
wurden. Darauffolgend werden die einzelnen Variationen miteinander verglichen und evaluiert.
4.1
Entscheidungsbaum
Dieses Unterkapitel behandelt das Lernverfahren des Entscheidungsbaumes.
Nach einem kurzen theoretischen Unterkapitel über die Charakteristiken eines Entscheidungsbaumes und seines Aufbaus wird das Zustandekommen
des im Projekt erarbeiteten Baumes erläutert. In diesem zweiten Unterkapitel wird auch beschrieben, welche Action Units RapidMiner - im von uns
gewählten Aufbau - als die relevantesten im Bezug auf das Vorhersagen von
Schmerz erachtet.
4.1.1
Theoretischer Hintergrund
Entscheidungsbäume gehören zu den am häufigsten verwendeten Techniken
im Data Mining, was darin begründet ist, dass sie leicht zu verwenden und
auch leicht zu verstehen sind. Ein Entscheidungsbaum macht sich den so
genannten divide and conquer-Ansatz zu eigen. In jedem Schritt wird der
Datensatz in verschiedene Teile aufgeteilt, wobei jeder Teil ungefähr einer
der möglichen Klassen entsprechen sollte. In einem fertiggestellten Entscheidungsbaum stellt jeder innere Knoten einen Test für den Wert eines bestimmten Attributs und jedes Blatt die Entscheidung für eine bestimmte Klasse.
Für einen neuen Fall wird dann von oben der Baum durchgegangen, bis er
eines der Blätter erreicht. [HK13]
18
Zu Beginn wird eines der Attribute als Wurzelelement ausgewählt. Dann
wird ein Ast für jeden möglichen Attributwert geschaffen und Instanzen werden in Teilmengen aufgeteilt, also eine Teilmenge pro Ast, der aus dem Knoten hervorgeht. Diese Schritte werden rekursiv für jeden Ast wiederholt, mit
Instanzen, die an den Ast reichen. Der Konstruktionsprozess ist beendet,
wenn alle Instanzen dieselbe Klasse haben. [HK13]
Bei nominalen Attributen entspricht die Anzahl der Kinder in der Regel
der Anzahl an möglichen Werten, die dieses Attribut annehmen kann. Wenn
ein nominales Attribut in einem der inneren Knoten getestet wird, wird der
Datensatz in der Regel an diesem Punkt entsprechend der möglichen Werte
für dieses Attribut aufgeteilt. Ein nominales Attribut wird deswegen meist
nicht öfter als einmal getestet, da alle Beispiele weiter unten im Baum denselben Wert haben würden. Bei numerischen Attributen wird dagegen meist
getestet, ob der Wert des Attributs größer oder kleiner als ein bestimmter
Wert ist. Das Attribut kann dabei mehrmals getestet werden. [HK13]
Hofmann und Klinkenberg beschreiben die zentrale Frage beim Aufbau
eines Entscheidungsbaumes als die Frage, welches Attribut als nächstes getestet werden sollte. Das Ziel beim Erstellen eines Entscheidungsbaumes sei
es, einen kleinstmöglichen Baum als Ergebnis zu bekommen, da ein kleiner
Baum Daten am besten erklären könne und, verglichen mit einem komplexeren Baum, die Wahrscheinlichkeit, dass Fehler für ungesehene Daten auftreten, bei einem kleinen Baum am geringsten sei. Eine gebräuchliche Methode
zum Erreichen dieser Ziele ist, das Attribut als nächstes auszuwählen, das
in Bezug auf die Attribute die reinste“ Teilmenge erzeugt. Um dies zu er”
reichen wird in Rapidminer häufig der sogenannte information gain benutzt.
Dieser Operator wächst mit der durchschnittlichen Reinheit der Teilmengen.
Deswegen wir das Attribut gewählt, das pro Level für das größte information
gain sorgt. [HK13]
4.1.2
Aufbau
Der Aufbau des von uns benutzten Entscheidungsbaumes in RapidMiner orientiert sich an einem standardmäßigen Aufbau dieses Lernverfahrens. Auf der
obersten Ebene werden die durch unsere Views generierten Daten mit der Parameteroptimierung verbunden. Innerhalb des Parameteroptimierungsoperators befindet sich der Validierungsoperator. Die unterste Ebene des Aufbaus
ist in ein Trainings- und ein Testingfeld aufgeteilt. Im linken Trainingsfeld be19
findet sich der Entscheidungsbaumoperator und im Testingfeld der Operator
zur Andwendung des Modells und der Performanceoperator.
Folgende Einstellungen haben wir in den Optionen des Entscheidungsbaumes vorgenommen. Als Hauptkriterium haben wir den in Kapitel 3.1.1
erklärten information gain gewählt. Die maximale Tiefe des Baumes haben
wir auf 9 gesetzt, die minimale Anzahl an Blättern auf 2 und die minimal size
for split, die die Größte festlegt, ab der Knoten weiter aufgeteilt werden, auf
4. Mit diesen Einstellungen konnte nach einigen Versuchen herausgefunden
werden, dass sich ein minimal gain von 0,001 für unsere Zwecke gut eignet.
Wir haben Prepruning für die Generierung des Baumes aktiviert und das
Pruning deaktiviert. Prepruning verhindert das weitere Aufteilen von Knoten, wenn dadurch der gesamte Baum nicht an Trennschärfe gewinnt. Die
Anzahl der Prepruningalternativen haben wir auf 3 gesetzt.
Abbildung 4: Die oberste Ebene des Entscheidungsbaumaufbaus, die die Versuchsdaten und den Operator zur Parameteroptimierung enthält.
20
Abbildung 5: Der Optimierungsoperator enthält die Batch-X-Validation.
Abbildung 6: Der Aufbau der zweiten Unterebene des Entscheidungsbaumprozesses
21
Abbildung 7: Die Einstellungen für unseren Entscheidungsbaum
Abbildung 8: Der fertige Entscheidungsbaum
Der Entscheidungsbaum, den RapidMiner nach den gewählten Einstellungen generiert, enthält das Attribut amount0607 rel als Wurzelelement. Die
beiden Attribute, die von diesem Element Kindsknoten bilden,sind wint0607 rel
22
und wdur43 rel. Der Testwert von amount0607 rel liegt bei 0,550. Beträgt der
Wert dieses Attributs weniger als diesen Wert, wird auf wint0607 rel getestet.
Bei Werten dieses Attributs unterhalb von 2,8 wird mit einer Klassengröße
von 2 kein Schmerz vorhergesagt. Liegt der Wert von wint0607 rel über oder
gleich 2,833, wird in einer Klasse der Größe 17 Schmerz vorhergesagt, die
allerdings auch 5 Instanzen von kein Schmerz enthält.
Beträgt der Wert von amount0607 rel 0,550 oder mehr, wird in der rechten
Hälfte des Baumes wdur43 rel getestet. Beträgt dessen Wert weniger als 1,1,
wird in einer Klasse der Größe 10 Schmerz vorhergesagt. Hier sind aber auch
4 Fälle von kein Schmerz enthalten. Liegt der Wert von wdur43 rel bei 1,150
oder höher, wird kein Schmerzempfinden vorhergesagt, in einer Klasse der
Größe 210, die 31 falsch gelernte Schmerzsequenzen enthält.
Dass der Baum nach Attributen testet, die das Vorkommen der Action
Units 6, 7 und 43 beinhalten, stützt die in der Literatur vorhandene Annahme, dass diese Action Units eng mit Schmerz assoziiert sind. Die Bewegungen
der Muskeln um das Auge (siehe Anhang A für eine kurze Erklärung dieser
Action Units) bilden nach unseren Erkenntnissen also am entscheidendsten
Schmerz im menschlichen Gesicht wieder.
Abbildung 9: Die Tabellenansicht des RapidMiner PerformanceVector
Die accuracy (die Korrektklassifikationsrate“) des Entscheidungsbaum”
verfahrens liegt bei 80,34%. Allerdings liegt sowohl der Wert der precision
als auch der des recalls ausschließlich bei den NO-Klassen, die kein Schmerzempfinden vorhersagen, besonders hoch. Wir gehen davon aus, dass dies in
den Ausgangsdaten begründet ist, die vor allem Sequenzen beinhalten, die
als nicht-Schmerz klassifiziert wurden.
4.2
k-nächste Nachbarn
Dieses Unterkapitel behandelt das k-nächste Nachbarn Lernverfahren. Zuerst
wird der theoretische Hintergrund des Verfahrens genauer erläutert und anschließend die im Projekt untersuchten Ansätze hinsichtlich ihres Aufbaues
23
und Ergebnisses beschrieben. Das Unterkapitel wird mit einer Evaluation der
einzelnen Ansätze abgerundet.
4.2.1
Theoretischer Hintergrund
Das k-nächste Nachbarn Lernverfahren befindet sich unter den zehn besten
Maschinellen Lernverfahren [siehe WKQ+ 08] und spiegelt die Redewendung
Gleich und Gleich gesellt sich gern“ in seiner Vorgehensweise wieder. Ein
”
nicht klassifizierter Datensatz wird dabei anhand der Klassifikation seiner
Nachbarn durchgeführt. Der Algorithmus lässt sich in eine Trainingsphase
und eine Klassifikationsphase aufteilen und funktioniert wie folgt.
Innerhalb der Trainingsphase werden die einzelnen Beispieldatensätze lediglich abgespeichert. Soll nun in der Klassifikationsphase ein neuer unbekannter Datensatz klassifiziert werden, wird zunächst der Abstand zu jedem
zuvor gespeicherten Datensatz berechnet. Der unbekannte Datensatz wird
der vorherrschende Klasse innerhalb der k nächsten bereits klassifizierten
Datensätze zugeordnet.
Dieser Algorithmus gehört zur Kategorie Lazy-Learning ( träges Ler”
nen“), da in der Trainingsphase nur Datensätze gespeichert werden und kein
Klassifikationsmodell konstruiert wird. Dies hat zum einen den Vorteil, dass
jegliche Information der Trainingsdatensätze in die Berechnung für die Klassifikation mit aufgenommen werden. Dies führt zu einer sehr guten Klassifikation. Zudem ist die Trainingsphase mit quasi keinen Kosten verbunden, da wie
oben erwähnt nur Daten abgespeichert werden. Ein Nachteil besteht jedoch
in den hohen Kosten für eine Klassifikation. Eine große Anzahl an Attributen pro Objekt und viele Trainingsdaten wirken sich stark negativ auf die
Kosten für eine Klassifikation aus. Aus heutiger Sicht sind die hohen Kosten
einer Klassifikation dank leistungsfähiger Hardware kein Problem mehr [siehe CD07]. Der oben erwähnte Algorithmus des Entscheidungsbaums gehört
hingegen der Kategorie Eager-Learning ( Eifriges Lernen“) an.
”
Eine Konfiguration des Lernverfahrens lässt sich an zwei Stellen vornehmen. Zum einen durch die Wahl einer Abstandsfunktion und zum anderen
durch das Setzten des k Wertes. Die Klassifikation fällt je nach verwendeter Abstandsfunktion unterschiedlich aus. Folgende zwei Abstandsfunktionen
finden häufig Verwendung:
24
Euklidischer Abstand
v
u N
uX
d(x, y) = t (xi − yi )2
Manhattan-Distanz
d(x, y) =
N
X
|xi − yi |
i=0
i=0
In bestimmten Fällen ist es zielführender wenn man die Abstandsfunktion
gewichtet, sodass Datensätze die näher am zu klassifizierenden Datensatz
liegen stärker ins Gewicht fallen als Datensätze, die weiter entfernt sind. Dies
ist besonders vorteilhaft, wenn die Trainingsdatensätze nicht gleichverteilt
sind.
Neben der Wahl des verwendeten Abstandsmaßes lässt sich die Klassifikation über die Wahl des k Wertes beeinflussen. Dieser gibt die Anzahl der
nächsten Knoten an, welche für die Klassifikation betrachtet werden. Hierbei
führt ein kleiner k Wert dazu, dass Rauschen innerhalb der Trainingsdatensätze einen großen Einfluss auf die Klassifikation besitzt und führt somit
zu einer Überanpassung. Ein großer Wert für k hingegen führt zu einer Unteranpassung und zu einer großen Rechenauslastung. Die Wahl eines optimalen
k Wertes hängt von der Problemdomäne, den zur Verfügung stehenden Trainingsdatensätzen und der verwendeten Abstandsfunktion ab. Mithilfe einer
Parameteroptimierung lässt sich der k Wert in der Praxis jedoch auf das
Problem hin optimieren.
Abbildung 10: K-Nächste-Nachbarn in einem zweidimensionalen Datensatz
Die in Abbildung 10 dargestellte zweidimensionale Punktemenge repräsentiert
einen Trainingsdatensatz mit zwei möglichen Klassen. Ein unbekannter Datensatz - in der Abbildung als grüner Punkt dargestellt - soll nun mithilfe
25
des k-Nächste-Nachbarn Verfahrens klassifiziert werden. Als Abstandsfunktion wird der Euklidische Abstand verwendet. Bei einem k Wert von vier wird
der unbekannte Datensatz als rotes Dreieck klassifiziert, da drei der vier
nächsten Datensätze ebenso als rotes Dreieck klassifiziert wurden. Bei einem
k Wert von neun wird dieser als blaues Quadrat klassifiziert, da die Mehrzahl
der neun nächsten Datensätze als blaues Quadrat klassifiziert wurden.
4.2.2
Erster Ansatz
Der erste Ansatz wurde wie folgt umgesetzt: Die Versuchsdaten wurden mithilfe des Retrieve Operators (siehe Anhang C.1) geladen. Um die einzelnen
Parameter für den später folgenden k-NN Operator (siehe Anhang C.3) nicht
händisch einzustellen wurde eine Parameteroptimierung mithilfe des Optimize Parameters (Grid) Operators (siehe Anhang C.5) umgesetzt. Innerhalb des
Optimierungsprozesses wurde der X-Validation Operator (siehe AnhangC.6)
verwendet. Die Anzahl der Validierungen wurde auf 10 gesetzt, es wurde keine average performane verwendet, sampling type war stratisified sampling,
kein local random seed. Im Trainingsbereich befindet sich der eben erwähnte
k-NN Operator, im Testing Bereich ein Apply Model Operator (siehe Anhang
C.2) und Performance (Classification) Operator (siehe Anhang C.7). In der
Parameteroptimierung wurde auf einen k Wert zwischen inklusive 1 und 100
und auf weighted votes geprüft. Die Performanz verwendet als Hauptkriterium den accuracy Wert.
Abbildung 11: k-NN erster Ansatz: Hauptprozess
26
Abbildung 12: k-NN erster Ansatz: Optimierungsprozess
Abbildung 13: k-NN erster Ansatz: Validierungsprozess
Für diese Konstellation ergab die Parameteroptimierung einen Wert für
k von 7 und eine Gewichtung der Abstandsfunktion. Dies führte zu einer
accuracy von 82.01% und der in Tabelle 2 dargestellten Konfusionsmatrix.
Tabelle 2: Konfusionsmatrix des ersten k-NN Ansatzes
true YES true NO class prediction
pred. YES 13
7
65.00%
pred. NO
36
183
83.56%
class recall 26.53%
96.32%
4.2.3
Zweiter Ansatz
Der zweite Ansatz erweitert den ersten Ansatz um eine Gewichtung und
anschließende Skalierung der Attribute mithilfe des Information Gain. Der
Informationsgehalt einzelner Attribute ist unterschiedlich groß, jedoch wird
jedes Attribut vom k-NN Algorithmus gleich bewertet. Um nun einzelne Attribute unterschiedlich stark zu gewichten, werden diese zuerst mithilfe des
27
Weight by Information Gain Operators (siehe Anhang C.8) gewichtet. Anschließend werden die Attribute mit dem vorher berechneten Information
Gain skaliert. Dies geschieht mithilfe des Scale by Weights Operators (siehe
Anhang C.10). Anschließend gelangt der veränderte Datensatz in die Parameteroptimierung, welche identisch mit der aus dem ersten Ansatz ist.
Abbildung 14: k-NN zweiter Ansatz: Hauptprozess
Für diese Konstellation ergab die Parameteroptimierung einen Wert für
k von 13 und eine Gewichtung der Abstandsfunktion. Dies führte zu einer
accuracy von 81.61% und der in Tabelle 3 dargestellten Konfusionsmatrix.
Tabelle 3: Konfusionsmatrix des zweiten k-NN Ansatzes
true YES true NO class prediction
pred. YES 9
4
69.23%
pred. NO
40
186
82.30%
class recall 18.37%
97.89%
4.2.4
Dritter Ansatz
Im dritten Ansatz wird eine Principal Component Analysis ( Hauptkompo”
nentenanalyse“) eingesetzt, um die gegebenen Datensätze zu strukturieren.
Da der zweite Ansatz eine schlechtere Performanz als der Erste aufwies, wird
nur der erste Ansatz um die PCA erweitert.
Die Hauptkomponentenanalyse ist ein statistisches Verfahren und dient
der Strukturierung der Datensätze. Dabei werden die einzelnen Datensätze
28
in einen kleiner dimensionierten Raum transformiert, mit dem Ziel möglichst
wenig Information zu verlieren. Im Vergleich zu anderen Verfahren der Dimensionsreduktion wird hierbei jedoch nicht die Anzahl der existierenden
Attribute verringert, sondern diese durch neue Attribute ersetzt. Diese sogenannten Hauptkomponenten sind Linearkombinationen der ursprünglichen
Variablen und bilden somit die Achsen des neuen Koordinatensystems. Die
einzelnen Hauptkomponenten klären jeweils die Varianz innerhalb der Datensätze, wobei die erste Hauptkomponente die meiste Varianz erklärt. Je
korrelierter die Ausgangsvariablen sind, desto besser lassen sich diese mithilfe der PCA zusammenfassen. Wenn die Ausgangsdaten jedoch unkorreliert
sind ist eine PCA demzufolge nicht sinnvoll [siehe HK13, Kapitel 4].
Da die PCA nur mit numerischen Werten rechnen kann, muss zunächst
das Attribut Geschlecht von binominal nach numerisch umgerechnet werden.
Dies wird in RapidMiner mithilfe des Nominal To Numerical Operators (siehe
Anhang C.11) umgesetzt. Im Anschluss wird vor den k-NN Operator der PCA
Operator (siehe Anhang C.9) angefügt. Die Parameteroptimierung wurde um
alle Parameter der PCA erweitert.
Abbildung 15: k-NN dritter Ansatz: Hauptprozess
29
Abbildung 16: k-NN dritter Ansatz: Optimierungsprozess
Für diese Konstellation ergab die Parameteroptimierung einen Wert für
k von 5, eine Gewichtung der Abstandsfunktion und einen Wert von 0.9941
für die Varianzschwelle der PCA. Dies führte zu einer accuracy von 82.01%
und der in Tabelle 4 dargestellten Konfusionsmatrix.
Tabelle 4: Konfusionsmatrix des dritten k-NN Ansatzes
true YES true NO class prediction
pred. YES 12
6
66.67%
pred. NO
37
184
83.26%
class recall 24.49%
96.84%
4.2.5
Evaluation
Alle drei untersuchten k-NN Ansätze lieferten vergleichbar gute Ergebnisse
bei ähnlicher Konfiguration. In jedem k-NN Ansatz wurde eine Gewichtung
der Abstandsfunktion als optimal ermittelt. Die für den Parameter k ermittelten Werte lagen dabei zwischen 5 und 13. Der accuracy Wert unterschied
sich dabei maximal um ein halbes Prozent und lag im Mittel bei 81.88%.
Über alle Ansätze hinweg erkennt man jedoch eine deutliche Ungleichverteilung in der Klassifizierung. Die Klasse Schmerz“ wurde allgemein wesent”
lich schlechter erkannt als die Klasse kein Schmerz“. So lag der class recall
”
( Trefferquote“) für die Klasse kein Schmerz“ im Durchschnitt bei 97.02%,
”
”
jedoch für die Klasse Schmerz“ nur bei durchschnittlich 23.13%.
”
Die Begründung für den ungleichen class recall könnte in den Ausgangsdaten liegen. Lediglich 21% der 239 Ausgangsdaten stammen aus Schmerzexperimenten, wohingegen 79% aus Nicht-Schmerzexperimenten stammen.
30
Dies legt den Schluss nahe, dass die ungleiche Klassifikation des k-NN Lernverfahrens durch die Ungleichverteilung innerhalb der Trainingsdaten begründet ist. Diese Hypothese ließe sich jedoch nur mit mehr Trainingsdaten
aus Schmerzexperimenten überprüfen.
Der im ersten Ansatz vorgestellte Versuchsaufbau stellt die einfachste
aber zugleich effektivste Umsetzung - mit einer accuracy von 82.01% - aus
den drei untersuchten k-NN Ansätzen dar. Somit bietet das k-nächste Nachbarn Lernverfahren für diese Art der hier untersuchten Daten einen soliden
Klassifikator.
31
5
Fazit
Durch die in diesem Projektbericht dargestellten Ergebnisse, ist das Ziel
des Projekts, zu untersuchen, wie sich Gesichtsausdrücke von Menschen,
die Schmerz empfinden, von neutralen Gesichtsausdrücken und Gesichtsausdrücke, die aus Ekel entstehen, unterscheiden, nur zum Teil erreicht worden.
Zwar liefern die beiden gewählten Lernverfahren jeweils eine gute Korrektklassifikationsrate, allerdings wird klar, dass sie vor allem mit den Daten
besonders gut umgehen können, die aus den Sequenzen stammen, während
denen kein Schmerz induziert wurde. Wie bereits im letzten Unterkapitel
beschrieben, scheint dieser Umstand in einer Ungleichverteilung innerhalb
der Ausgangsdaten begründet zu sein. Diese Vermutung wurde durch die
Tatsache bestärkt, dass die beiden anderen Projektgruppen auf ähnliche Ergebnisse gekommen sind.
Als positiv zu werten ist, dass die im entwickelten Entscheidungsbaum
als besonders relevant erachteten Action Units aus dem Facial Action Coding
System alle zu den Action Units gehören, die bereits in der Fachliteratur als
besonders schmerzrelevante AUs aufgelistet wurden und unser Projektergebnis somit die Ergebnisse der bisherigen Fachliteratur bestätigt.
Während des Projektes galt es, mit einigen Problemen umzugehen und
Besonderheiten, die etwa durch den Datensatz entstanden sind, zu beachten.
Die ersten aufgestellten Entscheidungsbäume wiesen eine extreme Verzweigung auf und waren durch ihren detaillierten Charakter im Grunde nicht
lesbar oder auswertbar. Der Grund hierfür war, dass das Attribut der duration in RapidMiner als Typ polynomial verwendet wurde. Um mit diesem
Umstand umzugehen, hätten wir entweder mit speziellen Operatoren in RapidMiner arbeiten können, oder in unseren SQL Views eine Umwandlung
des Datentyps in Millisekunden durchführen. Wir haben uns für die zweite Alternative entschieden und den Datensatz danach neu in RapidMiner
importiert.
Bezogen auf die Frage, welches Lernverfahren dem anderen nun vorzuziehen
sei, darf nicht allein dessen Korrektklassifikationsrate betrachten werden. Die
Entscheidung für ein bestimmtes Lernverfahren ergibt sich meist mehr aus
dem jeweiligen Anwendungsfall. Der Entscheidungsbaum hat den Vorteil,
dass das entstandene Modell von Menschen verständlich und anwendbar ist.
Demzufolge ist dieses Lernverfahren von Vorteil wenn ein psychologisches
Klassifikationsmodell aufgestellt werden soll mit Regeln, die für Menschen
32
verständlich und einfach umzusetzen sind. Beim k-nächste Nachbarn Lernverfahren wäre dies nicht der Fall, da dieses kein internes Abstraktionsmodell
erstellt. Es könnte daher eher in der automatischen Erkennung von Schmerz
mithilfe eines Computers verwendet werden.
33
Literatur
[CD07] Cunningham, Pádraig ; Delany, Sarah J.: k-Nearest Neighbour
Classifiers. 2007
[EF78] Ekman, P. ; Friesen, W.: Facial Action Coding System: A
Technique for the Measurement of Facial Movement. Palo Alto
: Consulting Psychologists Press, 1978
[For76] Fordyce, W. E.: Behavioral methods for chronic pain and illness. (1976)
[Fun03] Funke, J.: Unterrichtsmaterialien zur Vorlesung Allgemeine
Psychologie. http://www.psychologie.uni-heidelberg.de/
ae/allg/lehre/wct/e/E30/E3003mes.html. Version: 2003. –
[Online; Stand 26.02.2016]
[HK13] Hofmann, M. ; Klinkenberg, R.: RapidMiner: Data Mining
Use Cases and Business Analytics Applications. Taylor & Francis, 2013 (Chapman & Hall/CRC Data Mining and Knowledge
Discovery Series)
[LCL+ 09] Lucey, Patrick ; Cohn, Jeffrey ; Lucey, Simon ; Matthews,
Iain ; Sridharan, Sridha ; Prkachin, Kenneth M.: Automatically Detecting Pain Using Facial Actions. In: International
Conference on Affective Computing and Intelligent Interaction
and workshops : [proceedings]. ACII (Conference) (2009)
[Mie13] Mierswa,
Ingo:
The
core
of
RapidMiner
is
open
source.
http://rapidminer.com/
the-core-of-rapidminer-is-open-source/. Version: 2013. –
[Online; Stand 29.02.2016]
[Mit97] Mitchell, Thomas M.: Machine Learning. McGraw-Hill, Inc.,
1997
[Psy15a] Psychologie, Dorsch L.:
Facial Action Coding System (FACS) - Dorsch Lexikon der Psychologie - Verlag Hans Huber.
https://portal.hogrefe.com/dorsch/
facial-action-coding-system-facs/. Version: 2015. – [Online; Stand 26.02.2016]
34
[Psy15b] Psychologie, Dorsch L.: Schmerz - Dorsch Lexikon der Psychologie - Verlag Hans Huber. https://portal.hogrefe.com/
dorsch/schmerz/. Version: 2015. – [Online; Stand 29.02.2016]
[Sie15] Siebers, Michael: Projekt “Das Schmerzgesicht” - Themenvorstellung. 15. Oktober 2015
[SSS+ 12] Schmid, Ute ; Siebers, Michael ; Seus̈, Dominik ; Kunz, Miriam ; Lautenbacher, Stefan: Applying Grammar Inference
To Identify Generalized Patterns of Facial Expressions of Pain.
In: Heinz, Jeffrey (Hrsg.) ; Higuera, Colin de l. (Hrsg.) ; Oates, Tim (Hrsg.): JMLR: Workshop and Conference Proceedings,
2012
[TKC01] Tian, Y. I. ; Kanade, T. ; Cohn, J. F.: Recognizing action
units for facial expression analysis. In: IEEE Transactions on
Pattern Analysis and Machine Intelligence 23 (2001), Feb, Nr.
2, S. 97–115. http://dx.doi.org/10.1109/34.908962. – DOI
10.1109/34.908962. – ISSN 0162–8828
[WKQ+ 08] Wu, Xindong ; Kumar, Vipin ; Quinlan, J R. ; Ghosh, Joydeep ; Yang, Qiang ; Motoda, Hiroshi ; McLachlan, Geoffrey J.
; Ng, Angus ; Liu, Bing ; Philip, S Y. u. a.: Top 10 algorithms in
data mining. In: Knowledge and information systems 14 (2008),
Nr. 1, S. 1–37
35
A
Tabelle relevanter Action Units
Tabelle 5: Beschreibung relevante Action Units
Action Unit
1
2
4
5
6
7
43
45
46
B
Beschreibung
Heben der Augenbrauen innen
Heben der Augenbrauen außen
Zusammenziehen der Augenbrauen
Heben des oberen Augenlides
Zusammenziehen des äußeren Teils des Ringmuskels um die Augen
Zusammenziehen des inneren Teils des Ringmuskels um die Augen
Absenken des oberen Augenlides (43E = Augen geschlossen)
Blinzeln (mit beiden Augen)
Zwinkern (mit einem Auge)
Verwendete Attribute
1 sequence_id , fold , gender , age ,
2 amount , pain
3 amount04_rel , wdur04_rel , wint04_rel , wdurint04 ,
wdurint04_rel ,
4 amount0607_rel , wdur0607_rel , wint0607_rel ,
wdurint0607 , wdurint0607_rel ,
5 amount0910_rel , wdur0910_rel , wint0910_rel ,
wdurint0910 , wdurint0910_rel ,
6 amount43_rel , wdur43_rel ,
7 amount01_rel , wdurint01_rel ,
8 amount02_rel , wdurint02_rel ,
9 amount05_rel , wdurint05_rel ,
10 amount12_rel , wdurint12_rel ,
11 amount14_rel , wdurint14_rel ,
12 amount15_rel , wdurint15_rel ,
13 amount16_rel , wdurint16_rel ,
14 amount17_rel , wdurint17_rel ,
15 amount18_rel , wdurint18_rel ,
16 amount19_rel , wdurint19_rel ,
17 amount20_rel , wdurint20_rel ,
36
18
19
20
21
22
23
24
25
26
27
28
29
30
31
amount22_rel ,
amount23_rel ,
amount24_rel ,
amount25_rel ,
amount26_rel ,
amount28_rel ,
amount29_rel ,
amount30_rel ,
amount31_rel ,
amount32_rel ,
amount34_rel ,
amount37_rel ,
amount38_rel ,
amount39_rel ,
C
C.1
wdurint22_rel ,
wdurint23_rel ,
wdurint24_rel ,
wdurint25_rel ,
wdurint26_rel ,
wdurint28_rel ,
wdurint29_rel ,
wdurint30_rel ,
wdurint31_rel ,
wdurint32_rel ,
wdurint34_rel ,
wdurint37_rel ,
wdurint38_rel ,
wdurint39_rel
RapidMiner Operatoren
Retrieve
Mithilfe des Retrieve Operators können Objekte aus dem Datenrepository
geladen werden. Die geladenen Objekte enthalten neben den reinen Daten
auch Metadaten. Demzufolge besitzt der Operator keine Eingangsports, sondern lediglich einen Ausgangsport.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
data_access/retrieve.html (Stand 29.03.2016)
37
C.2
Apply Model
Der Apply Modell Operator wendet ein gelerntes Modell auf eine Menge
von Datensätzen an. Die Eingangsports erhalten das gelernte Modell und die
Menge an Datensätzen. Die Ausgangsports enthalten die mit Label versehenen Eingangsdaten und das verwendete Model.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
scoring/apply_model.html (Stand 29.03.2016)
C.3
k-NN
Der k-NN Operator generiert ein k-nächste Nachbarn Modell basierend auf
den vorhandenen Trainingsdaten. Der Eingansport enthält die Trainingsdaten und die Ausgangsports geben das generierte Modell und die verwendeten
Trainingsdaten weiter.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
modeling/predictive/lazy/k_nn.html (Stand 29.03.2016)
38
C.4
Decision Tree
Der Decision Tree Operator generiert auf Basis der vorhandenen Trainingsdaten ein Entscheidungsbaummodell. Als Input erwartet der Operator den Output des Retrieve Operatoren. Der Operator hat zwei Outputs, zuoberst den
model-Output, der den Entscheidungsbaum liefert und das Anwenden des
Entscheidungsbaummodells auf neue Daten möglich macht. Wie der k-NN
Operator auch, gibt der Decision Tree Operator ebenfalls die Trainingsdaten unverändert weiter, damit sie in weiteren Operatoren verarbeitet werden
können oder damit die Daten im Endresultat verwendet werden können.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
modeling/predictive/trees/parallel_decision_tree.html (Stand 29.03.2016)
C.5
Optimize Parameters (Grid)
Der Optimize Parameters (Grid) Operator optimiert die Parameterbelegung
für einen gewählten Unterprozess. Für jede mögliche Parameterbelegung wird
dabei der Unterprozess ausgeführt und anhand gewählter Performanzkriterien die beste Belegung ermittelt. Je größer die Anzahl der möglichen Parameterbelegungen, desto mehr Zeit benötigt die Parameteroptimierung. Die
39
Eingansports werden an den Unterprozess weitergeleitet und sind in ihrer
Anzahl nicht begrenzt. Die Ausgangsports enthalten den Performanzvektor,
die optimale Belegung der Parameter und restliche vom Unterprozess weitergeleiteten Daten.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
modeling/optimization/parameters/optimize_parameters_grid.html (Stand
29.03.2016)
C.6
X-Validation
Der X-Validation Operator führt eine Cross-Validation durch um die statistische Performanz eines Lernverfahrens in der Praxis für eine Menge an
Datensätzen zu schätzen. Dabei werden die Datensätze in k gleichgroße Teile
zerlegt. Nun stehen der Reihe nach k-1 Teile dem Lernverfahren als Trainingsdaten zur Verfügung und das Lernverfahren wird auf den letzte Teil
angewandt. In den Eingangsport werden die Trainingsdaten weitergeleitet.
Die Ausgangsports enthalten das generierte Modell des Lernverfahrens, die
verwendeten Trainingsdaten und ein durchschnittlicher Performanzvektor.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
validation/x_validation.html (Stand 29.03.2016)
40
C.7
Performance (Classification)
Der Performance (Classification) Operator wird zur Evaluation der statistischen Performanz einer Klassifikation verwendet. Der Eingangsport enthält
die mit Label versehenen zu klassifizierenden Datensätze. Die Ausgangsports
enthalten einen Performanzvektor und die zu klassifizierenden Datensätze.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
validation/performance/predictive/performance_classification.html
(Stand 29.03.2016)
C.8
Weight by Information Gain
Der Weight by Information Gain Operator berechnet die Relevanz der Attribute basierend auf dem Information Gain ( Informationsgewinn“) und ge”
wichtet diese passend. Der Eingangsport erhält die Trainingsdatensätze. Die
Ausgangsports beinhalten die Gewichte der einzelnen Attribute und die originalen Trainingsdatensätze.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
modeling/feature_weights/weight_by_information_gain.html (Stand 29.03.2016)
41
C.9
Principal Component Analysis
Der Principal Component Analysis Operator wendet eine Hauptkomponentenanalyse auf die Trainingsdatensätze an. Dabei kann der zu erfassende Anteil der Varianz oder die Anzahl der Hauptkomponenten eingestellt werden.
Der Eingangsport erhält die Trainingsdatensätze auf welche die PCA angewandt werden soll. Die Ausgangsports beinhalten das Ergebnis der PCA und
die originalen Trainingsdatensätze.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
cleansing/dimensionality_reduction/principal_component_analysis.
html (Stand 29.03.2016)
C.10
Scale by Weights
Der Scale by Weights Operator skaliert die einzelnen Daten aus einem Datensatz mit den gegebenen Gewichten. Die Eingangsports erhalten den zu
skalierenden Datensatz und die zugehörigen Gewichte. Der Ausgangsport
enthält den manipulierten Datensatz.
Quelle:
42
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
cleansing/normalization/scale_by_weights.html (Stand 29.03.2016)
C.11
Nominal To Numerical
Der Nominal To Numerical Operator kann verwendet werden um den Typ
eines Attributes von Nominal nach Numerisch zu konvertieren. Die einzelnen
Daten der Attribute werden automatisch konvertiert. In den Einstellungen
des Operators können die Variablen ausgewählt werden die konvertiert werden sollen. Der Eingangsport enthält den zu verändernden Datensatz. Die
Ausgangsports enthalten den veränderte Datensatz und den originalen Datensatz.
Quelle:
RapidMiner Documentation, http://docs.rapidminer.com/studio/operators/
data_transformation/type_conversion/numerical_to_binominal.html (Stand
29.03.2016)
43
Zugehörige Unterlagen
Herunterladen