Bildklassifikation unter Verwendung kompressionsbasierter Methoden
Bildklassifikation unter Verwendung kompressionsbasierter Methoden
Bildklassifikation unter Verwendung kompressionsbasierter Methoden
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Universität zu Lübeck<br />
Institut für theoretische Informatik (ITCS)<br />
Masterarbeit<br />
<strong>Bildklassifikation</strong> <strong>unter</strong> <strong>Verwendung</strong><br />
<strong>kompressionsbasierter</strong> <strong>Methoden</strong><br />
von<br />
Oliver Kleine<br />
Betreuung:<br />
PD Dr. Maciej Liśkiewicz<br />
Lübeck, den 8. Juli 2010
Erklärung<br />
Ich versichere, die vorliegende Arbeit selbstständig und nur <strong>unter</strong> Benutzung<br />
der angegebenen Hilfsmittel angefertigt zu haben.<br />
Lübeck, den 8. Juli 2010<br />
iii
Aufgabenstellung<br />
v
Inhaltsverzeichnis<br />
1 Einleitung 1<br />
2 Kompressionsbasierte Ähnlichkeitsdistanz 3<br />
2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
2.2 Turingmaschinen . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2.2.1 Berechenbarkeit als Äquivalent zur Modellierbarkeit . . . 4<br />
2.2.2 Simulation mittels universeller Turingmaschine . . . . . . 5<br />
2.3 Kolmogorov-Komplexität . . . . . . . . . . . . . . . . . . . . . . 6<br />
2.3.1 Berechenbarkeit . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
2.3.2 Schrittweise Approximation . . . . . . . . . . . . . . . . . 9<br />
2.4 Ähnlichkeitsmetriken . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
2.4.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />
2.4.2 Informationsdistanz . . . . . . . . . . . . . . . . . . . . . 11<br />
2.4.3 Normalisierte Informationsdistanz . . . . . . . . . . . . . 14<br />
2.4.4 Normalisierte Kompressionsdistanz . . . . . . . . . . . . . 16<br />
3 Grundlagen der maschinellen Klassifikation 19<br />
3.1 Der k-NN Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . 19<br />
3.2 Bestimmung der Klassifikationsgüte . . . . . . . . . . . . . . . . 21<br />
3.3 Normierung und Invarianzen . . . . . . . . . . . . . . . . . . . . 24<br />
4 Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken 27<br />
4.1 Handgeschriebene Ziffern . . . . . . . . . . . . . . . . . . . . . . 27<br />
4.2 Standardmaße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
4.2.1 Hammingabstand . . . . . . . . . . . . . . . . . . . . . . . 29<br />
4.2.2 Levenshtein-Distanz . . . . . . . . . . . . . . . . . . . . . 38<br />
4.2.3 Euklidischer Abstand . . . . . . . . . . . . . . . . . . . . 42<br />
4.2.4 Mittlerer quadratischer Fehler . . . . . . . . . . . . . . . . 46<br />
4.2.5 Spitzenwert des Signal-/Rauschverhältnisses . . . . . . . . 47<br />
4.3 PPM -basierter Abstand . . . . . . . . . . . . . . . . . . . . . . . 48<br />
4.3.1 Entropiekodierung . . . . . . . . . . . . . . . . . . . . . . 48<br />
4.3.2 Arithmetische Kodierung . . . . . . . . . . . . . . . . . . 49<br />
4.3.3 Prediction with Partial Matching . . . . . . . . . . . . . . 52<br />
4.3.4 PPM -Kodierungslänge als Distanzmaß . . . . . . . . . . . 53<br />
4.3.5 Zweidimensionaler Kontext . . . . . . . . . . . . . . . . . 55<br />
4.3.6 Eindimensionaler Kontext auf Gradientenbilder . . . . . . 56<br />
4.4 Ergebnisvergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />
5 Negative Selection 65<br />
vii
Inhaltsverzeichnis<br />
5.1 Adaption aus der Immunologie . . . . . . . . . . . . . . . . . . . 65<br />
5.2 Anwendung mit Hammingabstand . . . . . . . . . . . . . . . . . 68<br />
6 Zusammenfassung, Fazit und Ausblick 77<br />
Verzeichnisse 81<br />
Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />
viii
1 Einleitung<br />
Maschinelle Bildverarbeitung im weitesten Sinne ist mitterweile aus dem Alltag<br />
nicht mehr wegzudenken. Wie selbstverständlich benutzen wir papierlose Bahnund<br />
Flugtickets und zeigen zum Check-In lediglich den entsprechenden Barcode<br />
auf dem Display des Mobiltelefons in eine Art Kamera. Genauso verwenden wir<br />
Pfandautomaten oder Obst- und Gemüsewaagen, die ganz nebenbei auch per<br />
Kamera erkennen, dass wir Bananen kaufen möchten. Neben dem Gewicht erfahren<br />
wir so ohne weiteres Zutun gleich den Preis. Zwar passieren dabei immer<br />
wieder auch Fehler, mit fortschreitender Entwicklung der zugrunde liegenden<br />
Algorithmen ist das aber immer seltener der Fall.<br />
Die Anwendungsmöglichkeiten im Bereich der Klassifikation von Bildern sind<br />
freilich nicht auf solche relativ simplen Anwendungsfälle beschränkt. So bietet<br />
das freie Programm Picasa seit einigen Versionen die Möglichkeit, die eigene<br />
Fotosammlung automatisch nach abgebildeten Personen zu kategorisieren. Die<br />
Software erkennt also nicht nur, dass eine Person abgebildet ist, sondern auch,<br />
um wen es sich dabei handelt.<br />
Ein aktueller Forschungsgegenstand liegt darin eine abgebildete Szene vollständig<br />
semantisch zu interpretieren [LSFF09]. Es geht also beispielsweise nicht nur um<br />
die Frage, ob Personen abgebildet sind und um wen es sich dabei handelt. Genauso<br />
ist von Interesse, was die abgebildeten Personen da gerade tun.<br />
Ein häufig gewählter Ansatz ist die Extraktion spezifischer Merkmale. Um z.B.<br />
auf einem Foto eine Wiese zu erkennen, könnte die Farbe Grün eine wichtige<br />
Rolle spielen. Für die Entscheidung, ob es sich bei einem abgebildeten<br />
Objekt um ein bestimmtes Auto handelt oder nicht, ist die Farbe hingegen<br />
nebensächlich. Klassifikation setzt in jedem Fall eine irgendwie geartete Definition<br />
von Ähnlichkeit voraus. Diese Ähnlichkeit könnte man eben über das<br />
Vorhandensein bestimmter Merkmale definieren. Es geht aber auch anders.<br />
Wir wollen im Rahmen dieser Arbeit eine noch relativ junge Idee verfolgen,<br />
die zumindest in der Theorie völlig unspezifisch ist. Farben und Formen spielen<br />
keine Rolle. Stattdessen betrachten wir bei der Bestimmung der Ähnlichkeit<br />
zweier Bilder deren Informationsdistanz. Wie lang ist die kürzeste mögliche<br />
vollständige Beschreibung des Bildes A, wenn das andere Bild B als bekannt<br />
vorausgesetzt werden kann? Dieser theoretische Ansatz von Charles Bennett<br />
geht auf das Jahr 1998 zurück [BGL + 98]. Nun ist die Menge an Information,<br />
die in einem Bild enthalten ist, nicht berechenbar. Gleiches gilt damit auch<br />
für die Informationsdistanz zwischen zwei Bildern. Ming Li und Paul Vitanyi<br />
waren schon an der Idee von 1998 beteiligt. 6 Jahre später veröffentlichten sie<br />
ein Distanzmaß, mit dem diese Informationsdistanz, wenn auch nicht berechnet,<br />
1
Kapitel 1. Einleitung<br />
so doch zumindest innerhalb gewisser Schranken approximiert werden kann<br />
[LCL + 04].<br />
Die Entwicklung dieses Distanzmaßes werden wir in Kapitel 2 nachvollziehen.<br />
Nach dieser ausführlichen Betrachtung der Theorie und kurzer Erläuterung einiger<br />
Grundbegriffe maschineller Klassifikation in Kapitel 3 wenden wir uns der<br />
prakischen Anwendung zu. In Kapitel 4 vergleichen wir verschiedene Ansätze,<br />
die alle mehr oder weniger dem Prinzip von Li und Vitányis Distanzmaß folgen.<br />
Wir klassifizieren dabei Bilder handgeschriebener Ziffern.<br />
Zum Abschluß beinhaltet Kapitel 5 noch etwas vollkommen Neues. Die ständige<br />
Verbesserung und Verbreitung von Bildbearbeitungssoftware wie z.B. Photoshop<br />
oder GIMP führt in den Medien zu einer Flut manipulierter Bilder. So<br />
ist es mittlerweile vollkommen üblich, dass bei den in Zeitungen oder im Internet<br />
veröffentlichten Fotos unerwünschte Details einfach digital retouchiert<br />
wurden. Für das menschliche Auge ist dies praktisch nicht erkennbar. Ein<br />
prominentes Beispiel aus der jüngeren Vergangenheit ist ein Urlaubsfoto des<br />
französchischen Präsidenten Sarkozy. Eine regierungsfreundliche Zeitung hatte<br />
vor der Veröffentlichung eine unschöne präsidiale Speckrolle retouchiert. Andere<br />
Blätter zeigten das originale und damit weniger sportlich wirkende Bild.<br />
In diesem Zusammenhang stellt sich unmittelbar auch die weit weniger banale<br />
Frage nach der Verwendbarkeit von Beweisfotos vor Gericht, wenn Fälschungen<br />
so einfach und preiswert zu erstellen sind.<br />
Hany Farid veröffentlichte im Jahr 2009 einige <strong>Methoden</strong>, mittels derer eine<br />
derartige Manipulation <strong>unter</strong> Umständen aufgedeckt werden kann [Far09]. Basierend<br />
auf Spiegelungen und Schattenbildung kann beispielsweise die Beleuchtungsrichtung<br />
zum Zeitpunkt der Aufnahme rekonstruiert werden. Ist diese<br />
nicht für alle abgebildeten Objekte konsistent, dann ist das zumindest verdächtig.<br />
Entscheidend für die Erkennung von Manipulation ist jedoch eine Vermutung<br />
über die Art und Weise der Veränderung. Nehmen wir an, darüber sei nichts<br />
bekannt. Wir wissen lediglich von einer gewissen Anzahl von Bildern, dass sie<br />
noch unverändert sind. Kapitel 5 geht der Frage nach, ob es möglich ist, nur<br />
mittels dieser Originalbilder einen Klassifikator so zu trainieren, dass er in der<br />
Lage ist, manipulierte Bilder als solche zu erkennen. Beim verwendeten Algorithmus<br />
Negative-Selection handelt es sich um eine Adaption des natürlichen<br />
Immunsystems. Dieses ist in der Lage lediglich auf Basis eines unvollständigen<br />
Wissens über körpereigene Zellen zielsicher die körperfremden zu zerstören, ohne<br />
dabei die körpereigenen anzugreifen.<br />
Soweit wir wissen, existieren bisher noch keine Anwendungen dieses Algorithmus<br />
für die <strong>Bildklassifikation</strong>. Wir werden aber mittels der Bilder handgeschriebender<br />
Ziffern die grundsätzliche Eignung von Negative-Selection für diese Zwecke<br />
feststellen.<br />
2
2 Kompressionsbasierte<br />
Ähnlichkeitsdistanz<br />
2.1 Motivation<br />
In [LCL + 04] veröffentlichten Ming Li und Paul Vitányi ein theoretisches Ähnlichkeitsmaß<br />
zwischen zwei Strings, die normalisierte Informationsdistanz (Nid).<br />
Ohne hier die Begriffe Information“ und Ähnlichkeit“ konkret zu definieren<br />
” ”<br />
gilt: Sind die Strings ähnlich, so beinhalten sie ähnliche Information und ihr<br />
Abstand zueinander im Sinne der Nid ist klein. Nicht ähnliche Strings beinhalten<br />
verschiedene Informationen und haben eine entsprechend große Distanz.<br />
Die zentrale Eigenschaft der Nid ist ihre Universalität, d.h. sie impliziert alle<br />
sinnvollen berechenbaren Distanzen, ohne dass diese explizit bekannt sein<br />
müssen. Wir bezeichnen Ähnlichkeitsdistanzen auf zwei Strings x, y ∈ {0, 1} ∗<br />
wie z.B.<br />
⎧<br />
⎪⎨<br />
1 falls x ≠ y<br />
d binär (x, y) =<br />
(2.1)<br />
⎪⎩ 0 sonst<br />
als nicht sinnvoll, da sich innerhalb eines endlichen Ähnlichkeitsradius unendlich<br />
viele Strings befinden können. Für alle sinnvollen berechenbaren Distanzen d<br />
gilt:<br />
Nid(x, y) d(x, y) + O(1).<br />
Mit größer werdendem Ähnlichkeitsradius wächst bei der Nid also die Anzahl<br />
der Strings innerhalb dieses Radius höchstens so stark, wie bei jeder anderen<br />
sinnvollen berechenbaren Distanz. Leider ist die Nid nur ein theoretisches<br />
Konstrukt und damit praktisch nicht unmittelbar brauchbar. Sie basiert auf<br />
der nicht berechenbaren Kolmogorov-Komplexität und ist damit selbst ebenfalls<br />
nicht berechenbar. Trotzdem ist sie die Basis etlicher wissenschaftlicher<br />
Veröffentlichungen, in denen sich die Autoren erfolgreich an berechenbaren<br />
kompressionsbasierten Approximationen versucht haben (z.B. [CV05], [CV06],<br />
[LH05], [LZ06]). Eben diesen kompressionbasierten Ansatz entwickelten Li und<br />
Vitányi und verwendeten dafür die Bezeichnung normalisierte Kompressionsdistanz<br />
(Ncd).<br />
In diesem Kapitel wollen wir die Entwicklung der Ncd nachvollziehen. Darum<br />
definieren wir zunächst, wann ein Problem eigentlich als berechenbar zu bezeichnen<br />
ist. Daraufhin widmen wir uns der Kolmogorov-Komplexität und zeigen,<br />
3
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
dass sie nicht berechenbar ist. Wir können sie jedoch durch stetige Verbesserung<br />
einer oberen Schranke immer genauer approximieren. Basierend auf der<br />
Kolmogorov-Komplexität definieren wir dann die Informationsdistanz zwischen<br />
zwei Strings und ihre normalisierte Variante Nid. Schlußendlich entwickeln wir<br />
mit der Ncd eine reale Möglichkeit der Approximation.<br />
2.2 Turingmaschinen<br />
2.2.1 Berechenbarkeit als Äquivalent zur Modellierbarkeit<br />
Intuitiv kann man ein Problem als berechenbar bezeichnen, wenn es prinzipiell<br />
von einem Menschen auf einem Blatt Papier schriftlich gelöst werden könnte.<br />
Die dafür benötigte Zeit und die Größe des Papierblatts spielen keine Rolle. Es<br />
muß lediglich sicher sein, dass die Berechnung irgendwann mit einem Ergebnis<br />
endet. Dieser Definition folgend besagt die Churchsche These, dass die Menge<br />
der im intuitiven Sinne berechenbaren Funktionen der Menge der von einer<br />
Turingmaschine berechenbaren Funktionen entspricht (vgl. [Rei99, S.16]).<br />
Die Turingmaschine ist ein bereits im Jahr 1936 von Alan Turing veröffentlichtes<br />
abstraktes Modell eines Rechners. Die einfachste Form ist die 1-Band-Turingmaschine.<br />
Sie wird vollständig definiert über ein Tupel<br />
M = (Σ, Q, q 0 , Q f , ∆) . (2.2)<br />
Σ bezeichnet dabei ein endliches Alphabet und Q eine Menge abstrakter Zustände<br />
mit q 0 ⊆ Q als ausgezeichnetem Startzustand sowie Q f ⊆ Q als ausgezeichneter<br />
Menge von Endzuständen, bei denen die Maschine stoppt. Die<br />
Übergänge zwischen den Zuständen werden über die Übergangsrelation ∆ mit<br />
∆ ⊆ Q × Σ × Q × Σ × R (2.3)<br />
definiert. Anschaulicher ist die Darstellung als partielle und möglicherweise<br />
mehrdeutige Abbildung<br />
∆ : Q × Σ → Q × Σ × R. (2.4)<br />
Ein- und Ausgabe erfolgen über ein unendliches Band, welches in Speicherzellen<br />
<strong>unter</strong>teilt ist. Jede dieser Zellen bietet Speicherplatz für ein Symbol aus<br />
Σ. In jedem Zustand wird mittels des Schreib-/Lesekopfes der Turingmaschine<br />
zunächst das Symbol an der aktuellen Bandposition eingelesen. Die Kombination<br />
aus aktuellem Zustand und eingelesenem Symbol bestimmt einen odere<br />
mehrere parallele Folgezustände, in denen dann das Symbol an der aktuellen<br />
Bandposition zunächst überschrieben wird. Danach bewegt sich der Kopf in<br />
die angegebene Richtung r ∈ R. Ist die o.g. Abbildung ∆ rechtseindeutig, so<br />
spricht man von einer deterministischen Turingmaschine (DTM), sonst von einer<br />
nichtdeterministischen (NTM).<br />
4
2.2. Turingmaschinen<br />
Eine NTM kann also gleichzeitig mehrere Zustände annehmen und der Kopf<br />
kann sich gleichzeitig an mehreren verschiedenen Positionen befinden. Bei einer<br />
realen Maschine ist das natürlich unmöglich. Aber es handelt sich hier ja nur um<br />
ein theoretisches Modell. Die Turingmaschine hält, wenn mindestens einer der<br />
aktuellen Zustände ein ausgezeichneter Endzustand ist. Dann ist das Problem<br />
gelöst.<br />
Es existieren Variationen von Turingmaschinen mit mehreren Ausgabebändern,<br />
Köpfen und mehr oder weniger komplexen Zwischenspeicherstrukturen. Letztlich<br />
lassen sich aber alle diese Variationen auf eine 1-Band-TM reduzieren<br />
(vgl. [Rei99, S.11,27,28]). Bezüglich der Entscheidung über die Berechenbarkeit<br />
einer Funktion macht es keinen Unterschied, ob sie mittels einer DTM oder<br />
einer NTM modelliert wird. Sobald eine solche Modellierung existiert, gilt sie<br />
als berechenbar.<br />
Da die Turingmaschine mit endlichen Alphabeten arbeitet, bedeutet es keine<br />
Einschränkung, wenn wir im Folgenden lediglich mit dem binären Alphabet<br />
Σ = {0, 1} arbeiten. Jedes andere endliche Alphabet kann sehr einfach mittels<br />
einer bijektiven Abbildung in eine Menge von Binärstrings überführt werden.<br />
Wenn wir also im Folgenden kurz von einem String x sprechen, dann meinen<br />
wir eigentlich einen String x ∈ {0, 1} ∗ .<br />
2.2.2 Simulation mittels universeller Turingmaschine<br />
Jede Turingmaschine kann vollständig und eindeutig binär kodiert werden. Eine<br />
anschauliche Kodierungsvariante für 1-Band-Turingmaschinen ist in [Rei99]<br />
beschrieben. Für die Turingmaschine M = (Σ, Q, q 1 , Q f , ∆) mit den möglichen<br />
Kopfbewegungen R = {r −1 , r 0 , r 1 }, für links, neutral und rechts, mit dem Alphabet<br />
Σ = { σ 1 , ..., σ |Σ|<br />
}<br />
sowie mit den Zustandsmengen Q =<br />
{<br />
q1 , ..., q |Q|<br />
}<br />
und<br />
Q f = {q f1 , ..., q fs } kann jeder Übergang<br />
∆(q i , σ j ) = (q i ′, σ j ′, r l ) als 0 i 1 0 j 1 0 i′ 1 0 j′ 1 0 l+2 (2.5)<br />
kodiert werden. Die 1 dient nur als Trennsymbol zwischen den Komponenten<br />
der Relation (bzw. des Übergangs). Mit 11 als Trennsymbol zwischen den<br />
Komponenten der Maschine und 111 als Abschlußsymbol ist folgende binäre<br />
Darstellung von M möglich:<br />
ϕ M = 0 |Σ| 11 0 |Q| 11<br />
Akzept. Zustände<br />
{ }} {<br />
0 f 1<br />
1 0 f 2<br />
1 ... 1 0 fs 11 ... 0} i 1 0 j 1 0 i′ {{ 1 0 j′ 1 0 l+2<br />
} 11 ... 111<br />
Übergangsrelation<br />
(2.6)<br />
σ i und q i werden dabei beide als 0 i kodiert. Da die Positionen von Symbolen<br />
und Zuständen innerhalb der Relationen fix sind, ist diese vermeintliche<br />
Uneindeutigkeit unproblematisch.<br />
Diese Kodierung von M dient als Eingabe für eine universelle Turingmaschine<br />
U. Damit kann U dann das Verhalten von M auf eine Eingabe E simulieren.<br />
5
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
Die Eingabe für U ist ϕ M #E (vgl. [Rei99, S.29]), wobei wir mit ϕ M #E die<br />
Konkatenation von ϕ M und E bezeichnen.<br />
2.3 Kolmogorov-Komplexität<br />
Intuitiv geht die Komplexität eines Objekts mit der Länge seiner vollständigen<br />
Beschreibung einher. Können wir etwas in sehr kurzer Weise vollständig beschreiben,<br />
also definieren, so würden wir dessen Komplexität als eher gering<br />
einstufen. Komplexere Objekte bedürfen einer ausführlicheren Beschreibung.<br />
Im Richard-Berry-Paradoxon geht es um die Definition einer bestimmten natürlichen<br />
Zahl [WR17]. Konkret handelt es sich um die kleinste Zahl, die in der<br />
englischen Sprache nicht mit weniger als 19 Silben beschrieben werden kann 1 .<br />
Die Definition als “The least in-te-ger not name-a-ble in few-er than nine-teen<br />
syl-la-bles” hat aber 18 Silben. Folglich gibt es keine kleinste Zahl, die nicht<br />
mit weniger als 19 Silben beschrieben werden kann. Denn wir haben ja eine<br />
Beschreibung mit 18 Silben gefunden. Eine genauere Betrachtung der Beschreibungsqualität<br />
löst diesen scheinbaren Widerspruch auf.<br />
Li und Vitányi formalisieren den Begriff der Definition in [LV08, S.177]. Eine<br />
effektive Beschreibung einer Zahl ist demnach eine Beschreibung, die einer Referenzmaschine<br />
(z.B. Turingmaschine) als Eingabe zur Ausgabe der beschriebenen<br />
Zahl dient. Die o.g. 18-silbige Beschreibung ist nach dieser Definition nicht<br />
effektiv.<br />
In [Kol65] definierte Kolmogorov bereits im Jahre 1965 eine Funktion, welche die<br />
in einem Objekt y über ein anderes Objekt x enthaltene Information zumindest<br />
theoretisch quantitativ erfassbar macht. Die relative Komplexität von x bei<br />
gegebenem y ist die Länge |p| eines Programms p mit der folgenden Eigenschaft:<br />
Sei ϕ eine partiell rekursive zweistellige Funktion, dann ist<br />
⎧<br />
⎪⎨ min<br />
C ϕ (x|y) =<br />
⎪⎩<br />
∞<br />
ϕ(p,y)=x |p|)<br />
,falls kein p mit ϕ(p, y) = x existiert.<br />
(2.7)<br />
Die Hilfsfunktion ϕ simuliert das Programm p auf Eingabe y. Sie ist per Definition<br />
partiell rekursiv und damit im Allgemeinen nicht überall bestimmt. Hier<br />
bedeutet das konkret, dass ein Programm p auf Eingabe y möglicherweise nicht<br />
terminiert. Die Funktionsdefinition (2.7) macht aber keine Einschränkungen<br />
bezüglich der Laufzeit, so dass es zu Endlosschleifen kommen kann. Wegen der<br />
Unentscheidbarkeit des Halteproblems (vgl. [LV08]) kann auch nicht bestimmt<br />
werden, bei welchen Eingaben für ϕ es zu solchen Endlosschleifen kommt.<br />
Darauf basierend zeigt Kolmogorov, dass eine partiell rekursive Funktion A<br />
1 Das die Zahl 111777 (One-hun-dred-and-e-le-ven-thou-sand-se-ven-hun-dred-and-se-ven-tyse-ven)<br />
mit genau 19 Silben<br />
6
2.3. Kolmogorov-Komplexität<br />
existiert, so dass für jede andere partiell rekursive Funktion ϕ gilt<br />
C A (y|x) C ϕ (y|x) + c ϕ . (2.8)<br />
Die Konstante c ϕ ist dabei unabhängig von x und y. Kolmogorov definiert ferner<br />
C A (y) = C A (y|1). (2.9)<br />
Dieses Maß ist heute als Kolmogorov-Komplexität bekannt.<br />
Die oben genannte Funktion A können wir durch eine universelle 1-Band-<br />
Turingmaschine modellieren [Rei99, S.195].<br />
Definition 2.1. Die Kolmogorov-Komplexität entspricht der Länge der kürzesten<br />
Eingabe p für eine universelle 1-Band-Turingmaschine U, die als Ausgabe<br />
eben diesen String x erzeugt. Sei U(p) die Ausgabe von U auf Eingabe p, dann<br />
gilt<br />
Ferner ist in Analogie zu (2.7)<br />
C(x) := min {|p| | p ∈ {0, 1} ∗ , U(p) = x} . (2.10)<br />
C(x|y) := min {|p| | p ∈ {0, 1} ∗ , U(p#y) = x} (2.11)<br />
die Kolmogorov-Komplexität von x gegeben y.<br />
Definition 2.2. Ein String x wird als zufällig oder auch als nichtkomprimierbar<br />
bezeichnet, wenn für seine Kolmogorov-Komplexität C(x) |x| − log |x| gilt. Er<br />
heißt zufällig gegeben y wenn C(x|y) |x| − log |x|.<br />
Lemma 2.3. Bis auf o(2 n ) viele Strings sind alle Strings der Länge n zufällig.<br />
Beweis. Bekanntermaßen existieren 2 n verschiedene Strings der Länge n. Um<br />
einen dieser Strings x zu erzeugen, benötigt eine UTM einen Eingabestring p.<br />
Wenn x nicht zufällig ist, dann ist |p| < n − log n. Sei m die Anzahl der Strings<br />
p, die das Kriterium erfüllen. Offensichtlich ist<br />
m = |{p | |p| < n − log n}| = 2 n−log n =<br />
2n<br />
2 log n = 2n n 2n .<br />
Damit ist die Anzahl möglicher Eingaben zur Erzeugung eines nichtzufälligen<br />
Strings durch o(2 n ) beschränkt.<br />
Für die bedingte Kolmogorov-Komplexität C(x|y) gilt das Gleiche. Die Komplexität<br />
reduziert sich im Vergleich zu C(x) drastisch, wenn man y = x wählt.<br />
Die UTM hält dann sofort, da die Eingabe bereits der gewünschten Ausgabe<br />
entspricht. In diesem Fall gilt C(x|x) O(1). Trotzdem können nur höchstens<br />
2 n−log n = 2n n<br />
nichtzufällige Strings gegeben x existeren. Es gibt einfach nicht<br />
mehr mögliche Eingabestrings p#x, die das Nichtzufälligkeitskriterium erfüllen<br />
(vgl. [Rei99, S.196]). Genau diese Eigenschaft kann man nutzen, um die Nichtberechenbarkeit<br />
der Kolmogorov-Komplexität zu beweisen.<br />
7
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
2.3.1 Berechenbarkeit<br />
Lemma 2.4. Sei L eine entscheidbare Sprache und A L ein Programm, das<br />
L entscheidet. Für i ∈ N sei x i das i-te Wort in L nach Reihenfolge der<br />
Gödelnummerierung. Dann gilt: C(x i ) ⌈log(i + 1)⌉ + c.<br />
Beweis. Dazu muss ein weiteres Programm, welches A L als Abbruchkriterium<br />
in einer Schleife aufruft, lediglich alle Binärstrings aufzählen bis x i gefunden<br />
ist:<br />
1. setze y = ε , k = 1<br />
2. wenn y ∈ L (d.h. A L (y) == true)<br />
2.1 wenn k = i: gib y aus<br />
2.2 sonst k = k + 1<br />
3. y = nachfolgender Binärstring gemäß Gödelnummerierung<br />
4. gehe zu Schritt 2<br />
Die Länge der binären Kodierung dieses Programms als obere Schranke für<br />
C(x i ) hängt von der Länge des eingebetteten Programms A L und von i ab.<br />
A L hat konstante Länge. Dessen Eingabe ist y und damit ebenfalls konstant<br />
(Man beachte, dass hier nicht der Wert von y, sondern nur der Name kodiert<br />
werden muss!). Einzige Variable für die Länge der binären Kodierung des gesamten<br />
Programms ist folglich die Länge der binären Kodierung von i. Damit<br />
die Ungleichung auch für i = 1 gilt, muss vor der Logarithmierung die 1 addiert<br />
werden.<br />
Unter Zuhilfenahme von Lemma 2.4 können wir nun folgende Aussage ableiten.<br />
Satz 2.5. Die Kolmogorov-Komplexität ist nicht berechenbar.<br />
Beweis. Nehmen wir an, die Menge der Kolmogorov-Komplexitäten sei entscheidbar,<br />
d.h. zu einem gegebenen String kann entschieden werden, ob er eine<br />
bestimmte Kolmogorov-Komplexität hat oder nicht. Die entsprechende charakteristische<br />
Funktion, sprich die Kolmogorov-Komplexität selbst, ist dann<br />
berechenbar. A sei das entsprechende Programm zur Berechnung.<br />
Sei i ∈ N und x i das binäre Wort mit der kleinsten Gödelnummer mit der<br />
Eigenschaft C(x i ) i − log i. Aus den Vorüberlegungen zur Kolmogorov-Komplexität<br />
wissen wir bereits, dass für jedes i ein solches x i existiert. Folgender<br />
Algorithmus findet x i :<br />
1. setze y = ε<br />
2. berechne C(y) mit Hilfe des Programms A<br />
3. wenn C(y) < i − log i:<br />
3.1 y = nachfolgender Binärstring gemäß Gödelnummerierung<br />
3.2 gehe zu Schritt 2<br />
4. sonst gib y aus<br />
8
2.3. Kolmogorov-Komplexität<br />
Die Ausgabe y entspricht dem gesuchten x i . Die Länge der binären Kodierung<br />
des oben beschriebenen Programms ist ⌈log(i + 1)⌉ + c (siehe Beweis zu Lemma<br />
2.1). Folglich gilt<br />
∀i ∈ N : C(x i ) ⌈log(i + 1)⌉ + c<br />
und damit auch<br />
∀i ∈ N : ⌈log(i + 1)⌉ + c C(x i ) i − log i.<br />
Offensichtlich ist diese Aussage falsch. Für jede Konstante c kann leicht ein<br />
hinreichend großes i gefunden werden mit ⌈log(i + 1)⌉ + c i − log i.<br />
2.3.2 Schrittweise Approximation<br />
Einige Funktionen können, obwohl sie wie im Fall der Kolmogorov-Komplexität<br />
nachweislich nicht berechenbar sind, trotzdem entweder von oben oder von unten<br />
angenähert werden [BGL + 98]. Wir nennen diese Funktionen halbberechenbar<br />
von oben bzw. halbberechenbar von unten.<br />
Definition 2.6. Eine Funktion f(x, y) ist halbberechenbar von oben, wenn die<br />
Menge der Tripel<br />
{(x, y, d) : f(x, y) < d, d ∈ Q} (2.12)<br />
rekursiv aufzählbar ist. Sie ist halbberechenbar von unten, wenn −f(x, y) halbberechenbar<br />
von oben ist.<br />
Satz 2.7. Die Kolmogorov-Komplexität C(x|y) ist halbberechenbar von oben.<br />
Beweis. In Absatz 2.2.2 wurde bereits eine Möglichkeit zur Kodierung von 1-<br />
Band-Turingmaschinen beschrieben. Da jede TM nur ein endliches Alphabet Σ,<br />
endliche Zustandsmengen Q und Q f und endlich viele Bewegungsrichtungen des<br />
Kopfes kennt, ist die Menge der 1-Band-Turingmaschinen rekursiv aufzählbar.<br />
Damit kann auch jeder TM ein eindeutiger Index zugeordnet werden, aus dem<br />
dann die entsprechende TM rekonstruiert werden kann.<br />
Ferner lassen sich auch alle Binärstrings {0, 1} ∗ rekursiv aufzählen. Jedes Element<br />
der folgenden Aufzählung ist ein 2-Tupel aus Index und zugehörigem<br />
Binärstring in lexikographischer Ordnung und der Länge nach aufsteigend sortiert<br />
[BGL + 98]:<br />
(0, ε), (1, 0), (2, 1), (3, 00), (4, 01), (5, 10), (6, 11), (7, 000), (8, 001), . . . . (2.13)<br />
Damit sind nun sowohl die Turingmaschinen, als auch die möglichen Ein- und<br />
Ausgaben mittels ihres jeweiligen Index eindeutig bestimmbar.<br />
Die Cantorsche Paarungsfunktion π definiert eine bijektive Abbildung zwischen<br />
einer natürlichen Zahl und einem n-Tupel natürlicher Zahlen. Sie ist definiert<br />
9
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
als<br />
π (2) (x 1 , x 2 ) :=<br />
x∑<br />
1 +x 2<br />
Die Erweiterung auf n-Tupel lässt sich induktiv definieren als<br />
i=0<br />
i + x 2 . (2.14)<br />
π (1) (x) = x (2.15)<br />
π (n) (x 1 , x 2 , ..., x n ) = π (2) (π (n−1) (x 1 , x 2 , ..., x n−1 ), x n ). (2.16)<br />
Im Folgenden verwenden wir für π (n) (x 1 , ..., x n ) die Schreibweise 〈x 1 , ..., x n 〉.<br />
Die Cantorsche Paarungsfunktion ist umkehrbar, die zugehörigen Tupel können<br />
folglich bei Angabe des Index und der Anzahl der Tupelelemente n eindeutig<br />
rekonstruiert werden.<br />
Auf diese Weise können wir also alle Indexkombinationen von TM, Eingabe und<br />
Ausgabe wiederum indizieren und damit aufzählen. Seien nun i M , i y und i x die<br />
Indizes der TM M, der Eingabe y und der Ausgabe x. Sei ferner t die Anzahl<br />
an Rechenschritten. Dann ist<br />
⎧<br />
⎪⎨<br />
1, wenn U(ϕ M #y) = x nach t Rechenschritten<br />
h(i M , i y , i x , t) =<br />
(2.17)<br />
⎪⎩ 0, sonst<br />
ein Prädikat, welches bestimmt, ob eine universelle TM U auf Eingabe von<br />
ϕ M #y nach t Schritten hält und die Ausgabe x erzeugt.<br />
Damit ist<br />
⎧<br />
⎪⎨<br />
〈y, x, |ϕ M |〉 , wenn h(i M , i y , i x , t) = 1<br />
f(〈〈i M , i y , i x 〉 , t〉) =<br />
⎪⎩ ε, sonst<br />
(2.18)<br />
die gesuchte Aufzählfunktion.<br />
2.4 Ähnlichkeitsmetriken<br />
2.4.1 Grundlagen<br />
Da wir in dieser Arbeit häufig von Ähnlichkeitsmetriken sprechen, wollen wir<br />
zunächst den Begriff der Metrik formalisieren.<br />
Definition 2.8. Eine Funktion d wird dann als Metrik über der Menge X<br />
(dem Metrikraum) bezeichnet, wenn für alle x, y, z ∈ X folgende Eigenschaften<br />
gelten:<br />
1. d(x, y) = 0 ⇔ x = y (Identitätsaxion)<br />
2. d(x, y) + d(y, z) d(x, z) (Dreiecksungleichung)<br />
10
2.4. Ähnlichkeitsmetriken<br />
3. d(x, y) = d(y, x) (Symmetrieaxiom).<br />
Die eingangs dieses Kapitels erwähnte Ähnlichkeitsdistanz d binär (siehe Gleichung<br />
(2.1)) ist demnach eine Metrik. Jedoch erscheint es nur natürlich, die<br />
Anzahl der Strings y, die sich innerhalb eines bestimmten Umgebungsradius<br />
um einen String x befinden, zu limitieren [BGL + 98]. Bei d binär ist das offensichtlich<br />
nicht der Fall. Hier liegen nämlich alle von x verschiedenen Strings<br />
im Metrikraum exakt auf der Oberfläche der Hyperkugel mit Radius 1 um x.<br />
Jedoch befinden sich beispielsweise beim Hammingabstand d H nur 2 r Objekte<br />
im Umgebungsradius r um x (siehe ggf. Definition 4.1).<br />
|{y|d H (x, y) r}| = 2 r . (2.19)<br />
So ist die Obergrenze für die Anzahl von Nachbarn innerhalb des Radius r um<br />
x explizit für jeden Radius bestimmt. Eine solche explizite Beschränkung ist<br />
ist aber gar nicht nötig. Wir wollen lediglich eine unbestimmte aber endliche<br />
Obergrenze festlegen. Deshalb führen wir eine Restriktion ein, die die Anzahl<br />
der Elemente in der Umgebung eines Strings x unabhängig von einem bestimmten<br />
Radius beschränkt. Damit sind alle Distanzmaße, die diese Eigenschaft nicht<br />
erfüllen, unzulässig.<br />
∑<br />
2 −d(x,y) < 1. (2.20)<br />
y:y≠x<br />
Bennett et al bezeichnen dies als Normalisierungseigenschaft. Erfüllt eine Ähnlichkeitsmetrik<br />
diese Normalisierungseigenschaft, nennen wir sie zulässig.<br />
Definition 2.9. Ein zulässiges Distanzmaß d u (x, y) heißt universell, wenn für<br />
alle zulässigen Distanzmaße d z (x, y) und eine Konstante c gilt:<br />
d u (x, y) < d z (x, y) + c. (2.21)<br />
Diese Universalität ist eine zentrale Eigenschaft der Informationsdistanz, der<br />
wir uns im folgenden Abschnitt widmen werden.<br />
2.4.2 Informationsdistanz<br />
Die Kolmogorov-Komplexität eines Strings entspricht der Menge an Information,<br />
die der String beinhaltet. Konsequenterweise setzt die Informationsdistanz<br />
zwischen zwei Strings auf deren Kolmogorov-Komplexitäten auf.<br />
Definition 2.10. Bei zwei Strings x, y ∈ {0, 1} ∗ entspricht deren Informationsdistanz<br />
der Länge E(x, y) des kürzesten binären Programms, welches die<br />
beiden Strings ineinander überführt.<br />
Dieses kürzeste Programm erzeugt also auf Eingabe x die Ausgabe y und umgekehrt.<br />
Nach Bennett et al gilt<br />
E(x, y) = max {C(y|x), C(x|y)} + O(log max {C(y|x), C(x|y)}). (2.22)<br />
11
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
Desweiteren ist die Informationsdistanz ein zulässiges und universelles Maß<br />
[BGL + 98].<br />
Bei der Definition der Informationsdistanz wird bewusst auf eine konkrete Programmiersprache<br />
verzichtet. So syntaktisch verschieden die vielen realen universellen<br />
Programmiersprachen (z.B. Java, C++) auch sind, haben sie in der<br />
Regel gemein, dass das Programmende durch ein individuelles Symbol oder<br />
einen speziellen Befehl kenntlich gemacht wird.<br />
Definition 2.11. Ein Code wird als Präfixcode oder präfixfreier Code bezeichnet,<br />
wenn die Menge der Codewörter präfixfrei ist. Es ist also kein Codewort<br />
Präfix eines anderen Codeworts (vgl. [Say00]).<br />
Offensichtlich sind die universellen Programmiersprachen, in denen das Ende<br />
eines Programms mittels Symbol oder Befehl markiert wird, präfixfrei. Durch<br />
eben diese Markierung kann kein Programm Präfix eines anderen sein. Da<br />
nun die Informationsdistanz als kürzeste binäre Kodierung eines Programms<br />
definiert ist, bietet es sich in Anlehnung an diese Programmiersprachen an<br />
Präfixcodes zu verwenden. Diese Einschränkung bietet einige praktische Vorteile,<br />
die wir im Folgenden näher <strong>unter</strong>suchen.<br />
Li und Vitányi zeigen in [LV08], <strong>unter</strong> welchen Bedinungen ein Präfixcode<br />
überhaupt existiert.<br />
Theorem 2.12. Für jede (un-)endliche Sequenz l 1 , l 2 , ... natürlicher Zahlen<br />
existiert ein Präfixcode mit Codewörtern, deren Längen exakt dieser Sequenz<br />
entsprechen genau dann, wenn gilt<br />
∑<br />
2 −ln 1. (2.23)<br />
n<br />
Beweis. (Genau dann:) Wir zeigen zunächst, dass jeder Präfixcode diese nach<br />
Leon G. Kraft benannte Kraft-Ungleichung (2.23) erfüllt. Sei x ein Binärstring<br />
der Länge l(x). Dann ist x ↔ Γ x = [0, x; 0, x + 2 l(x) ) eine bijektive Abbildung<br />
zwischen x und einem reellen Subintervall aus [0; 1). Das Intervall Γ x beinhaltet<br />
damit genau die reellen Zahlen, deren binäre Darstellung der Nachkommastellen<br />
mit x beginnt. Das Wörterbuch eines Präfixcodes entspricht letztlich<br />
einer Menge solcher Binärstrings x für die in der o.g. Weise eine Abbildung auf<br />
disjunkte Subintervalle aus [0; 1) möglich ist. Kein Codewort ist Präfix eines<br />
anderen, deshalb sind auch die Intervalle disjunkt. Folglich kann die Summe der<br />
Länge all dieser Intervalle höchstens 1 sein. Damit erfüllt jeder Präfixcode die<br />
Ungleichung.<br />
(Wenn:) Jetzt zeigen wir durch Konstruktion, dass bei gegebenen Codelängen<br />
l 1 , l 2 , ..., welche die Ungleichung erfüllen, stehts ein Präfixcode mit diesen Längen<br />
existiert. Nehmen wir ohne Einschränkung der Allgemeingültigkeit an, die Co-<br />
12
2.4. Ähnlichkeitsmetriken<br />
delängen seien aufsteigend sortiert. Wähle nun die Intervallgrenzen<br />
⎧<br />
⎪⎨<br />
[0; 2 −l i<br />
), wenn i = 1<br />
Γ i =<br />
⎪⎩ [2 −l i−1<br />
; 2 −l i<br />
), sonst.<br />
(2.24)<br />
Durch die aufsteigende Sortierung der Codelängen stellen wir die Präfixfreiheit<br />
sicher. Wählen wir als i-tes Codewort gerade den zum Intervall Γ i gehörigen<br />
Binärstring x, so ist der resultierende Code präfixfrei. Mit Beginn des Intervalls<br />
Γ i+1 ändert sich in der Binärdarstellung der Nachkommastellen mindestens das<br />
l i -te Bit. Die Obergrenze des Intervalls Γ i ist nämlich gerade die Zahl 0.x +<br />
2 l i<br />
= 0.x1111111 . . .. Mit der aufsteigenden Reihenfolge der Intervallgrenzen ist<br />
auch sichergestellt, dass der Gesamtwert aller höherwertigen Bits (links vom<br />
l i -ten Bit) monoton steigt. Folglich können diese Bits keine Kombination mehr<br />
annehmen, die bereits als Codewort aus einem früheren Intervall resultierte.<br />
Damit haben wir für die Sequenz l 1 , l 2 , ..., welche die Ungleichung erfüllt, einen<br />
Präfixcode konstruiert.<br />
Betrachten wir nun noch einmal die durch die Ungleichung (2.20) definierte<br />
Restriktion für zulässige Distanzmaße. Wenn wir ein Distanzmaß d(x, y) nur<br />
zulassen, wenn<br />
∑<br />
2 −d(x,y) < 1 (2.25)<br />
y:y≠x<br />
erfüllt wird, dann existiert nach Theorem 2.12 ein Präfixcode, dessen Wortlängen<br />
diesen Distanzen entsprechen. Die Ungleichung (2.25) schließt den Fall x = y,<br />
also d(x, y) = d(x, x) = 0, explizit aus. Nehmen wir diesen Fall jedoch mit auf,<br />
so erhalten wir<br />
∑<br />
2 −d(x,y) < 1 + 2 −d(x,x) = 1 + 2 0 = 2. (2.26)<br />
y<br />
Die Längen d präfix (x, y) eines Präfixcodes erfüllen die Kraft-Ungleichung und<br />
sind damit restriktiver als Ungleichung 2.26. Folglich halten die Wortlängen<br />
von Präfixcodes allen Anforderungen an ein adäquates Distanzmaß stand. Wir<br />
gehen also im Folgenden von präfixfreier Kodierung aus.<br />
Wir wollen der Einschränkung auf präfixfreie Kodierung auch formal Rechnung<br />
tragen. Die Präfixversion der Kolmogorov-Komplexität bezeichnen wir<br />
mit K. Sei U präfix eine universelle 1-Band-Turingmaschine, die aufgrund der<br />
Präfixfreiheit der Eingabe selbst entscheiden kann, wo die Codierung des zu<br />
simulierenden Programms p endet. Alle auf dem Eingabeband der Codierung<br />
von p folgenden Zeichen werden von U präfix als Eingabe für p betrachtet. Damit<br />
ergeben sich für die Präfixversion entsprechend kleine Änderungen zu Definition<br />
2.1<br />
Definition 2.13. Sei p ein präfixfreier Code, dann nennen wir<br />
K(x) := min {|p| | p ∈ {0, 1} ∗ , U präfix (p) = x} . (2.27)<br />
13
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
die Präfixversion der Kolmogorov-Komplexität von x. Für die Präfixversion der<br />
Kolmogorov-Komplexität von x gegeben y gilt entsprechend<br />
K(x|y) := min {|p| | p ∈ {0, 1} ∗ , U präfix (p#y) = x} . (2.28)<br />
Die <strong>Verwendung</strong> der Präfixversion bietet im Vergleich zur ursprünglichen Version<br />
einige Vorteile und Vereinfachungen im Umgang. Zunächst einmal bedarf<br />
es keiner besonderen Kennzeichnung der Grenze zwischen der Kodierung des zu<br />
simulierenden Programms und der Eingabe für dieses Programm. Im Folgenden<br />
wird die Präfixeigenschaft aber auch noch von weiterem Nutzen sein.<br />
2.4.3 Normalisierte Informationsdistanz<br />
Die in Ungleichung (2.20) beschriebene Normalisierungseigenschaft normalisiert<br />
die Codelängen und damit die Distanzen innerhalb eines Metrikraums. Mittels<br />
präfixfreier Kodierung können wir diese Eigenschaft realisieren.<br />
Bennett et al zeigen in [BGL + 98] eine solche präfixfreie Kodierung auf Basis<br />
des Hammingabstands 2 . Haben 2 Strings x, y ∈ {0, 1} n den Hammingabstand<br />
d und sind i 1 , . . . , i d die Positionen, an denen sich x und y <strong>unter</strong>scheiden, dann<br />
kann das Tupel (n, d, i 1 , . . . , i d ) mit H n (x, y) = 2 log n + 4 log log n + 2 + d log n<br />
Bits kodiert werden und beinhaltet alle Informationen zur Rekonstruktion von<br />
x bei gegebenem y und umgekehrt.<br />
Letztlich bleibt das resultierende Distanzmaß absolut, ist also mit Abständen<br />
aus anderen Metrikräumen nicht unmittelbar vergleichbar. Dieses wollen wir<br />
zunächst kurz mit Hilfe der beiden Metrikräume {0, 1} 1025 und {0, 1} 2048 illustrieren.<br />
Beispiel 2.14. Seien x 1 , y 1 ∈ {0, 1} 1025 und ihr Hammingabstand D H (x 1 , y 1 ) =<br />
1025, dann <strong>unter</strong>scheiden sich x 1 und y 1 an allen Positionen und könnten damit<br />
verschiedener nicht sein. Nehmen wir nun x 2 , y 2 ∈ {0, 1} 2048 und ebenfalls<br />
D H (x 2 , y 2 ) = 1025 an, dann sind nur etwa die Hälfte der Bits von x 2 und y 2<br />
verschieden.<br />
Intuitiv würden wir sagen, dass x 2 und y 2 zueinander ähnlicher sind als x 1 und<br />
y 1 . Wegen log 1025 = log 2048 = 11 gilt aber für die Längen der Kodierungen<br />
H 1025 (x 1 , y 1 ) = 2 log 1025 + 4 log log 1025 + 2 + 1025 log 1025<br />
= H 2048 (x 2 , y 2 ) = 2 log 2048 + 4 log log 2048 + 2 + 1025 log 2048<br />
= 11315.<br />
Die Kodierungslängen H 1025 (x 1 , y 1 ) und H 2048 (x 2 , y 2 ) sind also gleich. Das widerspricht<br />
der o.g. intuitiven Ähnlichkeit.<br />
2 An dieser Stelle genügt es die Präfixfreiheit einer Kodierung anzunehmen. Wie genau diese<br />
Kodierung funktioniert, zeigen wir in Abschnitt 4.2.1.<br />
14
2.4. Ähnlichkeitsmetriken<br />
Damit ergibt sich die Notwendigkeit einer Normalisierung, die Vergleiche auch<br />
über die Grenzen von Metrikräumen hinaus zulässt. Li et al definieren in [LCL + 04]<br />
Bedingungen für eine in diesem Sinne normalisierte Distanz:<br />
Definition 2.15. Eine normalisierte Distanz oder Ähnlichkeitsdistanz ist eine<br />
Funktion d : Ω × Ω → [0, 1], die symmetrisch ist (d(x, y) = d(y, x)) und bei der<br />
für jedes x ∈ {0, 1} ∗ und jede Konstante e ∈ [0, 1] gilt:<br />
|{y : d(x, y) e 1}| < 2 eK(x)+1 . (2.29)<br />
Die Anzahl der Strings innerhalb des Ähnlichkeitsradius e um x hängt damit<br />
direkt von K(x) ab. Eine geringe Komplexität von x geht mit einer geringen<br />
Anzahl von Strings mit d(x, y) e einher. Bei höherer Komplexität werden<br />
entsprechend mehr Strings innerhalb des gleichen Radius zugelassen. Ferner<br />
schreibt Ungleichung (2.29) eine Normalisierung der Distanz auf d(x, y) ∈ [0, 1]<br />
vor, wobei d(x, y) = 0 maximale Ähnlichkeit und d(x, y) = 1 maximale Verschiedenheit<br />
bedeutet. Offenbar erfüllt die in Beispiel 2.14 verwendete Kodierung<br />
diese Kriterien nicht.<br />
Wir zeigen nun, dass eine normalisierte Variante der Kraft-Ungleichung diese<br />
Eigenschaften entsprechend Ungleichung (2.29) impliziert [LCL + 04].<br />
Lemma 2.16. Sei Ω ein beliebiger Metrikraum. Wenn die Funktion d : Ω×Ω →<br />
[0, 1]<br />
∑<br />
2 −d(x,y)K(x) 1 (2.30)<br />
y<br />
erfüllt, dann erfüllt d ebenfalls die in Ungleichung (2.29) definierte Bedingung<br />
für Ähnlichkeitsdistanzen.<br />
Beweis. Wir beginnen mit Ungleichung (2.30). Unter der Annahme, es gäbe ein<br />
e ∈ [0, 1], so dass die Ungleichung (2.29) nicht erfüllt ist, erzeugen wir einen<br />
Widerspruch.<br />
1 ∑ y<br />
<br />
2 −d(x,y)K(x)<br />
∑<br />
y:d(x,y)e1<br />
2 eK(x)+1 2 −eK(x) > 1 <br />
2 eK(x) (<strong>unter</strong> <strong>Verwendung</strong> von (2.29):)<br />
Basierend auf dieser Erkenntnis leiten Li et al die normalisierte Informationsdistanz<br />
Nid ab.<br />
15
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
Satz 2.17. Seien x und y zwei beliebige Sequenzen und x ∗ bzw. y ∗ deren maximal<br />
komprimierte Darstellung (d.h. K(x) = |x ∗ | und K(y) = |y ∗ |. Dann erfüllt<br />
die Funktion<br />
Nid(x, y) = max {K(x|y∗ ), K(y|x ∗ )}<br />
max {K(x), K(y)}<br />
die Kriterien für eine normalisierte Distanz.<br />
(2.31)<br />
Die Nid besitzt alle hinreichenden Eigenschaften einer Metrik mit Genauigkeit<br />
O(1/ max {K(x), K(y)}). Die Normalisierungseigenschaft entsprechend<br />
Ungleichung (2.29) wird präzise erfüllt. Ferner ist sie universell mit Genauigkeit<br />
O(1/ max {K(x), K(y)}) [LCL + 04].<br />
Die Nid basiert auf der Kolmogorov-Komplexität. Wie bereits gezeigt wurde,<br />
ist diese jedoch nicht berechenbar. Folglich können wir die zu einem beliebigen<br />
String x gehörige ultimativ komprimierte Version x ∗ nicht erzeugen, denn es<br />
gilt K(x) = |x ∗ |. Deshalb sei an dieser Stelle darauf hingewiesen, dass es bei<br />
diesen theoretischen Betrachtungen lediglich erforderlich ist, x aus x ∗ zu rekonstruieren.<br />
Eine konkrete Möglichkeit zur Kompression von x nach x ∗ ist nicht<br />
erforderlich (vgl. [LCL + 04]).<br />
2.4.4 Normalisierte Kompressionsdistanz<br />
Alle bisherigen Überlegungen basieren auf der Kolmogorov-Komplexität. Da<br />
diese bekanntlich die Länge der ultimativ komprimierten Version eines Objekts<br />
entspricht, bietet es sich an, bekannte reale Kompressionsverfahren zur<br />
Approximation einzusetzen. Um ein Ähnlichkeitsmaß auf Basis solcher Kompressionsverfahren<br />
zu entwickeln, stellen wir zunächst einige Vorüberlegungen<br />
an.<br />
Definition 2.18. Seien x, y ∈ {0, 1} ∗ , dann ist die Information über x, welche<br />
in y enthalten ist definiert als<br />
I(x : y) = K(x) − K(x|y ∗ ). (2.32)<br />
Wir bezeichnen mit K(x, y) die Länge des kürzesten Präfixrogramms, welches x<br />
und y erzeugen und voneinander separieren kann. Wegen K(y, K(y)) = K(y) =<br />
K(y ∗ ) gilt nach Gač [Gač74] auch<br />
I(x : y) = K(x) − K(x|y). (2.33)<br />
Gač zeigt ferner, dass eine Konstante c 0 unabhängig von x und y existiert,<br />
so dass folgende Gleichungen mit Genauigkeit c gelten. Li und Vitányi führen<br />
den Beweis in [LV08] etwas ausführlicher.<br />
Theorem 2.19. Für die Präfixversion der Kolmogorov-Komplexität gilt:<br />
K(x, y) = K(x) + K(y|x) + O(1) = K(y) + K(x|y) + O(1).<br />
16
2.4. Ähnlichkeitsmetriken<br />
Beweis. (:) Sei p das kürzeste Programm, das auf der Präfix-Referenzmaschine<br />
A die Ausgabe x erzeugt. Sei ferner q das kürzeste Programm, das auf Maschine<br />
A mit Eingabe (x, K(x)) die Ausgabe y erzeugt. Dann können wir eine andere<br />
Präfixmaschine B finden, die auf Eingabe eines Programms p#q zunächst<br />
mittels p den String x erzeugt. Wegen K(x) = |p| ist implizit auch K(x) bekannt.<br />
Damit kann q dann y erzeugen und die zusätzliche explizite Eingabe von<br />
(x, K(x)) ist überflüssig.<br />
(:) Wir betrachten x und K(x) als feste Konstanten. Sei X die Menge der<br />
rekursiv aufzählbaren Funktionen f x (y) mit ∑ y f x(y) < ∞. Dann existiert eine<br />
Funktion g(x) ∈ X, so dass für alle f x ∈ X gilt f x (y) = O(g(y)). Nach [LV08]<br />
darf g(y) = 2 K(y|x,K(x)) gesetzt werden.<br />
Die Funktion h x (y) = 2 K(x)−K(x,y) ist rekursiv aufzählbar. Da x und K(x)<br />
fix sind, ist {K(x, y) : y ∈ N} die Menge der Längen eines Präfixcodes. Dessen<br />
Ausführung auf der Präfix-Referenzmaschine U erzeugt die Ausgabe 〈x, y〉. Da<br />
Präfixcodes die Kraft-Ungleichung (2.23) erfüllen gilt<br />
∑<br />
h x (y) = ∑ 2 K(x)−K(x,y) = 2 ∑ K(x) 2 −K(x,y) 2 K(x) < ∞. (2.34)<br />
y<br />
y<br />
y<br />
} {{ }<br />
1<br />
Damit gilt h x (y) ∈ X und folglich auch<br />
2 K(x)−K(x,y) = O<br />
(2 K(y|x,K(x)))<br />
⇔ 2 K(x)−K(x,y) c 2 K(y|x,K(x))<br />
Durch Logarithmierung zur Basis 2 und Umformung ergibt sich dann<br />
K(x, y) K(x) − K(y|x, K(x)) + O(1)<br />
Analog lässt sich auch der Beweis für K(x, y) K(y) − K(x|y, K(y)) + O(1)<br />
führen.<br />
Sei K(x#y) die Länge des kürzesten Programms, welches die Konkatenation<br />
von x und y erzeugt. Man sieht leicht, dass K(x, y) = K(x#y) ± O(log x) gilt.<br />
Die zur Trennung zwischen x und y erforderliche Information (z.B. Länge von<br />
x) kann in O(log x) kodiert werden. Somit ist K(x|y) ≈ K(x#y) − K(y).<br />
Allgemeine Kompressionsprogramme (z.B. gzip) komprimieren die Eingabedaten<br />
ohne Kenntnis separater Information. Die entsprechende Kompressionsfunktion<br />
Comp(x) erhält deshalb auch lediglich eine Eingabe. Dieser Ansatz wird<br />
von Li et al verfolgt [LCL + 04].<br />
Definition 2.20. Sei Comp ein reales Programm zur Kompression, dann ist<br />
die normalisierte Kompressionsdistanz<br />
NCD(x, y) =<br />
Comp(x#y) − min {Comp(x), Comp(y)}<br />
. (2.35)<br />
max {Comp(x), Comp(y)}<br />
17
Kapitel 2. Kompressionsbasierte Ähnlichkeitsdistanz<br />
Die Idee, die Ähnlichkeit zweier Strings basierend auf Ihrer Informationsdistanz<br />
über Kompressionsalgorithmen zu approximieren, ist damit theoretisch <strong>unter</strong>mauert.<br />
Den Ansatz der kompressionsbasierten Approximation werden wir im<br />
Rahmen dieser Arbeit weiterentwickeln und in verschiedenen Anwendungsbereichen<br />
auf Praxistauglichkeit hin <strong>unter</strong>suchen.<br />
18
3 Grundlagen der maschinellen<br />
Klassifikation<br />
3.1 Der k-NN Algorithmus<br />
Der k-NN-Algorithmus ist ein sehr häufig eingesetzter Klassifikator. Trotz seines<br />
denkbar einfachen Prinzips, lassen sich damit in vielen Bereichen überaus gute<br />
Ergebnisse erzielen. Für die Entsscheidung über die Klassenzugehörigkeit eines<br />
Objekts spielen nur die k nächsten Nachbarn des zu klassifizierenden Objekts<br />
eine Rolle. In diesem Fall ist also der Name im wahrsten Sinne des Wortes Programm.<br />
Es wird aus dieser Gruppe der k Nachbarn einfach die Klasse gewählt,<br />
die am häufigsten vertreten ist.<br />
Beispiel 3.1. Abbildung 3.1 zeigt das Prinzip einer k-NN Klassifikation. Dabei<br />
muss der Klassifikator entscheiden, ob eine unbekannte Person (hier dargestellt<br />
als schwarzer Punkt in der Mitte des Bildes) männlich oder weiblich ist. Unter<br />
den drei nächsten Nachbarn befinden sich zwei Frauen und ein Mann. Entsprechend<br />
würde der ein 3-NN-Klassifikator die unbekannte Person als Frau klassifizieren.<br />
Der Umgebungsradius für die 3 nächsten Nachbarn ist als durchgezogener<br />
Kreis um die unbekannte Person gezogen. Ein 5-NN-Klassifikator würde<br />
die Nachbarn im gestrichelten Radius berücksichtigen. In diesem Fall würde die<br />
Person als Mann klassifiziert.<br />
In der Praxis tauchen an dieser Stelle unmittelbar drei Probleme auf. Zunächst<br />
einmal müssen die nächsten Nachbarn identifiziert werden. Außerdem müssen<br />
die Klassenzugehörigkeiten dieser Nachbarn bekannt sein. Nicht zuletzt ist auch<br />
die Wahl eines geeigneten k entscheidend für die Klassifikationsgüte. Wir haben<br />
im Beispiel gesehen, dass verschiedene Werte für k leicht zu <strong>unter</strong>schiedlichen<br />
Gewicht<br />
?<br />
Größe<br />
Abbildung 3.1: Beispiel für eine einfache k-NN-Klassifikaton<br />
19
Kapitel 3. Grundlagen der maschinellen Klassifikation<br />
Ergebnissen führen können. In der Regel wird das beste k experimentell bestimmt.<br />
In vielen Fällen bringt die Wahl eines relativ kleinen k < 10 bereits<br />
sehr gute Ergebnisse.<br />
Datenklassifikation ist ein zweistufiger Prozess [HK06]. Dem eigentlichen Klassifizieren<br />
geht ein Prozess des Lernens voraus. Der Klassifikatonsalgorithums lernt<br />
in dieser Phase, wie die verschiedenen Klassen <strong>unter</strong>schieden werden können.<br />
Beim k-NN-Algorithmus geschieht das in einer überwachten Trainingsphase.<br />
Überwachung bedeutet hier, dass für die Objekte, welche in der Trainingsphase<br />
zur Verfügung stehen, die jeweilige Klassenzugehörigkeit bekannt ist. Einige<br />
Klassifikationsalgorithmen mit überwachter Lernphase, wie z.B. Support-<br />
Vektor-Maschinen oder neuronale Netze, lernen auf <strong>unter</strong>schiedliche Weise eine<br />
oder mehrere Hyperebenen, die die verschiedenen Klassen räumlich voneinander<br />
trennen. Der k-NN-Algorithmus macht so etwas nicht. Er merkt sich einfach<br />
die Positionen und Klassen der Trainingsobjekte im Raum.<br />
Die Positionierung erfolgt mittels der Attribute der Objekte. Attribute sind<br />
letztlich bestimmte Eigenschaften. Im Beispiel aus Abbildung 3.1 könnten das<br />
” Größe“ und Gewicht“ sein. Deren Werte geben dann die Koordinaten im<br />
”<br />
2-dimensionalen Raum vor, der durch diese Attribute aufgespannt wird. In unserem<br />
Beispiel sind Frauen tendenziell kleiner und leichter als Männer.<br />
Es existieren verschiedene Varianten des k-NN-Algorithmus, in denen beispielsweise<br />
nicht alle Nachbarn gleichermaßen in die Bewertung eingehen. So können<br />
Nachbarn in Abhängigkeit von ihrer Distanz gewichtet werden. Nahe Nachbarn<br />
erhalten ein entsprechend höheres Gewicht. Wir werden im Verlauf dieser Arbeit<br />
jedoch ausschließlich mit dem ungewichteten Algorithmus arbeiten. So ist<br />
es sogar relativ wahrscheinlich, dass <strong>unter</strong> den nächsten Nachbarn zwei oder<br />
mehr Klassen in gleicher Häufigkeit auftreten. Ist aus diesem Grund keine eindeutige<br />
Klassifikation mittels k-NN möglich, so muss die Entscheidung zwischen<br />
den möglichen Kandidaten auf andere Art und Weise getroffen werden. Bei den<br />
Experimenten im weiteren Verlauf dieser Arbeit werden wir uns in einem solchen<br />
Fall immer für die Klasse entscheiden, bei der die Summe der Distanzen<br />
am kleinsten ist.<br />
Nicht zuletzt ist auch die Auswahl des Distanzmaßes ein entscheidender Faktor<br />
für die Qualität der Klassifikation. Es ist längst nicht immer unmittelbar klar,<br />
wie ein solches Maß auszusehen hat. In unserem Beispiel müssten wir den Abstand<br />
in einem Raum bestimmen, dessen zwei Dimensionen Gewicht in kg und<br />
Größe in cm völlig verschieden sind. Der k-NN-Klassifikator ist aber dahingehend<br />
universell, dass er zumindest syntaktisch mit jeglicher Art von Abstand<br />
funktioniert. Ob ein Distanzmaß geeigent ist oder nicht, hängt maßgeblich von<br />
der Art der zu klassifizierenden Objekte ab.<br />
20
3.2. Bestimmung der Klassifikationsgüte<br />
3.2 Bestimmung der Klassifikationsgüte<br />
Um die Qualität eines Klassifikators zu überprüfen, kann auf eine Vielzahl<br />
bekannter <strong>Methoden</strong> zurückgegriffen werden. Von zentraler Bedeutung sind<br />
zunächst einmal die möglichen Bewertungen der Zwei-Klassen-Klassifikation.<br />
Dabei muss der Klassifikator lediglich entscheiden, ob ein Objekt zu einer<br />
Klasse gehört (positiv) oder eben nicht (negativ). Damit ergeben sich vier<br />
Möglichkeiten:<br />
richtig-positiv: Ein Objekt wird als richtig-positiv gewertet, wenn es tatsächlich<br />
zur Klasse gehört und als positiv klassifiziert wurde.<br />
falsch-positiv: Gehört ein Objekt tatsächlich nicht zur Klasse, wird aber<br />
trotzdem als positiv klassifiziert, dann geht es als falsch-positiv in die<br />
Bewertung ein.<br />
richtig-negativ: Ein als negativ klassifiziertes Objekt, das auch tatsächlich<br />
nicht zur Klasse gehört, wird als richtig-negativ gewertet.<br />
falsch-negativ: Ein als falsch-negativ bewertetes Objekt wurde trotz tatsächlicher<br />
Klassenzugehörigkeit als negativ klassifiziert.<br />
Auf Basis dieser individuellen qualitativen Bewertung der Klassifikation je Objekt,<br />
können verschiedene statistische Kennwerte für die Klassifikationsgüte abgeleitet<br />
werden. Die Korrektheit eines Klassifikators ergibt sich als Anteil der<br />
korrekt klassifizierten Objekte. Intuituv würde man einen Klassifikator mit einer<br />
Korrektheit von 90% durchaus als brauchbar einstufen. Betrachten wir einmal<br />
folgendes Beispiel mit besonders ungleicher Verteilung der Klassen.<br />
Beispiel 3.2. Nehmen wir an, wir hätten einen Klassifikator zur Erkennung<br />
von Krebs trainiert. Dieser entscheidet für ein gegebenes Bild, ob sich darauf<br />
ein Tumor befindet oder nicht. Dieser Klassifikator habe eine Korrektheit<br />
von 90%. Leider zeigten nur 5% der Trainingsbilder einen Tumor. Alle Nicht-<br />
Tumor-Bilder wurden korrekt als solche erkannt. Viele der Tumor-Bilder aber<br />
fälschlicherweise auch. Eine Korrektheit des Klassifikators von 90% dürfte in<br />
diesem Fall nicht akzeptabel sein.<br />
Es existiert also Bedarf an Kennzahlen, die auch die Verteilung der Klassen<br />
innerhalb der Trainingsmenge berücksichtigen. Einige davon wollen wir folgend<br />
vorstellen.<br />
Definition 3.3. Sei |richtig-positiv| die Anzahl der richtig-positiv klassifizierten<br />
Objekte und |positiv| die Anzahl aller tatsächlich positiven Objekte, dann<br />
ist<br />
die Sensitivität des Klassifikators K.<br />
Sens(K) = |richtig-positiv|<br />
|positiv|<br />
Die Sensitivität eines Klassifikators gibt also an, welcher Anteil der tatsächlich<br />
positiven Objekte auch als solche klassifiziert wurden. Das allein gibt aber noch<br />
21
Kapitel 3. Grundlagen der maschinellen Klassifikation<br />
Tatsächliche Klasse<br />
Klassifikationsergebnis<br />
positiv negativ<br />
positiv richtig-positiv falsch-positiv<br />
negativ falsch-negativ richtig-negativ<br />
Tabelle 3.1: Schema einer Konfusionsmatrix [HK06]<br />
keinen Aufschluß über die Klassifikationsgüte. Ein Klassifkator, der einfach alle<br />
eingegebenen Objekte als positiv klassifiziert, erreicht mit dieser Strategie offenbar<br />
eine optimale Sensitivität. Die Sensitivität kann also nur in Verbindung<br />
mit weiteren Kennzahlen aufschlußreich sein.<br />
Definition 3.4. Sei |richtig-negativ| die Anzahl der richtig-negativ klassifizierten<br />
Objekte und |negativ| die Anzahl aller tatsächlich negativen Objekte,<br />
dann ist<br />
die Spezifität des Klassifikators K.<br />
Spez(K) = |richtig-negativ|<br />
|negativ|<br />
Die Spezifizität ist aus ähnlichem Grund wie die Sensitivität kein Maß mit<br />
dem für sich genommen eine hinreichend gute Aussage über die Klassifikationsgüte<br />
getroffen werden kann. Die Akkuratheit berücksichtigt beide Maße in<br />
<strong>unter</strong>schiedlicher Gewichtung [HK06].<br />
Definition 3.5. Die gewichtete Summe von Sensitivität und Spezifität<br />
|positiv|<br />
Akk(K) = Sens(K)<br />
|positiv| + |negativ| + Spez(K) |negativ|<br />
|positiv| + |negativ| .<br />
ist die Akkuratheit eines Klassifikators K.<br />
Für den Fall der Klassifikationsentscheidung zwischen mehreren Klassen gibt<br />
die Konfusionsmatrix einen guten und schnellen Überblick über die Klassifikationsgüte.<br />
Die Konfusionsmatrix ist quadratisch und enthält jeweils so viele Zeilen<br />
und Spalten, wie es mögliche Klassen gibt. Sei M eine solche Konfusionsmatrix,<br />
dann entspricht der Wert m i,j der Anzahl von Objekten der tatsächlichen<br />
Klasse j, die als i klassifiziert wurden. Die Werte auf der Hauptdiagonalen der<br />
Konfusionsmatrix entsprechen also der Anzahl der richtig-positiv klassifizierten<br />
Objekte. Tabelle zeigt das Schema einer Konfusionsmatrix eines Zwei-Klassen-<br />
Klassifikators. Die Summe aller Werte der Konfusionsmatrix entspricht der Anzahl<br />
der klassifizierten Objekte.<br />
Im allgemeinen Fall mit n Klassen kann man für jede dieser Klassen eine individuelle<br />
Klassifikationsgüte aus der Konfusionmatrix M ablesen. Für die i-te<br />
22
3.2. Bestimmung der Klassifikationsgüte<br />
Klasse finden wir die Anzahl der richtig-positiv klassifizierten Objekte an Position<br />
m i,i . Die Summe aller anderen Werte der Spalte i entspricht der Häufigkeit<br />
falsch-negativ klassifizierter Objekte. Die Summe aller Werte von Zeile i ergibt<br />
die Häufigkeit von falsch-negativ-Klassifikation. Alle übrigen Werte, also<br />
alle außerhalb von Zeile i und Spalte i, entsprechen addiert der Anzahl von<br />
richtig-negativ klassifizierten Objekten.<br />
Es existiert noch eine Vielzahl weiterer Kennzahlen zur Ermittlung der Klassifikatonsgüte.<br />
So können z. B. mit Hilfe einer Kostenfunktion Klassifikationsfehler<br />
(falsch-positiv oder falsch-negativ) <strong>unter</strong>schiedlich gewichtet werden. Bei einem<br />
Klassifikator für das Szenario aus Beispiel 3.2 ist ein falsch-negativ-Ergebnis<br />
deutlich kritischer als falsch-positiv. So ist es zweifelsfrei schwerwiegender einen<br />
vorhandenen Tumor nicht zu erkennen. Die falsch-negativ-Rate sollte deshalb<br />
bei der Beurteilung des Klassifikators ein höheres Gewicht bekommen. Für die<br />
im Rahmen dieser Arbeit behandelten Szenarien ist eine solche Gewichtung<br />
jedoch nicht erforderlich. Wir gehen deshalb nicht weiter darauf ein.<br />
Ist die Kardinalität aller Klassen in der Testmenge ungefähr gleich groß und<br />
sind die Gewichtungen der Fehler annähernd identisch, dann ist die einfache<br />
Fehlerrate bereits ein guter Indikator.<br />
Definition 3.6. Sei |alle| die Anzahl aller klassifizierten Objekt, dann ist<br />
Err(K) =<br />
|falsch − positiv| + |falsch − negativ|<br />
|alle|<br />
(3.1)<br />
die Fehlerrate des Klassifikators K.<br />
Die o. g. Bedinungen sind in den im Rahmen dieser Arbeit behandelten Anwendungsfälle<br />
erfüllt. Aus diesem Grund werden wir für die Beurteilung des<br />
Klassifikators bei mehr als zwei möglichen Klassen in der Regel zunächst die<br />
Fehlerrate heranziehen. Im Falle der Notwendigkeit klassenspezifischer Beurteilung<br />
greifen wir auch auf die anderen hier vorgestellten Kennzahlen zurück.<br />
Häufig hängt die Klassifikationgüte von Parametern des Klassifikators ab. Beim<br />
k-NN-Algorithmus steckt ein solcher Parameter bereits im Namen. Wir werden<br />
später noch sehen, dass die Auswahl eines Wertes für k erheblichen Einfluss<br />
auf die Fehlerrate haben kann. Ein verbreitetes Verfahren zur Visualisierung<br />
einer entsprechenden Parameteroptimierung ist die ROC-Kurve 1 [HK06]. Eine<br />
ROC-Kurve wird in einem zweidimensionelen kartesischen Koordinatensystem<br />
dargestellt. Die horizontale Achse beschreibt falsch-positiv-Rate (1−Spezifität),<br />
während auf der vertikalen Achse die Sensitivität (richtig-positiv-Rate) aufgetragen<br />
wird. Ein optimales Klassifikationsergebnis ist dann erreicht, wenn die<br />
Sensitivität gleich 1 ist, während die falsch-positiv-Rate bei 0 liegt. In der Praxis<br />
wird das aber eher selten erreicht.<br />
Abbildung 3.2 zeigt eine solche ROC-Kurve. Die rote Linie entspricht der Klassifikationsgüte<br />
mit zufälligem Raten. Im Falle einer Klassifikation als positiv ist<br />
1 Abk. für Receiver Operating Characteristics<br />
23
Kapitel 3. Grundlagen der maschinellen Klassifikation<br />
richtig−positiv−Rate<br />
1<br />
Klassifikation →<br />
0.8<br />
0.6<br />
← Distanz<br />
0.4<br />
0.2 ← Zufallsentscheidung<br />
0<br />
0 0.2 0.4 0.6 0.8 1<br />
falsch−positiv−Rate<br />
Abbildung 3.2: Schema einer ROC-Kurve<br />
die Wahrscheinlichkeit gerade 0, 5, dass es sich tatsächlich um ein Objekt der<br />
Klasse handelt. Genauso wahrscheinlich ist es, dass ein als positiv klassifiziertes<br />
Objekt eigentlich nicht zur Klasse gehört. Je weiter ein Klassifikationsergebnis<br />
(hier als blaue Kurve dargestellt) oberhalb der roten Linie liegt, desto besser<br />
ist dieses Ergebnis. Im absolut optimalen Fall liegt dieser Punkt exakt in der<br />
linken oberen Ecke.<br />
Um mit Hilfe der Kurve den für den Klassifikator besten Parameterwert zu<br />
ermitteln, müssen alle in Frage kommenden Möglichkeiten getestet werden. Bei<br />
jedem Test wird das erzielte Ergebnis als Punkt der ROC-Kurve eingetragen.<br />
Der Wert, dessen zugehöriger Punkt auf der Kurve am weitesten entfernt vom<br />
zufälligen Raten liegt, ist in diesem Sinne optimal.<br />
3.3 Normierung und Invarianzen<br />
Manchmal bedürfen die Klassifikatoren einer gewissen Vorverarbeitung der zu<br />
klassifizierenden Objekte. Diese Notwendigkeit ergibt sich aus verschiedenen<br />
Gründen. Das kann im Fall des k-NN-Klassifikator z. B. das verwendete Distanzmaß<br />
d sein.<br />
Beispiel 3.7. Nehmen wir an, x und y seien zwei Bilder, die jeweils ein geometrisches<br />
Objekt zeigen. Die Distanz sei d(x, y). Nun erfährt das Objekt auf<br />
Bild x eine Translation. Das resultierende Bild nennen wir Trans(x) = x T .<br />
Gilt nun d(x, y) ≈ d(x T , x), dann nennen wir das verwendete Distanzmaß d<br />
translationsinvariant.<br />
Distanzmaße werden häufig qualitativ nach ihrer Invarianz bezüglich der affinen<br />
Transformationen ”<br />
Translation“, ”<br />
Rotation“ und ”<br />
Skalierung“ beurteilt.<br />
Ist eine solche Invarianz nicht gegeben, dann müssen sowohl die Traingsmenge<br />
als auch die zu klassifizierenden Objekte vorab normiert werden. Ist im Szena-<br />
24
3.3. Normierung und Invarianzen<br />
Abbildung 3.3: Der SIFT -Algorithmus findet mittels invarianter Merkmale im rechten<br />
Bild den Frosch (rot umrandet) und zweimal die Lokomotive (grün und gelb) obwohl<br />
diese teilweise verdeckt sind<br />
rio aus Beispiel 3.7 beispielsweise die Translationsinvarianz nicht gegeben, so<br />
sollten die Objekte auf den Bildern vorab zentriert werden.<br />
Diesen Prozess der Vorverarbeitung, der der Invarianz bezüglich bestimmter<br />
Transformationen geschuldet ist, bezeichnen wir als Normierung. Im Rahmen<br />
der experimentellen Untersuchungen im folgenden Kapitel sind wir sowohl an<br />
einer niedrigen Fehlerrate also auch an hoher Invarianz des verwendeten Klassifikators<br />
interessiert. Wir beschränken uns bei unseren Betrachtungen auf die<br />
Translationsinvarianz.<br />
Das grundsätzliche Interesse an Invarianz ist in der Praxis nicht nur auf Distanzmaße<br />
beschränkt. Es gilt auch für Objektmerkmale. So haben wir uns<br />
im Rahmen der Vorüberlegungen zu dieser Arbeit <strong>unter</strong> anderem mit merkmalsbasierten<br />
Ansätzen zur Objekterkennung auf Fotos befasst. Beispielsweise<br />
extrahiert der SIFT -Algorithmus 2 aus einem gegeben Foto eines beliebigen<br />
Objekts bestimmte Merkmale [Low04]. Diese Merkmale, die sogenannten Keypoints,<br />
sind die Bildpunkte, die für die Wiedererkennung des Objekts relevant<br />
sind. Auf einem zweiten Foto, welches das selbe Objekt aber vielleicht etwas<br />
verdeckt oder aus anderer Perspektive zeigt, kann der Algorithmus das Objekt<br />
finden und markieren. Dazu werden auf dem zweiten Bild ebenfalls Keypoints<br />
extrahiert. Im Wesentlichen entscheidet nun die Anzahl identischer Keypoints<br />
darüber, ob ein Objekt erkannt werden kann oder nicht.<br />
Dem Namen nach zu urteilen sind die Merkmale nach Transformation mit<br />
SIFT skalierungsinvariant. In bestimmten Grenzen gilt diese Invarianz auch<br />
bezüglich anderer affiner Transformationen und sogar 3D-Rotation sowie Ausleuchtung<br />
des Objekts. Der dreidimensionalen Rotationsinvarianz sind jedoch<br />
bereits natürliche Grenzen gesetzt. Wird beispielsweise ein Würfel aus zwei<br />
Perspektiven aufgenommen, und stehen die Blickrichtungen der Kameras rechtwinklig<br />
zueinander, dann ist bereits keiner der Bildpunkte aus der ersten Perspektive<br />
auch im zweiten Bild zu sehen.<br />
2 Abk. für ”<br />
Scale Invariant Feature Transform“<br />
25
Kapitel 3. Grundlagen der maschinellen Klassifikation<br />
Abbildung 3.3 zeigt einen Anwendungsfall des SIFT-Algorithmus. Dabei sollen<br />
die links abgebildeten Motive ”<br />
Frosch“ und ”<br />
Lokomotive“ im Bild rechts wiedergefunden<br />
und umrahmt werden. Die farbigen Umrandungen entsprechen den<br />
durch den Algorithmus berechneten Rahmen zur Lokalisierung des Objekts. Die<br />
kleinen Quadrate innerhalb der Rahmen geben die Position der Keypoints an.<br />
Unsere Experimente beziehen sich auf die Klassifikation handgeschriebener Ziffern.<br />
Es stellte sich heraus, dass die <strong>Verwendung</strong> des SIFT -Algorithmus für diese<br />
Zwecke nicht geeignet ist. In den Bildern der Ziffern können einfach nicht ausreichend<br />
viele Keypoints gefunden werden. Aus diesem Grund verfolgen wir den<br />
Ansatz, dass ähnliche Bilder auch ähnliche Keypoints erzeugen, im Rahmen dieser<br />
Arbeit nicht weiter. Trotzdem wollen wir die Idee von SIFT nicht unerwähnt<br />
lassen, vermittelt sie doch einen guten Eindruck von Einsatzmöglichkeiten invarianter<br />
Merkmale.<br />
26
4 Klassifikation mit Hilfe verschiedener<br />
Ähnlichkeitsmetriken<br />
4.1 Handgeschriebene Ziffern<br />
Das National Institute of Standards and Technology (NIST) bietet eine Datenbank<br />
mit tausenden handgeschriebene Ziffern als schwarz/weiss-Bilder an [ST].<br />
Diese Datenbank beinhaltet im wesentlichen zwei Teile. Die Special Database<br />
3 war von der NIST ursprünglich als Trainingsmenge gedacht, während der<br />
Inhalt von Special Database 1 die Testmenge darstellen sollte. LeCunn et al<br />
stellten in [LBBH98] jedoch fest, dass die Handschriften beider Datenbanken<br />
nicht ausreichend heterogen sind. SD-3 ist demnach deutlich leichter zu klassifizieren<br />
als SD-1. Um aussagekräftige Ergebnisse zu erzielen, muss jedoch die<br />
Auswahl der Trainingsmenge unerheblich für die Klassifikationsgüte sein. Le-<br />
Cunn et al fassten deshalb aus beiden Datenbanken jeweils 30000 Datensätze<br />
heterogener Herkunft zu einer neuen Trainingsmenge von 60000 Ziffern zusammen.<br />
Jeweils 5000 Datensätze aus beiden Datenbanken dienen als Testmenge.<br />
Training- und Testmenge sind bezüglich der insgesamt ca. 250 Schreiber disjunkt.<br />
Die von einer Person geschriebenen Ziffern befinden sich also entweder<br />
alle in der Trainings- oder alle in der Testmenge.<br />
Die originalen schwarz/weiß-Bilder des NIST wurden auf eine Größe von 20×20<br />
Pixeln skaliert, ohne dabei die Seitenverhältnisse zu verändern. Die resultierenden<br />
Bilder wurden zusätzlich jeweils mit ihrem Schwerpunkt in einem 28 × 28-<br />
Bild zentriert. Man beachte, dass der Schwerpunkt im allgemeinen nicht dem<br />
Mittelpunkt des die Ziffer gerade einrahmenden Rechtecks entspricht. Die in<br />
den neuen Bildern vorhandenen Grauwerte sind der o.g. Skalierung geschuldet.<br />
Die Bilder liegen demnach in bezüglich Skalierung und Translation normierter<br />
Form vor.<br />
Die genaue Zusammensetzung des MNIST-Datenbestands ist der Tabelle 4.1 zu<br />
entnehmen. Dort ist genau verzeichnet, wie viele Trainings- und Testbilder der<br />
0 1 2 3 4 5 6 7 8 9<br />
Training 5923 6742 5958 6131 5842 5421 5918 6265 5851 5949<br />
Test 980 1135 1032 1010 982 892 958 1028 974 1009<br />
Tabelle 4.1: Anzahl der einzelnen Ziffern in Trainings- und Testmenge der MNIST-<br />
Datenbank<br />
27
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
Abbildung 4.1: 10 Beispielbilder je Ziffer aus dem MNIST-Datenbestand<br />
einzelnen Ziffern vorhanden sind. Abbildung 4.1 zeigt eine zufällige Auswahl<br />
von 10 Beispielbildern je Ziffer.<br />
Um ihre eigenen Ergebnisse mit der Qualität anderer <strong>Methoden</strong> vergleichbar zu<br />
machen, stellen sie die modifizierte Datenbasis öffentlich <strong>unter</strong> dem Namen The<br />
MNIST Database of handwritten digits zur Verfügung [LC98]. An gleicher Stelle<br />
sind auch bereits etliche Ergebnisse anderer Autoren aufgeführt. Dabei kamen<br />
bereits eine Vielzahl verschiedenartiger Klassifikationsverfahren wie k-NN oder<br />
neuronale Netze und Support-Vektor-Maschinen in diversen Variationen zum<br />
Einsatz. Die Fehlerrate der dort veröffentlichten Klassifikationsergebnisse liegt<br />
im Bereich zwischen 0, 4 und 12%. Die meisten dieser Klassifikatoren erreichen<br />
eine Fehlerrate <strong>unter</strong> 3%. Einige der Verfahren mit besonders geringen Fehlerraten<br />
bedürfen allerdings einer weiteren Vorverarbeitung der Daten.<br />
4.2 Standardmaße<br />
Wir stellen nun zunächst einige allgemein bekannte Distanzmaße vor. Exemplarisch<br />
zeigen wir einen Präfixcode, dessen Länge proportional zum Hammingabstand<br />
wächst. Die daraus resultierenden Kodierungen können als Programm p<br />
28
4.2. Standardmaße<br />
für eine universelle Turingmaschine U aufgefasst werden. Dieses Programm p<br />
überführt eine Eingabe y ∈ {0, 1} n in eine gleichlange Ausgabe x ∈ {0, 1} n . Also<br />
ist die Länge von p eine obere Schranke für die Präfixversion der Kolmogorov-<br />
Komplexität von x gegeben y (siehe Gleichung 2.28). Damit können wir nun<br />
auch die Informationsdistanz zwischen x und y nach Definition 2.10 approximieren.<br />
Für die weiteren Distanzmaße verzichten wir auf die explizite Herleitung einer<br />
solchen Kodierung. Hier zeigen wir lediglich, dass sie jeweils die Eigenschaften<br />
einer Metrik erfüllen und damit grundsätzlich als Distanzmaß geeignet sind.<br />
In zweiten Teil dieses Kapitels definieren und entwickeln wir ein neues kompressionsbasiertes<br />
Abstandsmaß speziell für Bilder und zeigen einige Vorteile dieses<br />
Abstadsmaßes gegenüber den zuvor beschriebenen Standardmaßen auf.<br />
4.2.1 Hammingabstand<br />
Definition 4.1. Für zwei Strings x, y ∈ {0, 1} ∗ gleicher Länge ist der Hammingabstand<br />
d H (x, y) = |{ i | x i ≠ y i , 1 < i < |x|}| . (4.1)<br />
Die Strings werden also komponentenweise miteinander verglichen. Der Hammingabstand<br />
entspricht dann der Anzahl der voneinander verschiedenen Elemente.<br />
Man sieht leicht, dass es sich hier vermutlich um ein für Translation<br />
anfälliges Maß handelt. Intuitiv sind die beiden Strings x = 10101010101 und<br />
y = 01010101010 ähnlich, trotzdem ist ihr Hammingabstand d H (x, y) = |x| =<br />
|y|, also maximal. Um dem intuitiven Ähnlichkeitsempfinden nahe zu kommen,<br />
scheint also vorab eine präzise Normierung bezüglich der Translation notwendig<br />
zu sein. Am Ende dieses Abschnittes werden wir diese Vermutung experimentell<br />
bestätigen.<br />
Wir wollen nun zunächst zeigen, dass der Hamminabstand eine Metrik ist. Offensichtlich<br />
sind<br />
1. die Identitätsbedingung d H (x, y) = 0 ⇔ x = y sowie<br />
2. die Symmetriebedingung d H (x, y) = d H (y, x)<br />
erfüllt. Nicht unmittelbar klar ist die Erfüllung der Dreiecksungleichung.<br />
Lemma 4.2. Der Hammingabstand erfüllt die Dreiecksungleichung.<br />
Beweis. Wir führen den Beweis mittels vollständiger Induktion:<br />
(Ia:) d H (x, z) = 0<br />
Der Hammingabstand kann nicht negativ sein, da sich zwei Strings nicht an<br />
weniger als null Stellen <strong>unter</strong>scheiden können. Es gilt also d H (x, y) 0 und<br />
d H (y, z) 0 und damit offensichtlich d H (x, y) + d H (y, z) 0.<br />
29
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
(Iv:) Die Dreiecksungleichung gilt für d H (x, z) = n.<br />
(Is:) Die Dreicksungleichung gilt auch für d H (x, z) = n + 1<br />
Nach Iv gilt d H (x, y) + d H (y, z) n. Bei d H (x, z) = n + 1 <strong>unter</strong>scheiden sich x<br />
und z an einer Stelle mehr. Folglich wurde entweder in x oder in z genau ein Bit<br />
verändert. Damit erhöht sich entweder d H (x, y) oder d H (y, z) um 1, nicht aber<br />
beide. Entsprechend erhöhen sich beide Seiten der Ungleichung gleichermaßen<br />
um 1. Also gilt die Dreiecksungleichung auch für d H (x, z) = n + 1.<br />
Damit sind alle Kriterien für eine Metrik erfüllt und es gilt<br />
Satz 4.3. Der Hammingabstand ist eine Metrik.<br />
Aus der Definition des Hammingabstands ist leicht ersichtlich, dass die Funktion<br />
zur Berechnung nicht bijektiv ist. Sind x und d H (x, y) bekannt, dann kann y<br />
nicht eindeutig rekonstruiert werden. Dazu müsste zusätzlich bekannt sein, an<br />
welchen Stellen sich die beiden Strings <strong>unter</strong>scheiden.<br />
Sei n die Länge zweier Strings mit Hammingabstand d und seien i 1 , ..., i d die<br />
Stellen, an denen sie sich <strong>unter</strong>scheiden. Dann beinhaltet das Tupel (n, d, i 1 , ..., i d )<br />
alle relevanten Informationen zur Rekonstruktion von x aus y. Bennett et al zeigen<br />
in [BGL + 98] eine präfixfreie Codierung für genau dieses Tupel. Wir benutzen<br />
die Aufzählung der Binärstrings in lexikographischer Reihenfolge, folgend<br />
dargestellt als 2-Tupel aus Index und entsprechendem String:<br />
(0, ε), (1, 0), (2, 1), (3, 00), (4, 01), (5, 10), (6, 11), (7, 000), (8, 001), . . .<br />
Bei der Anwendung der Codierungsfunktion <strong>unter</strong>scheiden wir nicht zwischen<br />
der Zahl und dem zugehörigen String entsprechend der o.g. Aufzählung. Mit<br />
l(k) als Länge des Strings mit Index k für alle k ∈ N gilt also beispielsweise<br />
l(7) = 00. Unter diesen Voraussetzungen definieren wir die Codierungsfunktion<br />
als<br />
⎧<br />
⎪⎨<br />
1 x #0, wenn i = 0<br />
λ i (k) =<br />
(4.2)<br />
⎪⎩ λ i−1 (l(k)) #k, sonst.<br />
Setzen wir nun i = 2, dann ist<br />
λ 2 (k) = λ 1 (l(k))#k<br />
= λ 0 (l(l(k)))#l(k)#k<br />
= 1 l(l(k)) #0#l(k)#k. (4.3)<br />
Offensichtlich ist l(k) log k. Für die Länge dieser Codierung gilt darum<br />
l(λ 2 (k)) = l(1 l(l(k)) ) + l(0) + l(l(k)) + l(k)<br />
1 + log k + 2 log log k. (4.4)<br />
30
4.2. Standardmaße<br />
Basierend auf λ 2 können wir nun das Tupel (n, d, i 1 , . . . , i d ) mit Länge 2 log n +<br />
4 log log n+2+d log n kodieren. Zunächst kodieren wir n und d jeweils präfixfrei<br />
mittels λ 2 auf Länge log n + 2 log log n + 1. Es folgen die d Positionen, an denen<br />
sich x und y <strong>unter</strong>scheiden, mit jeweils log n Bits. Diese Kodierung nennen wir<br />
Trans H (x, y), da sie alle Informationen zur Transformation von x nach y und<br />
umgekehrt enthält und sich bezüglich ihrer Länge proportional zum Hammningabstand<br />
verhält.<br />
Theorem 4.4. |Trans H | erfüllt die Eigenschaften einer Metrik mit Genauigkeit<br />
O(log n)<br />
Beweis. Unabhängig von einer eventuellen Gleichheit der Strings x und y wird<br />
mindestens deren Länge n kodiert. Dafür sind mit λ 2 eben log n +2 log log n +1<br />
Bits nötig. Die Kodierung des Hammingabstand d = 0 benötigt konstant 1 Bit.<br />
Damit gilt<br />
|Trans H (x, x)| = log n + 2 log log n + 2 = 0 + O(log n). (4.5)<br />
Wegen |x| = |y| = n ist das Tupel (n, d, i 1 , . . . , i d ) unabhängig von der Richtung.<br />
Es gilt also Trans H (x, y) = Trans H (y, x). Folglich ist die Symmetriebedinung<br />
präzise erfüllt.<br />
Um zu zeigen, dass die Dreiecksungleichung ebenfalls erfüllt ist, nehmen wir<br />
1. d H (x, z) d H (x, y) + d H (y, z) aber<br />
2. Trans H (x, z) > Trans H (x, y) + Trans H (y, z)<br />
an und erzeugen einen Widerspruch.<br />
Seien d H (x, z) = a, d H (x, y) = b und d H (y, z) = c, dann gilt mit Annahme 1:<br />
⇒<br />
a b + c<br />
log a + 2 log log a + a log n log b + 2 log log b + b log n<br />
+ log c + 2 log log c + c log n (4.6)<br />
Mit Annahme 2 und log n + 2 log log n + 1 = k gilt:<br />
⇒<br />
k + log a + 2 log log a + 1 + a log n > k + log b + 2 log log b + 1 + b log n<br />
+ k + log c + 2 log log c + 1 + c log n<br />
log a + 2 log log a + a log n > log b + 2 log log b + b log n<br />
+ log c + 2 log log c + c log n <br />
(4.7)<br />
Damit wiedersprechen sich die Ungleichungen (4.6) und (4.7) als Folgerungen<br />
aus den beiden Annahmen. Die Dreiecksungleichung wird also erfüllt.<br />
Wir haben nun gezeigt, dass der Hamminabstand eine Metrik ist, dass es eine<br />
präfixfreie Kodierung Trans H mit zum Hammingabstand proportionaler Länge<br />
31
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
gibt und dass die Länge von Trans H mit Genauigkeit O(log n) ebenfalls eine<br />
Metrik ist. Auf diese Weise konnten wir einen Zusammenhang zwischen dem<br />
Hammingabstand und der Länge eines Programms herleiten, das einen String<br />
y in einen String x überführt.<br />
Wir fassen die Länge von Trans H (x, y) als Approximation der Präfixversion<br />
der Kolmogorov-Komplexität auf. Damit ergibt sich eine Approximation der<br />
Informationsdistanz zwischen x und y analog zu Gleichung (2.22) als<br />
d Trans = max {|Trans H (x, y)|, |Trans H (y, x)} . (4.8)<br />
Aufgrund der präzisen Symmetrieeigenschaft ist<br />
d Trans = |Trans H (x, y)|. (4.9)<br />
Dieses Ähnlichkeitsmaß wollen wir nun für die Klassifikation der in Abschnitt<br />
4.1 vorgestellten Bilder handgeschriebener Ziffern verwenden. Definition 4.1 beschreibt<br />
den Hammingabstand für binäre Strings. Im Gegensatz zu unseren<br />
Graubildern sind Binärstrings eindimensional. Außerdem beinhalten die Graubilder<br />
Pixelwerte zwischen 0 und 255 und nicht nur 0 oder 1. Schreiben wir<br />
einfach die Zeilen der ursprünglich 28 × 28 Elemente großen Grauwertmatrix<br />
hintereinander, so erhalten wir einen 784-elementigen Zeilenvektor. Den nach<br />
Definition 4.1 notwendigen Binärstring erhalten wir mit Hilfe eines Grenzwerts<br />
α. Sei x ∈ {0, . . . , 255} ∗ , dann ist für alle x i<br />
⎧<br />
x binär<br />
i =<br />
⎪⎨<br />
0, wenn x i α<br />
⎪⎩ 1, wenn x i > α.<br />
(4.10)<br />
Auf diese Weise können wir nun Graubilder in Binärstrings überführen und<br />
diese mit Hilfe des Hammingabstands klassifizieren. Als Klassifikator wählen<br />
wir den bereits vorgestellen k-NN-Algorithmus.<br />
Die Klassifikationsgüte hängt hier nun von zwei Parametern ab. Neben dem k als<br />
Parameter für den Klassifikator ist auch der optimale Wert für den Grenzwert<br />
α herauszufinden, um die Graubilder in schwarz-/weiss-Bilder zu überführen.<br />
Dazu müssten wir eigentlich alle möglichen Kombinationen testen. Wir wählen<br />
stattdessen eine Art Greedy-Strategie, setzen zunächst α = 120 und testen mit<br />
diesem Grenzwert alle k ∈ [3; 9]. Da die Trainingsmenge annähernd gleich viele<br />
Elemente aller Klassen enthält, verwenden wir als Qualitätsindex die Fehlerrate,<br />
also einfach den prozentualen Anteil der falsch klassifizierten Ziffern. Auf diese<br />
Weise wird k = 4 als bester Wert identifiziert (siehe Abbildung 4.2).<br />
Basierend auf dieser Erkenntnis ermitteln wir nun den besten Wert für α wobei<br />
k = 4 fix ist. Da es 254 verschiedene Möglichkeiten gibt und eine vollständige<br />
Überprüfung lange Zeit in Anspruch nehmen würde, reduzieren wir für dieses<br />
Experiment die Datenmenge. Dazu wählen wir zufällig je Ziffer 300 Trainingsbilder<br />
und 50 Testbilder aus und ermitteln die Fehlerrate. Diese zufällige Auswahl<br />
mitsamt anschließender Testklassifikation wiederholen wir für jeden Wert<br />
32
4.2. Standardmaße<br />
Fehlerrate in %<br />
4.4<br />
4.2<br />
4<br />
3.8<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.2: Entwicklung der Fehlerrate mit variablem k und fixem Grenzwert<br />
α = 120 (Bestes Ergebnis: k = 4 mit 3, 9%)<br />
30<br />
Fehlerrate in %<br />
20<br />
10<br />
0<br />
0 50 100 150 200 250<br />
α<br />
Abbildung 4.3: Entwicklung der Fehlerrate mit variablem Grenzwert α und 4-NN-<br />
Klassifikator (Bestes Ergebnis: α = 41 mit 6, 1%)<br />
α ∈ [1; 254] 10 mal. Für jedes α bestimmen wir dann den Mittelwert der 10<br />
ermittelten Fehlerraten. Auf diese Weise wollen wir Fehler aufgrund statistischer<br />
Abweichungen möglichst gering halten. Es zeigt sich, dass α = 41 die<br />
beste Wahl ist. Die mittlere Fehlerrate liegt hier bei etwa 6, 1%. Abbildung 4.3<br />
illustriert das Testergebnis. Man sieht sehr schön den immer stärkeren Anstieg<br />
der Fehlerrate mit wachsendem k. Bis etwa k = 70 ist sie annähernd konstant.<br />
Die anschließende Validierung mit α = 41 und variablem k auf dem gesamten<br />
Datenbestand ergibt für k = 3 und k = 4 die besten Ergebnisse. Die Fehlerrate<br />
liegt hier bei 3, 2%. Auf eine weitere grafische Darstellung verzichten wir. Der<br />
Verlauf ist dem in Abbildung 4.2 sehr ähnlich, wobei die Fehlerraten um etwa<br />
0, 6 bis 0, 9% besser liegen. Tabelle 4.2 zeigt die Konfusionsmatrix des Klassifikationsergebnisses<br />
mit k = 4 und α = 41 auf dem gesamten Datenbestand.<br />
Betrachten wir die Tabelle 4.2 einmal etwas genauer. Es fällt auf, dass die<br />
Klassifikationsfehler sich auch an den Positionen in der Tabelle häufen, wo man<br />
intuitiv eine Ähnlichkeit der Ziffern vermuten würde. Beispielsweise wurden<br />
33
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 975 0 11 0 1 2 4 0 10 5<br />
1 1 1131 5 2 12 3 3 17 5 7<br />
2 1 2 995 2 0 0 0 4 1 2<br />
3 0 0 4 969 0 13 0 2 18 6<br />
4 0 1 1 1 936 2 0 3 4 7<br />
5 1 0 0 14 0 852 2 0 6 2<br />
6 1 1 1 1 5 12 948 0 4 1<br />
7 1 0 12 10 3 1 0 991 7 7<br />
8 0 0 3 7 0 1 1 0 913 3<br />
9 0 0 0 4 25 6 0 11 6 969<br />
Tabelle 4.2: Konfusionsmatrix der 4-NN-Klassifikation mit Hammingabstand (α =<br />
41) auf dem gesamten MNIST-Datenbestand (Fehlerrate: 3, 2%)<br />
17 Testbilder, die de facto eine 7 darstellen, als 1 klassifiziert. Gerät bei etwas<br />
unsauberer Handschrift der eigentlich annähernd diagonal gedachte lange Strich<br />
der 7 etwas zu senkrecht und außerdem der wagerechte Strich etwas zu kurz, ist<br />
auch der Mensch beim Lesen nicht vor einer Verwechslung gefeit. Ähnliches kann<br />
passieren, wenn der <strong>unter</strong>e waagerechte Strich der 2 sehr kurz ist. Eine gewisse<br />
Ähnlichkeit zur 7 ist dann leicht einzusehen. 12 mal hat unser Klassifikator eine<br />
2 für eine 7 gehalten. Ganze 25 mal wurde eine 4 als 9 klassifiziert, anders herum<br />
ist das 18 mal passiert. In der Tat sehen sich 4 und 9 recht ähnlich. Davon kann<br />
man sich mit Hilfe von Abbildung 4.1 leicht noch einmal überzeugen.<br />
Im Verlauf dieser Arbeit werden wir noch eine Reihe weiterer Ähnlichkeitsmetriken<br />
zur Klassifikation einsetzen. Diese sind jedoch teilweise mit erheblich<br />
höherem Rechenaufwand verbunden. Mit den uns zur Verfügung stehenden Kapazitäten<br />
würde eine Berechnung auf dem gesamten MNIST-Datenbestand mit<br />
60.000 Trainings- und 10.000 Testbildern für einige dieser Metriken mehrere Tage<br />
bis Wochen in Anspruch nehmen. Aus diesem Grund führen wir die Tests auf<br />
einem reduzierten Datenbestand durch. Wie bereits bei der Ermittlung des optimalen<br />
Grenzwerts α verwenden wir in dazu je Ziffer 300 Bilder als Trainingsund<br />
50 als Testmenge. Die Auswahl der Datensätze für diese reduzierten Mengen<br />
erfolgt stets zufällig.<br />
Ein repräsentatives Klassifikationsergebnis, welches im Verlauf der Bestimmung<br />
des besten Wertes für α auf dem so reduzierten Datenbestand ermittelt wurde,<br />
ist als Konfusionsmatrix in Tabelle 4.3 verzeichnet. Wie bereits zuvor erwähnt<br />
konnte durchschnittlich eine Fehlerrate von 6, 2% erzielt werden. Aufgrund<br />
der deutlichen Verkleinerung der Trainingsmenge war eine Verschlechterung<br />
34
4.2. Standardmaße<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 50 0 2 0 0 0 0 0 0 0<br />
1 0 50 0 0 1 0 0 0 0 0<br />
2 0 0 44 1 0 1 0 0 0 0<br />
3 0 0 1 44 0 1 0 0 0 1<br />
4 0 0 0 0 46 0 0 0 1 0<br />
5 0 0 0 3 0 44 0 0 3 0<br />
6 0 0 0 0 1 1 50 0 0 0<br />
7 0 0 1 0 0 0 0 49 1 2<br />
8 0 0 1 2 0 2 0 0 45 0<br />
9 0 0 1 0 2 1 0 1 0 47<br />
Tabelle 4.3: 4-NN-Klassifikation mit Hammingabstand (α = 41) auf dem reduzierten<br />
MNIST-Datenbestand (Fehlerrate: 6, 2%).<br />
der Klassifikationsgüte zu erwarten. Beim vollständigen Datenbestand konnten<br />
96, 8% der Bilder korrekt klassifiziert werden. Hier waren es immerhin noch<br />
93, 8%, der Unterschied ist mit gerade einmal 3% nicht signifikant, zumal die<br />
Größenverhältnisse der Klassen etwa gleich geblieben sind. Damit haben wir<br />
experimentell gezeigt, dass bereits die k-NN-Klassifikation auf dem reduzierten<br />
Datenbestand eine Aussage über die Qualität der verwendeten Ähnlichkeitsdistanz<br />
zulässt.<br />
Durch die Transformation auf Binärstrings verlieren wir offensichtlich Information<br />
über das ursprüngliche Graubild. Dieser Informationsverlust könnte sich<br />
negativ auf das Klassifikationsergebnis auswirken. Um dies zu überprüfen, erweitern<br />
wir zunächst die Definition des Hammingabstands auf Strings eines<br />
beliebigen endlichen Alphabets.<br />
Definition 4.5. Sei Σ ein endliches Alphabet. Für zwei Strings x, y ∈ Σ ∗<br />
gleicher Länge ist der Hammingabstand<br />
d H (x, y) = |{ i | x i ≠ y i , 1 < i < |x|}| . (4.11)<br />
Damit können wir nun den Hammingabstand zweier Graubilder ermitteln. Im<br />
Experiment zeigt sich jedoch, dass das Ergebnis deutlich hinter der zuvor beschriebenen<br />
Klassifikationsgüte auf Binärbildern mit Grenzwert zurück bleibt.<br />
In mehreren Testdurchläufen wurden Fehlerraten im Bereich zwischen 30 und<br />
35% ermittelt. Das führen wir darauf zurück, dass es beim Vergleich der Grauwerte<br />
in den MNIST-Bildern keine Abstufung der Ähnlichkeiten gibt. So wirkt<br />
sich beispielsweise der Unterschied der Grauwerte x 1 = 254 und y 1 = 255 genauso<br />
auf den Hammingabstand aus wie bei x 2 = 0 und y 2 = 255. Aufgrund<br />
35
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
100<br />
Fehlerrate in %<br />
50<br />
0<br />
1 2 3 4 5 6 7 8 9 10<br />
Durchgang<br />
Abbildung 4.4: Fehlerrate der 4-NN-Klassifikation mit Hammingabstand auf zufällig<br />
verschobenen Bildern in 10 unabhängigen Durchgängen<br />
der erheblich schlechteren Klassifikationsgüte verzichten wir sowohl auf weitere<br />
Untersuchungen als auch auf grafische Darstellung dieser Ergebnisse.<br />
Zum Abschluß wollen wir die Qualität des Hammingabstands als Ähnlichkeitsdistanz<br />
für k-NN-Klassifikation noch auf seine Translationsinvarianz hin<br />
überprüfen. Die bisher getesten Daten sind bekanntlich bezüglich der Translation<br />
normiert. Der Schwerpunkt der Grauwerte befindet sich im Zentrum des<br />
Bildes. Wie aber wirkt es sich auf die Klassifikationsgüte aus, wenn die Bilder<br />
nicht so genau zentriert sind? Um diese Frage zu beantworten, haben wir 100<br />
mal zufällig je Ziffer 300 Trainings- und 50 Testbilder ausgewählt. Vor der anschließenden<br />
4-NN-Klassifikation mit Hammingabstand (α = 41) wurden die<br />
ausgewählten Bilder einzeln und zufällig um −4 bis +4 Pixel horizontal und<br />
vertikal verschoben. Damit ergeben sich in jede Richtung 9 mögliche Translationswerte,<br />
insgesamt also 81 Kombinationen.<br />
Die Auswirkung ist in Abbildung 4.4 deutlich zu sehen. Die Fehlerrate liegt einigermaßen<br />
konstant um 24%. Dies deutet bereits an, dass das eingangs vermutete<br />
Nichtvorhandensein von Translationsinvarianz auch experimentell bestätigt<br />
wird. Tabelle 4.4 zeigt eine entsprechende Konfusionsmatrix.<br />
Noch schlechter stellt sich die Situation bei gegenläufig verschobenen Trainingsund<br />
Testmengen dar. Werden vor der Klassifikation alle Trainingsbilder um 4<br />
Pixel nach links und alle Testbilder um 4 Pixel nach rechts verschoben, so liegt<br />
die Fehlerrate im Bereich um 88% (siehe Abbildung 4.5). Das entspricht dem<br />
ersten Anschein nach in etwa noch der Qualität des zufälligen Ratens.<br />
Es fällt jedoch auf, dass sich mit Zunahme der Fehlerrate aufgrund der Translation<br />
insbesondere die falsch-positiv-Rate der 1 erhöht (Zeile eins in allen Spalten<br />
außer der zweiten). Mit dieser gegenläufigen Verschiebung von Trainings- und<br />
Testmenge neigt der k-NN-Algorithmus mit Hammingabstand dazu, einfach alle<br />
Bilder als 1 zu klassifizieren. Würde die Testmenge gar keine Einsen beinhalten,<br />
ginge die Fehlerrate gegen 100%.<br />
Tabelle 4.5 zeigt ein exemplarisches Klassifikationsergebnis mit gegenläufiger<br />
Verschiebung um 4 Pixel. 230 der 500 Testbilder wurden darin als 1 klassifi-<br />
36
4.2. Standardmaße<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 44 0 0 1 0 1 1 0 0 0<br />
1 1 50 8 2 12 3 0 8 8 3<br />
2 0 0 33 0 0 0 0 0 1 0<br />
3 0 0 0 41 0 4 0 0 9 0<br />
4 0 0 1 1 28 0 1 0 2 7<br />
5 2 0 0 1 0 37 1 0 4 1<br />
6 3 0 0 1 0 4 47 0 3 0<br />
7 0 0 7 0 1 1 0 39 0 3<br />
8 0 0 1 3 0 0 0 0 23 0<br />
9 0 0 0 0 9 0 0 3 0 36<br />
Tabelle 4.4: 4-NN-Klassifikation mit Hammingabstand auf zufällig verschobenen Ziffern<br />
(Fehlerrate: 24, 4%).<br />
100<br />
Fehlerrate in %<br />
50<br />
0<br />
1 2 3 4 5 6 7 8 9 10<br />
Durchgang<br />
Abbildung 4.5: Fehlerrate der 4-NN-Klassifikation auf horizontal gegenläufig um 4<br />
Pixel verschobener Trainings- und Testmenge in 10 unabhängigen Durchgängen<br />
ziert, für 196 davon ist das falsch. Dieser Trend ist tendenziell bereits in der<br />
Konfusionsmatrix bei zufälliger Translation zu erkennen (Tabelle 4.4).<br />
Im Vergleich mit den zentrierten binären Bildern liegt die Klassifikationsgüte<br />
bei verschobenen binären Bildern also weitaus schlechter. Bereits die zufällige<br />
horizontale und vertikale Translation im Bereich −4 bis +4 Pixel erhöht die Fehlerrate<br />
erheblich. Bei gegenläufiger Verschiebung von Trainings- und Testmenge<br />
nimmt die Klassifikationsgüte sehr schnell massiv ab. Translationsinvarianz ist<br />
also offensichtlich nicht gegeben.<br />
Die <strong>Verwendung</strong> des Hammingabstands als Ähnlichkeitsdistanz für k-NN-Klassifikation<br />
setzt folglich eine präzise Normierung der Bilder voraus, denn eben<br />
37
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 0 0 0 2 0 0 0 0 0 0<br />
1 26 34 22 29 29 28 20 10 14 18<br />
2 5 2 5 5 12 3 4 0 1 11<br />
3 0 0 0 0 0 1 0 0 1 0<br />
4 9 3 2 2 6 3 22 0 14 2<br />
5 3 1 11 6 1 7 0 35 3 14<br />
6 1 0 9 0 0 0 1 0 0 0<br />
7 6 10 1 6 2 8 3 4 17 3<br />
8 0 0 0 0 0 0 0 1 0 2<br />
9 0 0 0 0 0 0 0 0 0 0<br />
Tabelle 4.5: Konfusionsmatrix der 4-NN-Klassifikation mit Hammingabstand auf gegenläufig<br />
um 4 Pixel verschobener Trainings- und Testmenge (Fehlerrate: 88, 6%.<br />
diese Normierung hat hier offenbar erheblichen Einfluß auf die Klassifikationsgüte.<br />
4.2.2 Levenshtein-Distanz<br />
Bereits im Jahre 1965 veröffentlichte V. I. Levenshtein eine Arbeit zur eindeutigen<br />
Korrektur von fehlerhaft übertragenen Strings [Lev65]. Jeder Fehler ist<br />
demnach durch genau eine der Operationen ”<br />
Löschen“, ”<br />
Einfügen“ oder ”<br />
Ersetzen“<br />
zu korrigieren. Die Anzahl der Fehler entspricht also genau der Anzahl<br />
der zur Korrektur notwendigen Operationen.<br />
Definition 4.6. Seien x, y ∈ {0, 1} ∗ , dann entspricht die Levenshtein-Diszanz<br />
d L (x, y) der minimalen Anzahl von Operationen Löschen, Einfügen und Ersetzen<br />
auf einzelne Symbole von y um daraus x zu erzeugen.<br />
Man kann also y als fehlerbehaftete Darstellung von x ansehen. Ein kürzestes<br />
Programm, das die Korrekturoperationen entsprechend Definition 4.6 ausführt,<br />
transformiert dann die Eingabe y nach x. Die Länge dieses Programms verhält<br />
sich im Wesentlichen proportional zur Levenshtein-Distanz, da die Operationen<br />
einfach in kodierter Form hintereinander aufgelistet werden können. Alle drei<br />
Operationen benötigen als zusätzliche Information die Position im String, an<br />
der sie ausgeführt werden sollen. Einfügen und Ersetzen brauchen als Eingabe<br />
zusätzlich das an die enstprechende Position zu schreibende Symbol. Da unser<br />
Alphabet aber nur aus zwei Symbolen besteht und lediglich drei Operationen<br />
zur Verfügung stehen, sind deren Kodierungen entsprechend kurz. Die Strings<br />
38
4.2. Standardmaße<br />
können aber beliebig lang sein. Deshalb nimmt die Kodierung der Positionen<br />
den meisten Platz in Anspruch. Die minimal <strong>unter</strong>schiedliche Kodierungslänge<br />
der Operationen können wir darum ignorieren. Analog zum Hammingabstand<br />
fassen wir diese Kodierung als Approximation der Informationsdistanz auf (siehe<br />
Definition 2.10).<br />
Die Levenshtein-Distanz erlaubt im Vergleich zum Hammingabstand jedoch eine<br />
verbesserte Approximation der Kolmogorov-Komplexität. Erstens ermöglicht<br />
sie die Bestimmung einer Ähnlichkeit von Strings verschiedener Länge. Zweitens<br />
ist der Hammingabstand bei Strings gleicher Länge immer eine Obergrenze für<br />
die Levenshtein-Distanz. Ist nämlich der Hammingabstand d H (x, y) = k, dann<br />
ist eine Korrektur von y nach x mit k Ersetzungen möglich. Durch den geschickten<br />
Einsatz von Lösch- und Einfügeoperationen könnte eine Korrektur<br />
aber auch in weniger Schritten möglich sein. Also ist d L (x, y) k.<br />
Satz 4.7. Die Levenshtein-Distanz ist eine Metrik.<br />
Beweis. Für die Identitätsbedinung d L (x, x) = 0 ist das unmittelbar klar, denn<br />
es sind keine Korrekturoperationen erforderlich.<br />
Die Invertierung einer Ersetzungsoperation (z.B. 0 für 1) erfolgt mittels der gegenteiligen<br />
Ersetzung (hier dann 1 für 0). Eine kürzere Variante kann es nicht<br />
geben, da die einzige Alternative eine Kombination aus Löschen und Einfügen<br />
und damit mindestens doppelt so lang ist. Wir bezeichnen im Folgenden die<br />
Transformation von y nach x als Hinweg und die Inverse als Rückweg. Ist eine<br />
Löschoperation Teil des kürzesten Hinwegs, so bedarf es für die Invertierung einer<br />
Einfügeoperation. Könnte man auf dem Rückweg auf diese Einfügeoperation<br />
verzichten, da sie Teil einer Kombination aus Löschen- und Einfügen ist, dann<br />
hätte man auf dem Hinweg bereits auf die Löschoperation verzichten können, da<br />
sie ebenfalls Teil einer Löschen- und Einfügen-Kombination sein muss. Stattdessen<br />
hätte man die Ersetzungsoperation gewählt. Dann wäre aber der Hinweg<br />
nicht der kürzeste gewesen, was ein Widerspruch zur Annahme ist.<br />
Gleiches gilt für die Invertierung einer Einfügeperation auf dem Hinweg. Damit<br />
ist auch die Symmetriebedingung d L (x, y) = d L (y, x) erfüllt. Die Erfüllung<br />
der Dreiecksungleichung ergibt sich implizit aus der Definition. Jeder explizit<br />
geforderte Zwischenschritt liegt entweder auf einem kürzesten Weg oder erhöht<br />
die Anzahl der Operatoren.<br />
Wir haben bereits argumentiert, dass die Levenshtein-Distanz als Approximation<br />
der Informationsdistanz besser geeignet ist als der Hammingabstand. Ob<br />
sich diese theoretischen Überlegungen in der Praxis bestätigen, werden wir nun<br />
experimentell überprüfen. Die Laufzeit des Algorithmus zur Berechnung der<br />
Distanz d L (x, y) liegt in O(mn), wobei m und n die Längen der Strings x und y<br />
bezeichnen [WF74]. Bei gleich langen Strings ist die Laufzeit also O(n 2 ). Zwar<br />
ist polynomielle Laufzeit gleichbedeutend mit effizienter Berechenbarkeit, diese<br />
Definition von Effizienz ist in der Praxis aber mit Vorsicht zu genießen. Ein<br />
Klassifikationstest mit vertretbarem Rechenaufwand ist mit der Levenshtein-<br />
39
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
9.5<br />
Fehlerrate in %<br />
9<br />
8.5<br />
8<br />
7.5<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.6: Entwicklung der durchschnittlichen Fehlerrate aus jeweils 5 Durchgängen<br />
bei variablem k für k-NN-Klassifikation mit Levenshtein-Distanz (Bestes Ergebnis:<br />
k = 4 mit 8, 2%)<br />
Distanz nur auf einem reduzierten MNIST-Datenbestand möglich. Wie schon<br />
zuvor beim Hammingabstand wählen wir zufällig 300 Trainings- und 50 Testbilder<br />
je Ziffer aus und führen die Klassifizierung mit k-NN durch. Für jedes<br />
k ∈ [3; 9] wiederholen wir diesen Vorgang 5 mal, um statistische Abweichungen<br />
aufzufangen.<br />
Beim Hammingabstand haben wir gezeigt, dass die einfache Prüfung auf Gleichheit<br />
der Grauwerte die Klassifikationsgüte deutlich reduziert. Stattdessen wurden<br />
die Grauwerte mittels eines Grenzwerts α in das binäre Alphabet überführt<br />
(siehe Gleichung (4.10). Genauso gehen wir auch hier vor und übernehmen den<br />
beim Hammingabstand ermittelten Grenzwert α = 41.<br />
Im Verlauf der experimentellen Untersuchungen lieferte die k-NN Klassifikation<br />
mit k = 4 die beste durchschnittliche Fehlerrate. Diese liegt bei 8, 2%. Wir<br />
haben bei diesem Test für jedes k ∈ [3; 9] jeweils 5 mal zufällig 300 Trainingsund<br />
50 Testbilder je Ziffer zufällig ausgewählt und die Klassifikation mit der<br />
Levenshtein-Distanz durchgeführt. Abbildung 4.6 zeigt die Entwicklung der<br />
durchschnittlichen Fehlerrate bei variablem k.<br />
Eine repräsentative Konfusionsmatrix für die 4-NN-Klassifikation mit eben dieser<br />
besten Fehlerrate von 8, 2% ist in Tabelle 4.6 verzeichnet. Die Klassifikationsgüte<br />
mit der Levenshtein-Distanz liegt also im Vergleich zum Hammingabstand<br />
leicht schlechter.<br />
Deutlich besser als der Hammingabstand schneidet die Levenshtein-Distanz bei<br />
der Klassifikation von horizontal und vertikal verschobenen Ziffern ab. Im Experiment<br />
wurden wiederum die verwendeten Ziffern von Trainings- und Testmenge<br />
gegenläufig um 4 Pixel verschoben. Im den Experimenten konnten wir mit k = 5<br />
die besten Ergebnisse erzielen. Dazu wurden wiederum für jedes k ∈ [3; 9] 5<br />
Testdurchgänge durchgeführt. Die Entwicklung der durchschnittlichen Fehlerrate<br />
bei variablem k ist in Abbildung 4.7 ersichtlich. Sie liegt für k = 5 bei<br />
gerade einmal 10, 4%.<br />
Die zugehörige Konfusionsmatrix in Tabelle 4.7 weist keine Auffälligkeiten auf.<br />
40
4.2. Standardmaße<br />
Tatsächliche Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 48 0 1 0 0 0 0 0 0 0<br />
1 0 49 0 2 1 2 2 2 1 1<br />
2 0 0 42 1 0 0 0 0 0 0<br />
3 0 0 1 45 0 7 0 0 0 0<br />
4 0 0 0 0 48 0 0 0 0 2<br />
5 1 0 0 1 0 38 0 0 0 0<br />
6 0 0 5 0 0 2 48 0 1 0<br />
7 0 0 1 1 0 1 0 47 0 0<br />
8 1 1 0 0 0 0 0 0 47 0<br />
9 0 0 0 0 1 0 0 1 1 47<br />
Tabelle 4.6: Konfusionsmatrix der 4-NN-Klassifikation mit Levenshtein-Distanz (Fehlerrate:<br />
8, 2%)<br />
9.5<br />
Fehlerrate in %<br />
9<br />
8.5<br />
8<br />
7.5<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.7: Durchschnittliche Fehlerrate bei 5 Durchgängen je k für k-NN-<br />
Klassifikation mit Levenshtein-Distanz auf gegenläufig horizontal um 4 Pixel verschobener<br />
Trainigs- und Testmenge<br />
Für einige Ziffern zeigt sich die Anzahl der richtig-positiv klassifizierten Bilder<br />
sogar verbessert.<br />
Aufgrund der Ergebnisse unserer Experimente können wir für die Levenshtein-<br />
Distanz eine gute Translationsinvarianz feststellen. Zwar erhöht sich die Fehlerrate<br />
leicht von 8, 2 auf 10, 2%, dieser Unterschied ist aber nicht signifikant.<br />
41
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 50 0 2 1 0 0 0 0 1 0<br />
1 0 50 1 1 0 0 1 3 1 1<br />
2 0 0 38 1 0 0 0 0 1 0<br />
3 0 0 2 37 0 3 0 0 1 0<br />
4 0 0 0 0 48 1 0 0 0 0<br />
5 0 0 0 8 0 44 0 0 1 0<br />
6 0 0 5 0 0 0 49 0 2 0<br />
7 0 0 2 0 0 1 0 43 0 2<br />
8 0 0 0 0 0 0 0 0 43 2<br />
9 0 0 0 2 2 1 0 4 0 45<br />
Tabelle 4.7: Konfusionsmatrix einer 5-NN-Klassifikation mit Levenshtein-Distanz auf<br />
gegenläufig horizontal um 4 Pixel verschobenen Ziffern (Fehlerrate: 10, 6%)<br />
4.2.3 Euklidischer Abstand<br />
Der Euklidische Abstand zweier Punkte x, y ∈ R 3 ist anschaulich genau die<br />
Streckenlänge zwischen x und y. Für höhere Dimensionen ist das jedoch nicht<br />
mehr so plastisch vorstellbar. Im allgemeinen Fall R n entpricht der Euklidische<br />
Abstand der 2-Norm 1 des Differenzvektors zwischen x und y.<br />
Definition 4.8. Der Euklidische Abstand zwischen zwei Punkten x, y ∈ R n ist<br />
∑<br />
d E (x, y) = ‖ x − y ‖ 2 = √ n (x i − y i ) 2 . (4.12)<br />
Die Definition beschränkt sich also wie beim Hammingabstand auf Strings gleicher<br />
Länge. Die Erfüllung der Metrikeigenschaften Identität“ und Symmetrie“<br />
” ”<br />
sind leicht einzusehen. Mit<br />
∑<br />
d E (x, x) = √ n (x i − x i ) 2 = 0 (4.13)<br />
i=1<br />
ist zunächst die Identitätseigenschaft unmittelbar gezeigt. Wegen (x i − y i ) 2 =<br />
(y i −x i ) 2 gilt das auch für die Symmetriebedingung. Bei der Dreiecksungleichung<br />
ist das nicht unmittelbar klar. Trotzdem gilt<br />
Theorem 4.9. Der Euklidische Abstand erfüllt die Dreicksungleichung.<br />
i=1<br />
1 Die 2-Norm wird auch als Euklidische Norm bezeichnet.<br />
42
4.2. Standardmaße<br />
Beweis. Dies leiten wir direkt aus der Minkowskischen Ungleichung ab. Sei<br />
|x| = |y| = n, dann ist<br />
∑<br />
d E (x, z) = √ n ‖x i − z i ‖ 2<br />
i=1<br />
∑<br />
= √ n ‖(x i − y i ) + (y i − z i )‖ 2<br />
i=1<br />
∑<br />
√ n ∑<br />
‖x i − y i ‖ 2 + √ n ‖y i − z i ‖ 2<br />
i=1<br />
i=1<br />
= d E (x, y) + d E (y, z)<br />
Die Dreicksungleichung ist also erfüllt.<br />
Daraus folgt dann unmittelbar<br />
Satz 4.10. Der Euklidische Abstand ist eine Metrik.<br />
In gewisser Weise handelt es sich beim Euklidischen Abstand um eine Verallgemeinerung<br />
des Hammingabstands. Die Summanden zur Berechnung nach<br />
Definition 4.8 haben bei Binärstrings immer dann den Wert 1, wenn die beiden<br />
entsprechenden korrespondierenden Komponenten x i und y i verschieden<br />
sind ((0 − 1) 2 = (1 − 0) 2 = 1). Bei Gleichheit ist der Wert des Summanden<br />
(0 − 0) 2 = (1 − 1) 2 = 0. Die Summe entspricht also dem Hammingabstand.<br />
Seien x 1 , x 2 , y ∈ {0, 1} n , dann gilt<br />
d H (x 1 , y) > d H (x 2 , y) ⇔ √ d H (x 1 , y)<br />
> √ d H (x 2 , y) ⇔ d E (x 1 , y) > d E (x 2 , y).<br />
Im Rahmen der Klassifikation interessieren wir uns weniger für die absoluten<br />
Distanzen als für paarweise Vergleiche. Darum ist es für die Klassifikationsgüte<br />
bei Binärstrings unerheblich, ob wir den Hammingabstand oder den Euklidischen<br />
Abstand verwenden. Das Ergebnis ist identisch.<br />
Bei der Anwendung auf die Graubilder zeigen sich jedoch signifikante Unterschiede.<br />
Im Gegensatz zum Hammingabstand gewichtet der Euklidische Abstand<br />
die absoluten Differenzen der korrespondierenden Pixel implizit, d.h. kleine<br />
Differenzen zwischen korrespondierenden Pixeln wirken sich weniger auf den<br />
Euklidischen Abstand aus als große Differenzen. Dieser vermeintliche Vorteil<br />
bestätigt sich auch im Experiment. Mit k = 3 konnten wir bei der Klassifikation<br />
des gesamten MNIST-Datenbestands eine Fehlerrate von 2, 8% erreichen.<br />
Alle anderen Werte für k erzielten schlechtere Ergebnisse (siehe Abbildung 4.8).<br />
Die zugehörige Konfusionsmatrix ist in Tabelle 4.8 verzeichnet.<br />
Wie auch beim Hammingabstand befinden sich die häufigsten Klassifikationsfehler<br />
an den Stellen, die man auch intuitiv vermuten würde. So werden wiederum<br />
relativ viele Bilder der Ziffer 4 als 9 klassifiziert und Bilder der 7 als<br />
43
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
3.4<br />
Fehlerrate in %<br />
3.2<br />
3<br />
2.8<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.8: Entwicklung der Fehlerrate mit k-NN-Klassifikation und Euklidischer<br />
Distanz bei variablem k auf dem vollständigen MNIST-Datenbestand (Bestes Ergebnis:<br />
k = 3 mit 2.8%)<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 974 0 9 0 0 4 4 0 7 3<br />
1 1 1133 7 1 5 1 3 18 0 4<br />
2 1 2 997 4 0 0 0 4 3 2<br />
3 0 0 2 975 0 12 0 0 13 7<br />
4 0 0 0 1 948 2 4 2 5 9<br />
5 1 0 0 13 0 860 3 0 11 4<br />
6 2 0 1 1 5 5 944 0 3 1<br />
7 1 0 14 7 4 1 0 994 4 8<br />
8 0 0 2 4 1 3 0 0 923 2<br />
9 0 0 0 4 19 4 0 10 5 969<br />
Tabelle 4.8: Konfusionsmatrix für 3-NN-Klassifikation mit Euklidischem Abstand auf<br />
die Graubilder (Fehlerrate: 2, 8%).<br />
1. Absolut betrachtet, ist das jedoch sehr selten der Fall und die Fehlerrate<br />
entsprechend klein.<br />
Auf dem reduzierten Datenbestand zeigt sich ein ähnliches Bild. Entsprechend<br />
der in Abbildung 4.9 zusammengefassten Testergebnisse erreicht k = 4 die<br />
durchschnittlich beste Fehlerrate von 7, 7%. Für diesen Versuch haben wir jedes<br />
k ∈ [3; 9] 10 mal getestet, die Fehlerraten ermittelt und über jedes k<br />
den Durchschnitt gebildet. Tabelle 4.9 zeigt eine diesem Testergebnis entsprechende<br />
Konfusionsmatrix mit einer Fehlerrate von 7, 8%. Wie auch schon beim<br />
Hammingabstand ist die Klassifikationsgüte im Vergleich zum vollständigen Datensatz<br />
um einige Prozentpunkte schlechter. Das führen wir auch hier auf die<br />
44
4.2. Standardmaße<br />
Fehlerrate in %<br />
9<br />
8.5<br />
8<br />
7.5<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.9: Entwicklung der Fehlerrate mit k-NN-Klassifikation und Euklidischer<br />
Distanz auf dem reduzierten Datenbestand (Bestes Ergebnis: k = 4 mit 7.7%)<br />
Tatsächlich abgebildete Ziffer<br />
Klassifikationsergebnis<br />
0 1 2 3 4 5 6 7 8 9<br />
0 49 0 3 0 0 0 0 0 1 1<br />
1 0 50 1 1 1 1 0 1 1 0<br />
2 0 0 41 0 0 0 0 0 0 0<br />
3 0 0 0 46 0 2 0 0 1 0<br />
4 0 0 0 0 45 0 0 0 0 1<br />
5 0 0 0 0 0 44 0 0 1 0<br />
6 1 0 0 0 0 2 50 0 0 0<br />
7 0 0 5 1 0 0 0 46 1 0<br />
8 0 0 0 2 0 0 0 0 42 0<br />
9 0 0 0 0 4 1 0 3 3 48<br />
Tabelle 4.9: Konfusionsmatrix der 4-NN-Klassifikation mit Euklidischem Abstand<br />
(Fehlerrate: 7, 8%)<br />
deutlich reduzierte Trainingsmenge zurück.<br />
Bezüglich der Translationsinvarianz zeigt die Euklidische Distanz ein ähnlich<br />
schlechtes Verhalten, wie der Hammingabstand. Sowohl bei zufälliger, als auch<br />
bei gegenläufiger Translation von Trainings- und Testbildern, sind die Fehlerraten<br />
auf vergleichbarem Niveau. Auch das Phänomen des Anstiegs der falschpositiv-Rate<br />
der 1 findet sich in sehr ähnlicher Höhe wieder. Wir verzichten<br />
daher für die Euklidische Distanz auf die Darstellung weiterer Ergebnisse.<br />
45
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
4.2.4 Mittlerer quadratischer Fehler<br />
Der mittlere quadratische Fehler Mse 2 kommt häufig im Rahmen der Bildkodierung<br />
zum Einsatz. Dort dient er als Maß für den Rekonstruktionsehler nach<br />
verlustbehafteter Kodierung, z.B. bei der Vektorquantisierung [RH96].<br />
Definition 4.11. Seien x, y ∈ R M×N zwei Graubilder der Größe M ×N. Seien<br />
x (m,n) und y (m,n) die jeweiligen Grauwerte der Pixel an Position (m, n). Dann<br />
ist<br />
Mse(x, y) = 1<br />
MN<br />
M∑<br />
m=1 n=1<br />
der mittlere quadratische Fehler zwischen x und y.<br />
N∑ ( ) 2 x(m,n) − y (m,n) , (4.14)<br />
Möglicherweise erscheint die Bezeichnung als Fehler im Zusammenhang mit<br />
<strong>Bildklassifikation</strong> auf den ersten Blick unpassend. Stellen wir uns analog zur<br />
exemplarischen Demonstration beim Hammingabstand (siehe Abschnitt 4.2.1)<br />
einen Präfixcode vor, dessen Länge sich proportional zum Mse verhält. Eine<br />
solche Kodierung fassen wir als Programm p auf, das auf Eingabe y die Ausgabe<br />
x erzeugt und umgekehrt. Gewissermaßen korrigiert p die Eingabe so, dass<br />
das Ergebnis der gewünschten Ausgabe entspricht. Insofern können wir y als<br />
fehlerbehaftete Variante von x ansehen und umgekehrt.<br />
Satz 4.12. Der mittlere quadratische Fehler Mse ist eine Metrik.<br />
Beweis. Die Identitätsbedingung ist wegen<br />
Mse(x, x) = 1<br />
MN<br />
∑ ∑<br />
m<br />
n<br />
(<br />
x(m,n) − x (m,n)<br />
) 2 =<br />
0<br />
MN = 0 (4.15)<br />
erfüllt. Aufgrund von (x (m,n) − y (m,n) ) 2 = (y (m,n) − x (m,n) ) 2 ist die Symmetrie<br />
für alle Summanden in der Mse-Formel und damit auch für die Mse selbst<br />
gegeben.<br />
Um zu zeigen, dass die Dreiecksungleichung ebenfalls erfüllt wird, erzeugen wir<br />
einen Widerspruch. Die Situation Mse(x, z) > Mse(x, y) + Mse(y, z) erfordert<br />
mindestens eine Position mit Pixelkoordinaten (m, n), an der<br />
(<br />
x(m,n) − z (m,n)<br />
) 2 ><br />
(<br />
x(m,n) − y (m,n)<br />
) 2 +<br />
(<br />
y(m,n) − z (m,n)<br />
) 2<br />
gilt. Nehmen wir an, eine solche Position existiert und wir nennen sie i. Aufgrund<br />
der Symmetrieeigenschaft können wir ohne Einschränkung der Allgemeingültigkeit<br />
x i z i annehmen. Ferner ist zu berücksichtigen, dass Pixelwerte<br />
2 Abk. für engl. Mean Square Error<br />
46
4.2. Standardmaße<br />
nicht negativ sind. Damit ist<br />
⇔<br />
⇔<br />
⇔<br />
⇔<br />
(x i − z i ) 2 > (x i − y i ) 2 + (y i − z i ) 2<br />
x 2 i − 2x i z i + z 2 i > x 2 i − 2x i y i + y 2 i + y 2 i − 2y i z i + z 2 i<br />
x i z i − x 2 i<br />
} {{ }<br />
< 0 (wegen z i x i )<br />
0 > y 2 i − x i y i + x i z i − y i z i<br />
0 > yi 2 − x i y i + x 2 i − (z i − x i )x i − y i x<br />
}{{} i<br />
wegen z i x i<br />
> (x i − y i ) 2 <br />
} {{ }<br />
0<br />
Die Mse erfüllt also die Dreiecksungleichung und damit alle alle Eigenschaften<br />
einer Metrik.<br />
Der Mse ist in unserer Auflistung der Standardmaße nur deshalb vertreten, weil<br />
er, wie bereits eingangs erwähnt, häufig im Rahmen der Bildkodierung zum Einsatz<br />
kommt. Bezüglich der Klassifikationsergebnisse mit dem k-NN-Algorithmus<br />
und Mse als Ähnlichkeitsdistanz sind aufgrund seiner Proportionalität zur Euklidischen<br />
Distanz keine Verbesserungen zu erwarten. Da wir keine gewichtende<br />
Variante des k-NN-Algorithmus verwenden, sind letztlich für die Klassifikation<br />
nur relative und nicht die absoluten Distanzen entscheidend. So können proportionale<br />
Ähnlichkeitsdistanzen keine <strong>unter</strong>schiedlichen Ergebnisse erzielen.<br />
4.2.5 Spitzenwert des Signal-/Rauschverhältnisses<br />
Der Spitzenwert des Signal-/Rauschverhältnisses Psnr 3 ist ein Maß für den<br />
maximalen Fehler zwischen zwei Bildern.<br />
Definition 4.13. Sei I max der insgesamt höchste Grauwert der Bilder I A und<br />
I K . Sei ferner I K eine Rekonstruktion von Bild I A nach verlustbehafteter Kompression.<br />
Dann ist<br />
I 2 max<br />
Psnr(I A , I K ) = 10 ∗ log 10<br />
Mse(I A , I K )<br />
der Spitzenwert des Signal-/Rauschverhältnisses zwischen Bild I A und I K .<br />
(4.16)<br />
Letztlich führen wir diesen Wert ebenfalls nur der Vollständigkeit halber auf, da<br />
er in der Literatur häufig im Zusammenhang mit Bildkompression zu finden ist.<br />
Bei den im Rahmen dieser Arbeit zu klassifizierenden Bildern ist I max immer<br />
gleich 255. Ferner beinhaltet die Definition neben diesem I max nur den mittleren<br />
quadratischen Fehler als Variable. Für den haben wir im vorherigen Abschnitt<br />
bereits die Proportionalität zum Euklidischen Abstand diskutiert und festgestellt,<br />
dass keine verbesserten Ergebnisse zu erwarten sind. Gleiches gilt darum<br />
auch für den Spitzenwert des Signal-/Rauschverhältnisses.<br />
3 Abk. für engl. Peak Signal Noise Ratio<br />
47
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
4.3 PPM-basierter Abstand<br />
4.3.1 Entropiekodierung<br />
Jedes einzelne Symbol eines zu kodierenden Strings enthält eine bestimmte Menge<br />
an Information über den gesamten String. Was genau wir in diesem Sinne<br />
<strong>unter</strong> Information verstehen, werden wir in Kürze erläutern. Bei Entropiekodiererungen<br />
spiegelt sich die in einem Symbol enthaltene Menge an Information<br />
proportional in seiner Kodierungslänge wieder. Der Informationsgehalt eines<br />
Symbols verhält sich umgekehrt proportional zu seiner Auftrittswahrscheinlichkeit.<br />
Definition 4.14. Sei X ein endliches Alphabet und sei p(x) für alle x ∈ X<br />
deren Auftrittswahrscheinlichkeit. Dann ist<br />
der Informationsgehalt des Symbols x.<br />
I(p(x)) = − log 2 p(x)<br />
Der Informationsgehalt wird in Bits gemessen. Je Bit kann also genau eine<br />
Einheit ”<br />
Information“ gespeichert werden. Damit ist zunächst einmal die in<br />
jedem Symbol eines Strings enthaltene Information quantitativ erfassbar.<br />
Definition 4.15. Sei X ein endliches Alphabet und sei p(x) für alle x ∈ X<br />
deren Auftrittswahrscheinlichkeit. Dann ist<br />
H(X) = ∑ x∈X<br />
p(x)I(p(x) = − ∑ x∈X<br />
p(x) log 2 p(x) (4.17)<br />
die Entropie von X.<br />
Letztlich beinhaltet ein String implizit ein Alphabet und eine Wahrscheinlichkeitsverteilung<br />
der Symbole. Bei der Entropie handelt es sich um den Erwartungswert<br />
des Informationsgehalts für die Symbole. Nach dem Satz von<br />
L’Hospital gilt lim p(x)→0 p(x) log 2 p(x) = 0. Summanden mit geringer Wahrscheinlichkeit<br />
spielen für die Summe also nur eine <strong>unter</strong>geordnete Rolle. Die<br />
Entropie bleibt klein. Gleiches gilt auch für große Wahrscheinlichkeiten, denn<br />
lim p(x)→1 p(x) log 2 p(x) = 0. Damit tragen auch große Wahrscheinlichkeiten wenig<br />
zur Summe bei. Abbildung 4.10 zeigt den entsprechenden Kurvenverlauf.<br />
Wenig wahrscheinliche Symbole haben zwar einen hohen Informationsgehalt,<br />
kommen aber selten vor. Darum sorgen sie insgesamt nicht für eine wesentliche<br />
Erhöhung des mittleren Informationsgehalts. Häufig vorkommende Symbole<br />
tragen aufgrund Ihres geringen Informationsgehalts ebenfalls nicht signifikant<br />
zu höherer Entropie bei. Relevant sind die Symbole mit mittleren Wahrscheinlichkeiten.<br />
Gibt es davon viele, so ist die Entropie relativ hoch.<br />
Übertragen wir dies auf einen Entropiekodierer, ist ein niedriger Informationsgehalt<br />
eines Symbols gleichbedeutend mit einem kurzem Codewort. Ein hoher<br />
48
4.3. PPM -basierter Abstand<br />
0.6<br />
−p(s)log 2<br />
(p(s)<br />
0.4<br />
0.2<br />
0<br />
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />
p(s)<br />
Abbildung 4.10: Kurvenverlauf der Funktion f(p(x)) = −p(x) log 2 p(x)<br />
Informationsgehalt entspricht einem langen Codewort, welches aber nur selten<br />
vorkommt. Auch für die Länge des gesamten kodierten Strings sind also die<br />
Symbole mit mittlerer Wahrscheinlichkeit hauptverantwortlich.<br />
Ein gegebener String enthält die Symbole eines Alphabets mit einer bestimmten<br />
Wahrscheinlichkeit. Die Kodierungslänge ist bei Entropiekodierung also zumindest<br />
proportional zur Entropie des Strings. Im Idealfall sind Länge und Entropie<br />
identisch. Da die Entropie im Allgemeinen jedoch nicht ganzzahlig ist, kann ein<br />
wirklich optimaler Kodierer nicht realisiert werden. Je länger der zu kodierende<br />
String aber ist, desto besser ist eine Approximation möglich.<br />
4.3.2 Arithmetische Kodierung<br />
Die arithmetische Kodierung gehört zur Familie der Entropiekodierer. Der Name<br />
ist darauf zurückzuführen, dass für Kodierung und Dekodierung lediglich<br />
arithmetische Oprationen verwendetet werden.<br />
Das Intervall der reellen Zahlen zwischen 0 und 1, [0, 1] = {x ∗ ∈ R|0 x ∗ 1}<br />
beinhaltet unendlich viele Elemente 4 . Die arithmetische Kodierung nutzt genau<br />
diesen Umstand aus. Einem beliebig langen endlichen String x, bestehend aus<br />
Symbolen eines beliebig großen endlichen Alphabets Σ wird ein Suberintervall<br />
von [0; 1] zugeordnet. Der Repräsentant x ∗ ist ein beliebiges Element dieses<br />
Subintervalls, z.B. seine <strong>unter</strong>e Grenze. Sind dem Dekoder Σ und x ∗ bekannt,<br />
so kann daraus x eindeutig rekonstruiert werden 5 .<br />
Die Qualität der arithmetischen Kodierung basiert auf dem zugrunde liegenden<br />
Wahrscheinlichkeitsmodell. Prinzipiell generiert ein Symbol s, das im zu<br />
kodierenden String x mit höherer Wahrscheinlichkeit P x (s) vorkommt, weniger<br />
Bits in der Kodierung. Wenig wahrscheinliche, also seltene Symbole sorgen für<br />
eine größere Verlängerung der Kodierung. Das Verfahren basiert jedoch nicht<br />
4 Genau genommen sind es sogar überabzählbar unendlich viele.<br />
5 Die Bezeichnung des Repräsentanten mit x ∗ ist im Rahmen der Nomenklatur dieser Arbeit<br />
nur konsequent, denn letztlich handelt es sich dabei um eine komprimierte Darstellung des<br />
Strings x.<br />
49
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
0, 0<br />
0, 7<br />
0, 8<br />
0, 0<br />
x 1<br />
0, 49<br />
x 2<br />
0, 56<br />
x 3<br />
0, 49<br />
x 1<br />
0, 539<br />
x 2<br />
0, 546<br />
x 3<br />
0, 546<br />
x 1<br />
0, 5558<br />
x 2<br />
0, 5572<br />
x 3<br />
x 1<br />
x 2<br />
x 3<br />
1, 0<br />
0, 7<br />
0, 56<br />
0, 56<br />
Abbildung 4.11: Entwicklung der Subintervalle bei arithmetischer Kodierung des<br />
Strings x 1 x 2 x 3 [Say00].<br />
auf einem statischen Wörterbuch. Die Kodierung eines Symbols s ∈ Σ erzeugt<br />
dementsprechend nicht immer die gleiche Bitfolge. Arithmetische Kodierung ist<br />
in dieser Hinsicht dynamisch. Dies wollen wir nun durch ein Beispiel verdeutlichen<br />
[Say00].<br />
Beispiel 4.16. Sei Σ = {x 1 , x 2 , x 3 } mit P (x 1 ) = 0, 7, P (x 2 ) = 0, 1 und<br />
P (x 3 ) = 0, 2. Entsprechend dieser Wahrscheinlichkeiten partitionieren wir nun<br />
das Intervall [0; 1). Dem Symbol x 1 wird das Subintervall [0; 0, 7) zugeordnet,<br />
x 2 erhält das Subintervall [0, 7; 0, 8) und x 3 entsprechend [0, 8 1). Die jeweilge<br />
Obergrenze der Subintervalle entspricht also der kumulierten Wahrscheinlichkeit.<br />
Da es sich um rechtsoffene Subintervalle handelt, überschneiden sie sich<br />
nicht.<br />
Nun wollen wir den String x 1 x 2 x 3 kodieren. Das erste Symbol ist x 1 und das<br />
zugehörige Subintervall ist [0; 0, 7). Dieses Subintervall teilen wir nun analog<br />
zur ursprünglichen Partitionierung wiederum basierend auf den Wahrscheinlichkeiten<br />
neu auf. In dieser neuen Partitionierung gilt dann x 1 ̂= [0; 0, 49),<br />
x 2 ̂= [0, 49; 0, 56) und x 3 ̂= [0, 56; 0, 7). Das zweite Symbol des zu kodierenden<br />
Strings ist x 2 . Das zugehörige Subintervall ist [0, 49; 0, 56). Nach erneuter Partitionierung<br />
ergibt sich für das dritte zu kodierende Symbol x 3 das Subintervall<br />
[0, 546; 0, 56).<br />
Damit ist 0, 546 als Untergrenze ein möglicher Repräsentant des Strings x 1 x 2 x 3<br />
<strong>unter</strong> der gegebenen Wahrscheinlichkeitsverteilung. Abbildung 4.11 illustriert<br />
die Subintervallbildung in anschaulicher Weise.<br />
Symbole mit geringer Auftrittswahrscheinlichkeit resultieren zunächst also in<br />
kleinen Intervallen. Das führt wiederum in der Regel zu mehr Nachkommastellen<br />
der neuen Subintervallgrenzen. Zwar ist es im manchen Fällen möglich,<br />
auch innerhalb eines kleinen Intervalls Repräsentanten mit kurzer Darstellung<br />
zu finden. Im Allgemeinen ist das aber nicht der Fall. Symbole mit hoher Auf-<br />
50
4.3. PPM -basierter Abstand<br />
trittswahrscheinlichkeit werden durch große Intervalle dargestellt, was am Ende<br />
zu weniger Nachkommastellen des Repräsentanten führt. Tendenziell gilt also,<br />
dass wenig wahrscheinliche Symbole den Repräsentanten stärker verlängern, als<br />
Symbole mit höherer Wahrscheinlichkeit.<br />
Ist dem Dekoder die Wahrscheinlichkeitsverteilung bekannt, dann kann dieser<br />
den ursprünglichen String eindeutig und fehlerfrei rekonstuieren. Betrachten<br />
wir dazu die Dekodierung zu Beispiel 4.16.<br />
Beispiel 4.17. Die 0, 546 ist <strong>unter</strong> der gegebenen Wahrscheinlichkeitsverteilung<br />
aus Beispiel 4.16 die Kodierung des Strings x 1 x 2 x 3 . Zur Rekonstruktion<br />
nutzen wir die gegebene Wahrscheinlichkeitsverteilung und dekodieren zunächst<br />
das erste Symbol wie folgt. Der Wert 0, 546 liegt offensichtlich im Subintervall<br />
[0; 0, 7). Dieses repäsentiert im Einheitsintervall [0; 1) das Symbol x 1 . Darum<br />
kann das erste Symbol des kodierten Strings nur x 1 sein. Analog zum Enkoder<br />
wird das Intervall [0; 0, 7) entsprechend der Wahrscheinlichkeiten der Symbole<br />
neu partitioniert. Die 0, 546 liegt im neuen Subintervall [0, 49; 0, 56), welches<br />
das Symbol x 2 repräsentiert. Zweites Symbol des kodierten Strings ist also x 2 .<br />
Nach erneuter Partionierung von [0, 49; 0, 56) stellt man fest, dass es sich beim<br />
dritten kodierten Symbol zweifelsfrei um x 3 handelt.<br />
Jetzt ist aber nicht unmittelbar klar, dass der kodierte String zu Ende ist.<br />
Deshalb wird in der Praxis am Ende des Strings ein Terminalsymbol kodiert,<br />
welches dem Dekoder dann als Abbruchkriterium dient.<br />
Je länger der zu kodierende String ist, desto enger rücken die absoluten Grenzen<br />
der Subintervalle im Verlauf der Kodierung zusammen. Das war in der Praxis<br />
aufgrund der beschränkten Darstellungsgenauigkeit der Zahlen im Rechner für<br />
lange Zeit ein Problem. Die inkrementelle Implementierung bietet nunmehr die<br />
entsprechende Lösung [SS08].<br />
Die Subintervallgrenzen nach Kodierung des dritten Symbols in Beispiel 4.16<br />
sind 0, 546 und 0, 56. Nehmen wir an, der zu kodierende String wäre noch nicht<br />
zu Ende. Unabhängig davon, wie viele Symbole noch folgen, beginnen alle neuen<br />
Subintervallgrenzen mit 0.5 . . .. Es gibt also keinen Grund, diese Information<br />
während des gesamten Kodierungsprozesses durchzuschleifen. Schreiben wir also<br />
die 0.5 als initiale kumultative Ausgabe und rechnen ausschließlich mit den<br />
verbleibenden Nachkommastellen weiter (hier: 46 und 60). Diese kumultative<br />
Ausgabe wird immer dann um neue Nachkommastellen erweitert, wenn diese<br />
für den weiteren Verlauf der Kodierung fix sind.<br />
An die Stelle der Gleitkommaarithmetik tritt somit die ganzzahlige Arithmetik.<br />
Zu beachten ist, dass die ganzzahligen Intervallgrenzen so dargestellt werden,<br />
dass die folgenden neuen Subintervallgrenzen ebenfalls ganzzahlig sind. Im Beispiel<br />
wären 46 und 60 ungeeignet, stattdessen sind 460 und 600 zu verwenden.<br />
Das neue Subintervall für x 2 ist dann [558; 572). Ist x 2 auch das nächste zu<br />
kodierende Symbol, kann die kumultative Ausgabe auf 0, 55 erweitert werden<br />
(siehe auch Abbildung 4.11). Die beschränkte Gleitkommagenauigkeit ist also<br />
mittlerweile unproblematisch. Zwar ist auch die Größe der ganzzahligen Werte<br />
51
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
im Rechner beschränkt, diese Schranke ist jedoch so groß, dass sie in der Praxis<br />
kaum eine Rolle spielt.<br />
4.3.3 Prediction with Partial Matching<br />
Die arithmetische Kodierung, wie sie im vorherigen Abschnitt erläutert wurde,<br />
berücksichtigt in der gegebenen Wahrscheinlichkeitsverteilung die Häufigkeit<br />
der einzelnen Symbole. Dazu muss diese Wahrscheinlichkeitsverteilung dem Kodierer<br />
vorab bekannt sein. Das kann aber nicht immer vorausgesetzt werden.<br />
Prediction with Partial Matching (PPM ) setzt letztlich zwar auch auf arithmetische<br />
Kodierung, baut aber eine Art von Wahrscheinlichkeitsverteilung erst<br />
im Verlauf des Kodierungsprozesses auf [Say00]. Diese berücksichtigt mehr als<br />
lediglich die einfache Häufigkeit der Symbole im String. Wir bezeichnen sie im<br />
Folgenden als Statistik.<br />
Die Symbole des Strings werden einzeln und der Reihe nach arithmetisch kodiert.<br />
Prinzipiell wird dazu jeweils eine Statistik verwendet, die alle zuvor<br />
kodierten Symbole berücksichtigt. Ein Symbol, welches letztlich im gesamten<br />
String relativ häufig vorkommt, erhält also tendenziell im Verlauf der Kodierung<br />
immer kürzere Codewörter.<br />
Definition 4.18. Sei x = x 1 x 2 . . . x i . . . x n der zu kodierende String der Länge<br />
n, dann bezeichnet man den Teilstring x i−l x i−l+1 . . . x i−1 als Kontext der Ordnung<br />
l für das Symbol x i .<br />
PPM berücksichtigt diesen Kontext eines Symbols wie folgt. Die Statistik beinhaltet<br />
für jeden Kontext eine eigene Wahrscheinlichkeitsverteilung aller Symbole<br />
des Alphabets. Vor Beginn der Kodierung wird initial eine maximale Kontextordnung<br />
l festgelegt. Für jedes zu kodierende Symbol x i wird dann zunächst<br />
der maximale Kontext der Länge l ermittelt 6 . PPM prüft dann, ob x i für genau<br />
diesen Kontext in der Statistik bereits existiert. Ist das der Fall, dann wird<br />
x i entsprechend seiner bisherigen Wahrscheinlichkeit im Kontext arithmetisch<br />
kodiert. Anschließend werden in der Statistik noch die Häufigkeit von x i in dem<br />
Kontext um 1 erhöht und die Wahrscheinlichkeiten entsprechend angepasst.<br />
Für den Fall, dass x i in dem Kontext noch nicht vorhanden ist, wird es mit<br />
Häufigkeit 1 in die kontextspezifische Wahrscheinlichkeitsverteilung eingefügt.<br />
Dann wird ein sogenanntes Escape-Symbol esc kodiert. Dieses Symbol ist mit<br />
einer festen Häufigkeit von 1 in den Wahrscheinlichkeitsverteilungen aller Kontexte<br />
vorhanden. Nach der Kodierung von esc reduziert der Algorithmus die<br />
Kontextordnung um 1 und wiederholt das beschriebene Prozedere in dem nun<br />
kürzeren Kontext. Diese Wiederholung mit Reduzierung der Kontextordnung<br />
findet so häufig statt, bis x i in einem Kontext gefunden wurde und entsprechend<br />
kodiert werden kann.<br />
Damit dieses Verfahren in jedem Fall terminiert, ist die Statistik mit einer<br />
6 Für die ersten l Elemente ist der maximale Kontext natürlich entsprechend kleiner.<br />
52
4.3. PPM -basierter Abstand<br />
Wahrscheinlichkeitsverteilung für die sogenannte Kontextordnung −1 initialisiert.<br />
Diese beinhaltet alle Symbole des Alphabets mit gleicher Wahrscheinlichkeit.<br />
Letztlich wird jedes Symbol, dass im String vorkommt, genau einmal in<br />
der Kontextordnung −1 kodiert. Ist das einmal passiert, wird das Symbol bei<br />
erneutem Erscheinen im String spätestens bei Kontextordnung 0 gefunden. So<br />
erhalten wir am Ende die Kodierung x ∗ des ursprünglichen Strings x.<br />
Die Dekodierung läuft im Prinzip analog zur Kodierung. Ähnlich der einfachen<br />
arithmetischen Dekodierung kann x <strong>unter</strong> Kenntnis von x ∗ und dem Alphabet<br />
eindeutig rekonstruiert werden [Say00].<br />
4.3.4 PPM-Kodierungslänge als Distanzmaß<br />
Betrachten wir zunächst noch einmal die normalisierte Kompressionsdistanz<br />
Ncd nach Definition 2.20 in Kapitel 2. Für zwei Strings x, y ∈ {0, 1} ∗ gilt<br />
NCD(x, y) =<br />
Comp(x#y) − min {Comp(x), Comp(y)}<br />
. (4.18)<br />
max {Comp(x), Comp(y)}<br />
Ein wesentlicher Aspekt der Funktionsweise liegt darin, dass der verwendete<br />
Kompressionsalgorithmus für alle x, y ∈ Σ ∗ die Eigenschaften<br />
1. Idempotenz (Comp(x#x) = Comp(x) ) und<br />
2. Monotonie (Comp(x#x) = Comp(x))<br />
möglichst gut erfüllt. Je ähnlicher sich x und y sind, desto mehr tendiert der<br />
Wert im Zähler und damit auch Ncd(x, y) gegen 0. Für den Fall der Gleicheit<br />
(x = y) ist dann<br />
Comp(x#x) − min {Comp(x), Comp(x)} = 0. (4.19)<br />
Die Erfüllung der Idempotenz-Eigenschaft basiert bei realen Kompressionsalgorithmen<br />
häufig darauf, dass bereits einmal kodierte Sequenzen in sehr kurzer<br />
Weise erneut kodiert werden können. Der Lempel-Ziv-Algorithmus macht das<br />
beispielsweise wie folgt. Taucht eine bereits kodierte Sequenz im String erneut<br />
auf, dann wird vereinfacht ausgedrückt lediglich ein Verweis auf die erste Position<br />
und die Länge dieser Sequenz kodiert.<br />
Je weniger solcher Wiederholungen von Sequenzen aus x in y vorhanden sind,<br />
desto mehr nähert sich Comp(x#y) der Summe beider Einzelkodierung Comp(x)+<br />
Comp(y) an. In diesem Fall geht Ncd(x, y) gegen 1.<br />
Die arithmetische Kodierung und damit auch PPM erfüllen die Idempotenzbedingung<br />
nicht. Zwar ist arithmetische Kodierung bezüglich des Informationsgehalts<br />
einzelner Symbole nah an der Optimalität. Das sagt aber nichts über<br />
die Informationsmenge im Sinne der Kolmogorov-Komplexität des gesamten<br />
Strings. Diese kann deutlich geringer sein, als die Summe der Informationen<br />
53
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
aller Symbole. So gilt für die Länge der arithmetischen Kodierung A zweier<br />
Strings x und y unabhängig von Ihrer Ähnlichkeit<br />
A(x#y) ≈ A(x) + A(y) (4.20)<br />
Trotzdem wollen wir auf der Basis von PPM eine Approximation der Informationsdistanz<br />
der Bilder zweier Ziffern entwickeln. Unser Ansatz basiert auf der<br />
Überlegung, dass ähnliche Bilder im Verlauf der Kodierung mittels PPM auch<br />
ähnliche Statistiken erzeugen.<br />
Zum Vergleich zweier solcher Bilder x und y generieren wir zunächst nur deren<br />
Statistiken. Diese nennen wir s x und s y . Eigentlich würde PPM zusammen mit<br />
den Statistken auch gleich die Kodierungen erzeugen. Diese nutzen wir jedoch<br />
nicht. Stattdessen führen wir die arithmetische Kodierung mit den fertigen Statistiken<br />
durch. Wir bezeichnen im Folgenden die arithmetische Kodierung eines<br />
Strings y <strong>unter</strong> der <strong>Verwendung</strong> der Statistik s x mit A x (y). Bei s x handelt es<br />
sich um die für den String x optimale Statistik. Es gilt also<br />
∀x, y ∈ Σ ∗ : |A y (x)| |A x (x)|. (4.21)<br />
Nehmen wir an, unsere ursprüngliche Annahme, dass ähnliche Bilder auch<br />
ähnliche Statistiken erzeugen, sei zutreffend. Sind dann zwei Bilder x und y<br />
und folglich auch die Statistiken s x und s y ähnlich, dann ist<br />
d(x, y) = |A y (x)| − |A x (x)| (4.22)<br />
kleiner als bei stark <strong>unter</strong>schiedlichen Bildern aber nie kleiner als 0. Diese Differenz<br />
könnte bereits als nicht normierte Ähnlichkeitsdistanz dienen. Wir können<br />
dem Kodierungsalgorithmus A also eine Statistik s y vorgeben. Durch diese Statistik<br />
übergeben wir dem Algorithmus indirekt Information über das Bild y.<br />
Das Ausmaß der Verschiedenheit der Statistiken s x und s y wirkt sich unmittelbar<br />
auf die Differenz aus. Wir wollen also die Informationsdistanz zwischen<br />
x und y durch Anwendung arithmetischer Kodierung mittels der Statistiken s x<br />
und s y approximieren.<br />
Genau genommen handelt es sich hier um eine spezifische Variante der arithmetischen<br />
Kodierung. Die übliche Variante, so wie wir sie in Abschnitt 4.3.2<br />
vorgestellt haben, kennt keine kontextspezifischen Wahrscheinlichkeiten. Für die<br />
PPM -Statistik gilt das aber sehr wohl. Wir möchten an dieser Stelle erwähnen,<br />
dass bei einer Kodierung A x (x) niemals ein esc kodiert wird. Die Statistik s x<br />
enthält für jeden im Bild x vorkommenden Kontext maximaler Ordnung alle<br />
tatsächlich vorkommenden Symbole.<br />
Das führt uns zu der Annahme, dass die Kodierung von A y (x) bei x ≠ y<br />
aus zwei Gründen länger ist als |A x (x)|. Zunächst sind die kontextspezifischen<br />
Wahrscheinlichkeitsverteilungen in s y nicht optimal für x. Zum anderen ist mehr<br />
oder weniger häufig auch die Kodierung von esc notwendig. Diese Vermutung<br />
wird insbesondere bei der Anwendung in Kapitel 5 noch von zentraler Bedeutung<br />
sein.<br />
54
4.3. PPM -basierter Abstand<br />
k 5<br />
k 6<br />
k 3<br />
k 7<br />
p k 1 k 2<br />
k 8<br />
k 4<br />
Abbildung 4.12: 2D-Kontext für Pixel p mit Kontextordnung 8<br />
Offensichtlich ist diese Ähnlichkeitsdistanz nicht auf das Intervall [0; 1] normiert.<br />
Wie bei der Ncd wollen wir aber genau diese Normalisierung erreichen. Bei<br />
maximaler Verschiedenheit der Bilder soll die Distanz möglichst nahe bei 1<br />
liegen. Je ähnlicher sich die Bilder sind, desto näher rücken sie zusammen.<br />
Bei Gleichheit von x und y möchten wir einen Abstand von 0 erreichen. Die<br />
Ähnlichkeitsdistanz<br />
d A (x, y) = 1 − |A x(x)|<br />
|A y (x)|<br />
(4.23)<br />
erfüllt alle diese Bedingungen. Sind s x und s y ähnlich und die Kodierungslängen<br />
annähernd gleich, dann liegt der Wert des Bruchs nahe bei 1 aber nie darüber<br />
und damit die Distanz bei 0. Je ungeeigneter die Statistik s y für die Kodierung<br />
von x ist, desto größer wird der Zähler im Bruch und die Distanz geht gegen 1.<br />
Um Symmetrie der Distanz zu garantieren, wählen wir analog zur Informationsdistanz<br />
das Maximum beider Richungen:<br />
d Asym (x, y) = max {d A (x, y), d A (y, x)} (4.24)<br />
Dieses Maß für Ähnlichkeitsdistanz wollen wir nun mit verschiedenartigen Kontexten<br />
testen. Wir verwenden es, wie auch schon die im ersten Teil dieses Kapitels<br />
beschriebenen Standardmaße, als Abstandsmaß für k-NN-Klassifikation.<br />
4.3.5 Zweidimensionaler Kontext<br />
Die augenscheinliche Schwäche eines eindimensionalen Kontextes ist eben genau<br />
seine Eindimensionalität. Durch die Nichtberücksichtigung der zweiten Dimension<br />
geht zweifelsfrei Information über die vertikale Struktur des Bildes verloren.<br />
Diesen Verlust wollen wir mittels einer zweideimensionalen Kontextdefinition<br />
zu verhindern versuchen.<br />
Unser 2D-Kontext berücksichtigt alle 8 direkten Nachbarn des jeweils aktuellen<br />
Pixels p in horizontaler, vertikaler und diagonaler Richtung. Abbildung 4.12<br />
zeigt die Reihenfolge der Nachbarpixel im 2D-Kontext. Ein Kontext der Ordnung<br />
l besteht aus den Pixeln k 1 . . . k l in eben dieser Reihenfolge. Entsprechend<br />
55
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
Fehlerrate in %<br />
46<br />
44<br />
42<br />
40<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.13: Entwicklung der Fehlerrate mit k-NN-Klassifikation und PPMbasiertem<br />
Abstand mit 2D-Kontext<br />
beinhaltet der Kontext der Ordnung 8 alle Nachbarpixel. Bei Kontextordnung<br />
7 fehlt der Pixel links <strong>unter</strong>halb von p, bei Kontextordnung 6 fehlt zusätzlich<br />
der Pixel rechts oberhalb, usw..<br />
Wir verwenden im folgenden Test die maximale Kontextordnung 8. Das beruht<br />
auf der Idee, daraus maximale zweidimensionale Nachbarschaftsinformation zu<br />
erhalten. In insgesamt 5 Durchgängen für jedes k ∈ [3; 9] konnte in keinem<br />
Fall ein zufriedenstellendes Ergebnis erreicht werden. Wie auch schon in den<br />
vorherigen Experimenten besteht die Trainingsmenge aus 300 Bildern je Ziffer<br />
und die Testmenge aus 50. Eine repräsentative Konfusionsmatrix in Tabelle 4.10<br />
zeigt auf, dass die <strong>Verwendung</strong> der binären zweidimensionalen Kontexte keine<br />
gute Stratgie ist. Die Fehlerrate liegt bei etwa 40, 6%. Aus Abbildung 4.13 ist<br />
außerdem ersichtlich, dass auch mit verändertem k keine besseren Ergebnisse<br />
erzielt werden können.<br />
Veränderungen der Reihenfolge im Kontext bringen ebenfalls keine signifikante<br />
Veränderung der Klassifikationsgüte mit sich. Gleiches gilt für eine Reduzierung<br />
der maximalen Kontextordnung auf 4. Dies ist unabhängig davon, ob die horizontalen<br />
und vertikalen oder die diagonalen Kontexte betrachtet werden. Das<br />
Ergebnis bleibt auf ähnlichem Niveau.<br />
Es bedarf also einer anderen Strategie, zweidimensionale Strukturinformation<br />
zu erhalten. Eine solche wollen wir im folgenden Abschnitt <strong>unter</strong>suchen.<br />
4.3.6 Eindimensionaler Kontext auf Gradientenbilder<br />
Die <strong>Verwendung</strong> des zweidimensionalen Kontexts bringt zwar im Vergleich zum<br />
eindimensionalen schon eine deutliche Verbesserung, jedoch wollen wir noch eine<br />
weitere Variante entwickeln. Sie ist in gewisser Weise eine Verallgemeinerung<br />
des 2D-Kontextes. Die Repräsentation der Graubilder als 28 × 28 große Matrix<br />
m, entsprecht den Werten einer zweistelligen Funktion m(x, y) = m x,y für alle<br />
56
4.3. PPM -basierter Abstand<br />
Klassifikationsergebnis<br />
Tatsächlich abgebildete Ziffer<br />
0 1 2 3 4 5 6 7 8 9<br />
0 40 0 5 2 0 2 10 2 8 4<br />
1 0 50 0 0 1 0 0 3 0 0<br />
2 0 0 11 7 1 5 2 2 3 3<br />
3 1 0 10 34 0 12 2 1 3 3<br />
4 0 0 0 0 31 0 4 5 0 2<br />
5 1 0 7 4 0 25 2 0 2 0<br />
6 4 0 1 0 2 0 18 0 4 4<br />
7 0 0 5 2 7 2 6 34 0 9<br />
8 1 0 4 1 1 0 0 0 28 0<br />
9 3 0 7 0 7 4 6 3 2 25<br />
Tabelle 4.10: Klassifikation mit 7-NN und PPM-basiertem Abstand mit maximalem<br />
2D-Kontext der Ordnung 8 auf Binärbildern (Fehlerrate: 40, 8%)<br />
x, y ∈ {1, 2, 3, . . . , 28}. Wir bestimmen nun die Gradienten der Funktion m mit<br />
⎛ ⎞ ⎛ ⎞<br />
∇m =<br />
⎝ δm<br />
δx<br />
δm<br />
δy<br />
⎠ =<br />
⎝ m′ x<br />
m ′ y<br />
⎠ (4.25)<br />
Die erste Komponente des Spaltenvektors entspricht der partiellen Ableitung<br />
von m in x-Richtung, die zweite Komponente der in y-Richtung. So können<br />
wir nun für jede Pixelposition die partiellen Ableitungen in beide Richtungen<br />
ermitteln. Jede Komponente der so entstehenden Gradientenmatrix beinhaltet<br />
einen zweidimensionalen Vektor, der die Helligkeitsveränderung in x- und y-<br />
Richtung beschreibt.<br />
Würden wir nun die Kontexte direkt auf der Gradientenmatrix definieren, so<br />
wäre jedes Element des Alphabets ein 2-Tupel. Da die Helligkeitswerte im ganzzahligen<br />
Intervall [0; 255] liegen, befinden sich beide Kompentenen der Gradienten<br />
im doppelt so großen ganzzahligen Intervall [−255; 255]. Das sind in x- und<br />
y-Richtung jeweils 511 Möglichkeiten, also insgesamt 511 2 = 261121 verschiedene<br />
Kombinationen. Diese Größenordnung ist für ein Alphabet einer P P M-<br />
Kodierung allein aus Effizienzgründen vollkommen ungeeignet. Des Weiteren<br />
ist der Nutzen einer auf diese Weise erstellten Statistik zumindest fragwürdig.<br />
Die Wahrscheinlichkeit, dass ein Symbol innerhalb eines bestimmten Kontextes<br />
mehrfach auftaucht, ist sehr gering. Deshalb reduzieren wir nun die Größe des<br />
Alphabets massiv.<br />
Die abgebildeten Ziffern haben trotz der vorhandenen Grauwerte noch immer<br />
eine relativ scharfe Kontur. Fließende Übergänge von Schwarz zu Weiss sind<br />
selten, wenn sie denn überhaupt vorkommen. Wir nehmen deshalb an, dass die<br />
Euklidische Norm des Gradientenvektors und damit die Intensität der Hellig-<br />
57
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
keitsveränderung für die Ähnlichkeit der Bilder eine eher <strong>unter</strong>geordnete Rolle<br />
spielt. Wir richten unsere Aufmerksamkeit also nur noch auf die Gradientenrichtungen.<br />
Unter <strong>Verwendung</strong> beiden Komponenten des Gradientenvektors können<br />
wir mit Hilfe der Funktion<br />
⎧<br />
( m ′<br />
)<br />
arctan y<br />
m<br />
falls m ′ ′ x > 0<br />
x<br />
( m ′<br />
)<br />
π + arctan y<br />
m<br />
falls m ′ ′ y 0, m ′ x < 0<br />
x<br />
( ⎪⎨<br />
m ′<br />
)<br />
−π + arctan y<br />
atan2(m x , m y ) =<br />
m<br />
falls m ′ ′ y < 0, m ′ x < 0<br />
x<br />
(4.26)<br />
π<br />
2<br />
falls m ′ y > 0, m ′ x = 0<br />
− π 2<br />
falls m ′ y < 0, m ′ x = 0<br />
⎪⎩<br />
undefiniert falls m ′ y = 0, m ′ x = 0<br />
dessen Richtung im Bogenmaß bestimmen. Die Funktion atan2 hat gegenüber<br />
dem normalen arctan den Vorteil, tatsächlich den Winkel im Vollkreis zu bestimmen.<br />
Das sind aber noch immer sehr viele Möglichkeiten. Darum diskretisieren<br />
wir die Gradientenrichtungen auf insgesamt 8 gleichmäßig verteilte Werte<br />
zwischen 0 und 2π. So beschränken wir den Wertebereich für alle Elemente des<br />
diskretisierten Gradientenbildes g. Es gilt<br />
∀x, y ∈ {1, 2, . . . , 28} : g(x, y) ∈<br />
{<br />
0, π 4 , π 2 , 3π 4 , π, 5π 4 , 3π 2 , 7π 4<br />
}<br />
. (4.27)<br />
Diesen Wertebereich mit lediglich noch 8 Elementen verwenden wir als Alphabet<br />
für die P P M-basierte Kodierung.<br />
Nun wollen wir zunächst einmal überprüfen, ob die P P M-basierte Ähnlichkeitsdistanz<br />
auf den Gradientenbildern proportional zu einer bestimmten Form intuitiver<br />
Ähnlichkeit ist. Dazu wählen wir zufällg ein Bild aus dem MNIST-Datenbestand<br />
aus. Dieses Bild versehen wir durch mehr und mehr zufällige und unabhängige<br />
Bitflips mit einem immer größer werdenden Rauschen. Aufgrund der genannten<br />
Unabhängigkeit kann eine Position auch mehrfach verändert werden. Wir<br />
erwarten, dass sich mit Zunahme des Rauschens auch die Ähnlichkeitsdistanz<br />
erhöht.<br />
Wir haben bereits bei der Herleitung der normalisierten Kompressionsdistanz<br />
in Kapitel 2 festgestellt, dass die Anzahl der möglichen Bilder innerhalb eines<br />
kleinen Ähnlichkeitsradius ebenfalls relativ klein ist. Je größer wir diesen<br />
Ähnlichkeitsradius zulassen, desto stärker ist auch der Zuwachs an Bildern innerhalb<br />
des Radius. Deshalb erwarten wir hier trotz weniger Bitflips zunächst<br />
eine relativ starke Vergrößerung der Distanz. Je weiter sich das verrauschte<br />
Bild vom Original entfernt, desto weniger verändert weiteres zufälliges Rauschen<br />
die absolute Distanz. Abbildung 4.14 zeigt unser Testergebnis, welches<br />
die Erwartungen vollständig erfüllt. Die Bezeichnung R-Bild n in der Abbildung<br />
bedeuetet, dass das Original an n zufällig und unabhängig ausgewählten Stellen<br />
verrauscht wurde. Die Distanz zum Original steht jeweils <strong>unter</strong> dem Bild und<br />
ist mit d bezeichnet.<br />
58
4.3. PPM -basierter Abstand<br />
Original<br />
R−Bild 2<br />
R−Bild 5<br />
R−Bild 10<br />
R−Bild 20<br />
d: 0<br />
d: 0.069<br />
d: 0.132<br />
d: 0.188<br />
d: 0.331<br />
R−Bild 50<br />
R−Bild 100<br />
R−Bild 200<br />
R−Bild 500<br />
Negativ<br />
d: 0.439<br />
d: 0.560<br />
d: 0.706<br />
d: 0.760<br />
d: 0.518<br />
Abbildung 4.14: Entwicklung der PPM -basierten Distanz mit zufälligem Rauschen<br />
(d entspricht jeweils der Distanz zum Original)<br />
So beträgt der Abstand zum lediglich durch Veränderung an 2 Positionen erzeugten<br />
R-Bild 2 0, 069. R-Bild 10 hat bereits eine Distanz von 0, 188 zum Original.<br />
Die Veränderung von 8 Pixeln mehr, hat hier also zu einer Vergrößerung der<br />
Distanz um 0, 119 geführt. In einer sehr ähnlichen Größenordnung bewegt sich<br />
der Unterschied zwischen den jeweiligen Distanzen zum Original von R-Bild 50<br />
und R-Bild 100 , obwohl hier 50 Veränderungen mehr stattgefunden haben. Die<br />
Differenz der Distanzen von R-Bild 200 und R-Bild 500 liegt mit 0, 054 sogar deutlich<br />
dar<strong>unter</strong>.<br />
Die Distanz von Original und dessen Negativ ist jedoch geringer, als beim stark<br />
verrauschten Bild. Wir vermuten, dass das auf die nach wie vor im Bild vorhandene<br />
Struktur zurückzuführen ist. Das Negativ eines Bildes mit Struktur<br />
ist letztlich auch wieder ein Bild mit Struktur. In so einem Bild gibt es dann<br />
mit größerer Wahrscheinlichkeit auch Kontexte, die häufiger vorkommen als andere.<br />
Entsprechend wird die Statistik des P P M-Algorithmus weniger zufällig<br />
aussehen.<br />
Im weiteren Verlauf der Experimente mit diesem Distanzmaß wird auch diese<br />
Vermutung bekräftigt. So bewegt sich die Distanz zwischen zwei Bildern, die<br />
jeweils eine Ziffer zeigen, nie deutlich über 0, 5. Dieses Phänomen ist unabhängig<br />
davon feststellbar, ob die abgebildeten Ziffern semantisch gleich sind oder nicht.<br />
Das wiederum führt jedoch dazu, dass die Distanz<strong>unter</strong>schiede zwischen den<br />
Bildern des MNIST-Datenbestands absolut betrachet sehr klein sind. Trotzdem<br />
zeigt der k-NN-Algorithmus <strong>unter</strong> <strong>Verwendung</strong> des PPM -basierten Abstandsmaßes<br />
ein relativ gutes Ergebnis.<br />
Die Entwicklung der Fehlerrate (siehe Abbildung 4.15) lässt diese Annahme<br />
zunächst nicht zu. Im besten Fall mit k = 6 liegt die Fehlerrate noch immer bei<br />
19, 8%. Die zugehörige Konfusionsmatrix in Tabelle 4.11 zeigt lediglich, dass<br />
59
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
21.5<br />
Fehlerrate in %<br />
21<br />
20.5<br />
20<br />
19.5<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.15: Entwicklung der Fehlerrate mit k-NN-Klassifikation und PPMbasiertem<br />
Abstand auf diskretisierte Gradientenbilder (Bestes Ergebnis: k = 6 mit<br />
19, 8%)<br />
Klassifikationsergebnis<br />
Tatsächlich abgebildete Ziffer<br />
0 1 2 3 4 5 6 7 8 9<br />
0 47 0 3 2 0 1 3 0 7 4<br />
1 0 49 0 0 2 0 0 3 0 1<br />
2 0 0 28 0 0 1 1 0 1 0<br />
3 0 0 3 46 0 1 1 0 2 0<br />
4 0 0 0 0 45 1 7 1 0 5<br />
5 1 0 5 1 0 42 2 2 1 0<br />
6 1 0 1 0 0 1 35 0 6 0<br />
7 0 0 6 0 1 2 0 44 0 5<br />
8 0 1 1 0 0 0 0 0 30 0<br />
9 1 0 3 1 2 1 1 0 3 35<br />
Tabelle 4.11: Klassifikation mittel 6-NN und PPM-basiertem Abstand auf diskretisierte<br />
Gradientenbilder (Fehlerrate: 19, 8%)<br />
die hohe Fehlerrate im Wesentlichen auf Falschklassifikationen der Ziffern 2, 6,<br />
8 und 9 zurückzuführen sind. Ein auffälliger Anstieg der falsch-positiv-Rate ist<br />
jedoch bei keiner Ziffer erkennbar.<br />
Die Stärke der gradientenbasierten Kontexte zeigt sich bei der gegenläufigen<br />
Verschiebung von Trainings- und Testbildern um 4 Pixel in horizontaler Richtung.<br />
Hier ist kein signifikanter Anstieg der Fehlerrate zu verzeichnen. Die Verlaufskurve<br />
der Fehlerrate für <strong>unter</strong>schiedliche k in Abbildung 4.16 bezieht sich<br />
auf diese verschobenen Bilder. Im Vergleich zu den zentrierten Daten ist sie lediglich<br />
um etwa 1, 4% erhöht. In der Konfusionsmatrix (siehe Tabelle 4.12) hat<br />
sich eine leichte Verschiebung der Klassifikationsgüte zwischen den Ziffern ergeben.<br />
Nach wie vor können die 2, die 6 und die 8 relativ schlecht erkannt werden,<br />
60
4.4. Ergebnisvergleich<br />
Fehlerrate in %<br />
24<br />
23<br />
22<br />
21<br />
3 4 5 6 7 8 9<br />
k<br />
Abbildung 4.16: Entwicklung der Fehlerrate mit k-NN-Klassifikation und PPMbasiertem<br />
Abstand auf diskretisierten und um 4 Pixel gegenläufig verschobenen Gradientenbildern<br />
(Bestes Ergebnis: k = 7 mit 21, 5%)<br />
Klassifikationsergebnis<br />
Tatsächlich abgebildete Ziffer<br />
0 1 2 3 4 5 6 7 8 9<br />
0 45 0 3 0 0 2 3 0 12 0<br />
1 1 50 0 0 1 0 2 2 0 0<br />
2 1 0 24 1 0 0 1 0 1 0<br />
3 0 0 8 40 0 5 0 0 5 0<br />
4 1 0 0 0 46 0 9 2 0 1<br />
5 1 0 7 5 0 40 1 0 3 2<br />
6 1 0 0 0 1 0 33 0 1 0<br />
7 0 0 7 2 0 3 1 46 2 1<br />
8 0 0 0 0 0 0 0 0 24 0<br />
9 0 0 1 2 2 0 0 0 2 46<br />
Tabelle 4.12: Klassifikation mittel 7-NN und PPM-basiertem Abstand auf diskretisierten<br />
und um 4 Pixel gegenläufig horizonal verschobenen Gradientenbildern (Fehlerrate:<br />
21, 2%)<br />
während sich das Ergebnis der 9 deutlich verbessert zeigt. Insgesamt bewegt<br />
sich die Klassifikationsgüte auf den zentrierten und den gegenläufig verschobenenen<br />
Bildern auf derart gleichwertigem Niveau, dass wir der <strong>Verwendung</strong> des<br />
PPM-basierten Distanzmaßes auf Gradientenbildern zweifelsfrei Translationsinvarianz<br />
bescheinigen können.<br />
4.4 Ergebnisvergleich<br />
Wir haben im Verlauf dieses Kapitels eine Reihe verschiedener Distanzmaße<br />
vorgestellt und bezüglich Ihrer Eignung zur k-NN-Klassifikation getestet. Sie<br />
61
Kapitel 4. Klassifikation mit Hilfe verschiedener Ähnlichkeitsmetriken<br />
Standardmaße<br />
PPM-basiert<br />
d H d L d E d P P M2D d grad<br />
zentriert binär 6, 2% 8, 2% (6, 2%) 40, 8% -<br />
zentriert grau 30% - 7, 8% - 19, 8%<br />
verschoben binär 88, 6% 10, 6% (88, 6%) - -<br />
verschoben grau - - - - 21, 8%<br />
Tabelle 4.13: Übersicht über die Fehlerraten bei der k-NN-Klassifikation aller getesten<br />
Distanzmaße (Hammingabstand d H , Levenshtein-Distanz d L , Euiklidische Distanz d E<br />
und zwei PPM-basierte Abstände)<br />
alle haben spezifische Vor- und Nachteile, die wir nun noch einmal abschließend<br />
beleuchten wollen.<br />
In Tabelle 4.13 sind die erzielten Klassifikationsergebnisse auf den zufällig reduzierten<br />
Datenbeständen in Form der Fehlerraten zusammengefasst. Hammingabstand,<br />
sowie Levenshtein- und Euklidische Distanz sind demnach gerade<br />
bei den bezüglich Translation normierten Bildern mit Abstand besser geeignet.<br />
Aufgrund der Möglichkeit, Hammingabstand und Euklidische Distanz<br />
verhältnismäßig schnell zu berechnen, konnten wir damit auch Experimente auf<br />
dem vollständigen MNIST-Datenbestand durchführen. Beide zeigten dabei ein<br />
noch deutlich besseres Ergebnis mit Fehlerraten von lediglich 3, 2% (Hammingabstand<br />
auf Binärbildern) bzw. 2, 8% (Euklidische Distanz auf Graubildern).<br />
Für die Levenshtein-Distanz war dies aufgrund der zu langen Berechnungszeit<br />
nicht möglich. Gleiches gilt für den PPM-basierten Abstand. Dieser zeigte sich<br />
sowohl bezogen auf die Fehlerrate, als auch auf die Laufzeit wenig performant.<br />
Untersuchungen auf den vollständigen Daten würden mit den uns im Rahmen<br />
dieser Arbeit zur Verfügung stehenden Kapazitäten mehrere Wochen dauern.<br />
Die Qualität der Klassifikation mit dem zweidimensionalen Kontext stellte sich<br />
als vergleichsweise schlecht heraus. Es bleibt jedoch festzuhalten, daß auch die<br />
vermeintlich schlechten Ergebnisse immer noch deutlich über der Qualität eines<br />
Zufallsklassifikators liegen. Dieser entscheidet sich bei jedem Objekt mit<br />
gleichverteilter Wahrscheinlichkeit für eine Klasse. Die Fehlerrate läge aufgrund<br />
deshalb bei genau 90%. Keins der eingesetzten Verfahren erreicht diese Quote<br />
auch nur annähernd.<br />
Die Stärke von Levenshtein-Distanz und dem PPM-basierten Verfahren auf<br />
Gradientenbilder zeigt sich in der Translationsinvarianz. Im Gegensatz zum<br />
Hamminabstand hat die gegenläufige Translation von Trainings- und Testmenge<br />
keinen signifikanten Einfluss auf die Fehlerrate.<br />
Das im Rahmen dieser Arbeit entwickelte PPM-basierte Abstandsmaß entspricht<br />
nicht allen Anforderungen, die die Definition der normalisierten Kompressionsdistanz<br />
an den Kompressionsalgorithmus stellt. Insbesondere aufgrund<br />
der nicht erfüllten Idempotenzbedingung war ein gutes Verhalten nicht unbe-<br />
62
4.4. Ergebnisvergleich<br />
dingt zu erwarten. Trotzdem wurde eine korrekte Klassifikation von über 80%<br />
erreicht. Aufgrund der verhältnismäßig langen Laufzeit für die Distanzberechnung<br />
ist dieses Maß für einen Einsatz in der Praxis jedoch eher nicht geeigenet.<br />
Die Klassifikationsergebnisse mit dem PPM-basiertn Distanzmaß liegen in allen<br />
<strong>unter</strong>suchten Fällen deutlich über der Qualität zufälligen Ratens. Wir können<br />
zum Abschluss dieses Kapitels also festhalten, dass unsere neue Approximation<br />
der Informationsdistanz ein valider Ansatz ist.<br />
63
5 Negative Selection<br />
5.1 Adaption aus der Immunologie<br />
Bereits vor über 100 Jahren machte der deutsche Mikrobiologe Paul Ehrlich eine<br />
erstaunliche Entdeckung. Im Rahmen von Experimenten mit eigentlich völlig<br />
anderem Ziel, indizierte er Ziegen das Blut von Schafen. Das Immunsystem der<br />
Ziegen erkannte sogleich die fremdartigen Zellen und vernichtete sie. Gleiches<br />
geschah in späteren Versuchen auch, wenn das Blut von der gleichen Tierart<br />
stammte. Ohne derlei Abwehrreaktion verlief jedoch die Indizierung von eigenem<br />
Blut. Ehrlich stellte daraufhin das Prinzip der Horror autoxicus auf, was<br />
soviel wie Furcht vor Selbstzerstörung bedeutet. Der Körper erkennt demnach,<br />
ob es sich um eigene oder fremde Zellen handelt. Fremde Zellen lösen eine Abwehrreaktion<br />
aus, eigene Zellen tun das nicht 1 .<br />
Vereinfacht funktioniert das Immunsystem in etwa wie folgt. Für die Abwehr der<br />
körperfremden Zellen oder auch körperfremden Antigene, sind die T-Lymphozyten<br />
verantwortlich. Diese werden im Thymus, einem nur bei Wirbeltieren<br />
vorhandenen Organ, aus T-Zellen entwickelt. Allerdings müssen die T-Zellen<br />
während des Reifeprozesses zu T-Lymphozyten ihre Eignung beweisen. Dazu<br />
werden im Thymus zufällige körpereigene Proteine gebildet, die letztlich als sogenannte<br />
Selbstantigene auf Thymus-Epithelzellen der T-Zelle präsentiert werden.<br />
Geht der Rezeptor der T-Zelle eine Verbindung mit dem präsentierten<br />
Protein nicht ein, so muss die Zelle sterben. Ist die Bindung zu stark, kommt es<br />
zu einer Überaktivierung der T-Zelle und sie stirbt ebenfalls. Eine T-Zelle wird<br />
dann zum T-Lymphozyten, wenn sie mit allen so präsentierten Selbstantigenen<br />
eine Verbindung mit begrenzter Affinität eingeht.<br />
Für die Immunabwehr durch T-Lymphozyten ist letztlich die Intensität der<br />
Aktivierung entscheidend. Ist die Aktivierung des T-Lymphozyten durch die<br />
Verbindung mit einem Anitgen stark genug, dann wird die das Antigen tragende<br />
Zelle zerstört. Während des Selektionsprozesses im Thymus hat die T-Zelle<br />
gezeigt, dass bei Selbstantigenen keine Aktivierung mit dieser Intensität stattfindet.<br />
Alle körpereigenen Zellen tragen Selbstantigene. Leider können jedoch<br />
im Thymus nicht alle möglichen Selbstantigene präsentiert werden. So ist eine<br />
gewisse Toleranz notwendig.<br />
Letztlich bestimmt die Aktivierungsintensität der T-Lymphozyten für eine Zelle<br />
unbekannter Herkunft über die Klassifikation als körperfremd oder nicht<br />
1 Falls körpereigene Zellen eine Abwehrreaktion auslösen, spricht man von einer Autoimmunkrankheit<br />
65
Kapitel 5. Negative Selection<br />
körperfremd. Eine in diesem Sinne als positiv, also körperfremd, klassifizierte<br />
Zelle, hat eine Überaktivierung des T-Lymphozyten ausgelöst und wird deshalb<br />
getötet. Eine als negativ klassifizierte Zelle wird als körpereigen angesehen<br />
und bleibt unbeschadet. Dem Immunsystem steht zur Generierung der<br />
T-Lymphozyten jedoch nur eine unvollständige Menge von Antigenen, also negativen<br />
Beispielen, zur Verfügung. Trotzdem funktioniert ein gesundes Immunsystem<br />
zielsicher.<br />
Der Negative Selction Algorithmus basiert auf genau diesem Szenario. Seinen<br />
Ursprung findet er im Bereich der künstlichen Immunsysteme. Dabei handelt es<br />
sich um lernende Systeme, mittels derer die Erkenntnisse der biologischen Immunologie<br />
auf die Problemlösung in möglicherweise vollkommen anderen Bereichen<br />
angewendet werden können. Hier geht es konkret um die Frage, wie<br />
das Immunsystem in der Lage ist, trotz der notwendigen Toleranz körpereigene<br />
Zellen von den körperfremden zu <strong>unter</strong>scheiden.<br />
Ein wesentlicher Schritt bei Negative Selection ist die Generierung von sogenannten<br />
Detektoren während einer Lernphase. Diese Detektoren übernehmen<br />
praktisch die Funktion der T-Lymphozyten im Immunsystem. Sie entscheiden<br />
also darüber, ob das zu klassifizierende Objekt als positiv angesehen wird oder<br />
nicht. Bei positiver Klassifikation spricht man davon, dass ein Detektor zum<br />
Objekt passt. Gibt es keinen passenden Detekor, dann wird das Objekt als<br />
negativ klassifiziert.<br />
In Anlehnung an die Herkunft aus der Immunologie bezeichnet man die Klasse<br />
der negativen Elemente als Self und die der postiven Elemente als Non-Self.<br />
Betrachten wir nun den prinzipellen Ablauf des Algorithmus [THSC08].<br />
generiere eine Menge D von Detektoren, von denen keiner zu einem Element von S pa<br />
Teil 1:<br />
Eingabe: S ⊆ Self<br />
Ausgabe: D<br />
Teil 2:<br />
Eingabe: I ⊆ Self ∪ Non-Self<br />
für alle i ∈ I<br />
wenn ∃ d ∈ D : d passt zu i<br />
klassifiziere i als positiv<br />
sonst<br />
klassifiziere i als negativ<br />
Ausgabe: Klassifikationsergebnisse<br />
Zur Entscheidung darüber, ob ein Detektor d zu einem Objekt i passt, findet<br />
häufig die r-contigous-Regel Anwendung. Dabei werden sowohl d als auch i als<br />
String repräsentiert.<br />
Definition 5.1. Ein Detektor d = d 1 d 2 . . . d l der Länge l passt im Sinne der<br />
r-contigous-Regel genau dann zu einem Objekt i = i 1 i 2 . . . i l der Länge l, wenn<br />
eine Position p exitiert mit d n = i n für n = p, . . . , p + r − 1, p l − r + 1.<br />
66
5.1. Adaption aus der Immunologie<br />
Der Detektor und das zu klassifizierende Objekt müssen also an r aufeinanderfolgenden<br />
Positionen übereinstimmen.<br />
Vorher sind jedoch eine Reihe von Problemen zu lösen. Der erste Teil des vorgestellten<br />
Algorithmus beinhaltet derer gleich zwei. Erstens sind keine Angaben<br />
bezüglich der Anzahl zu generierender Detektoren gemacht. Eine sinnvolle<br />
Anzahl muss in der Regel experimentell ermittelt werden. Des Weiteren ist<br />
auch das Verfahren zur Generierung der Detektoren frei. Eine Art Brute-Force-<br />
Strategie wäre beispielsweise die initiale Generierung aller möglichen Detektoren.<br />
Z. B. durch Anwendung der r-contigious-Regel, werden dann sukzessive<br />
alle ungeeigneten Detektoren entfernt. Ungeeignet sind alle die Detektoren, die<br />
auf mindestens ein Objekt der Menge S passen.<br />
Im Rahmen dieser Arbeit wollen wir erstmalig den Negative Selection-Algorithmus<br />
zur Klassifikation von Bildern einsetzen. Wir greifen dazu wiederum<br />
auf die handgeschriebenen Ziffern der MNIST-Datenbank zurück. Offensichtlich<br />
ist der o. g. Brute-Force-Ansatz zur Detektorgenerierung hier nicht geeignet.<br />
Bekanntlich bestehen die Bilder aus 784 Pixeln. Bei 256 möglichen Grauwerten<br />
je Pixel ergeben sich 256 784 Möglichkeiten. Allein diese Anzahl von Detektoren<br />
zu generieren würde viele Millarden Jahre beanspruchen. In der Regel steht so<br />
viel Zeit nicht zur Verfügung. Auch die Transformation auf Binärbilder, wie<br />
wir sie bereits häufig verwendet haben, reduziert die Anzahl von Möglichkeiten<br />
lediglich auf 2 784 = 256 776 und damit nicht signifikant.<br />
Daraus ergibt sich die Notwendigkeit, eine bessere Strategie zur Generierung<br />
von Detektoren zu entwickeln. Außerdem benötigen wir eine geeignete Möglichkeit<br />
herauszufinden, ob ein Detektor zu einem Objekt passt. Idealerweise<br />
tragen beide Teile zur Reduzierung der notwendigen Detektorzahl bei.<br />
Bezüglich der Darstellung von Detektoren wollen wir eine Strategie verfolgen,<br />
die möglichst wenig explizit ist. Ein Detektor soll also nicht die Repräsentation<br />
eines einzelnen Bildes sein, sondern eine möglichst große geeignete Menge von<br />
Bildern implizieren.<br />
Jede beliebige Menge K von Detektoren beschreibt ein sogenanntes Konzept. In<br />
unserem Fall ist ein Konzept die Menge aller Bilder, die zu mindestens einem der<br />
Detektoren in K passen. Während der Generierungsphase der Detektoren lernt<br />
der Algorithmus also ein Konzept auf Basis einer Menge S negativer Beispiele.<br />
Dieses Konzept heißt konsistent zur Trainingsmenge, da am Ende keiner der<br />
Detektoren zu einem der negativen Beispiele passt. Gleichzeitig soll es aber<br />
auch konsistent zur praktisch unbekannten Menge der positiven Bilder sein.<br />
Dazu muss es für möglichst viele der positiven Bilder einen passenden Detektor<br />
beinhalten.<br />
Ji und Dasgupta verfolgen in [JD04] erstmals die Idee, Hyperkugeln als Detektoren<br />
zu verwenden. Ein Detektor passt nach dieser Strategie zu allen Objekten,<br />
die sich innerhalb der Hyperkugel befinden. Diesen Ansatz werden wir ebenfalls<br />
verfolgen. Der Abstand eines in diesem Sinne positiven Objekts zum Mittelpunkt<br />
der Hyperkugel ist offenbar höchstens so groß, wie ihr Radius. Ist dieser<br />
67
Kapitel 5. Negative Selection<br />
Mittelpunkt bekannt, so können wir mit Hilfe eines geeigneten Distanzmaßes<br />
feststellen, ob der Detektor zu einem Objekt passt. Wir werden zur Bestimmung<br />
des Abstands zwei bereits bei der k-NN-Klassifikation verwendete Distanzmaße<br />
einsetzen.<br />
Im Rahmen dieses Kapitels geht es um die Frage, ob der Negative Selection-<br />
Ansatz zur <strong>Bildklassifikation</strong> grundsätzlich geeigent ist. Deshalb investieren wir<br />
verhältnismäßig wenig Aufwand in die Optimierung von Paramtern. So werden<br />
wir zwar deren Auswahl begründen, und in einigen Fällen auch Konsequenzen<br />
von Änderungen aufzeigen, jedoch wollen wir keinen Anspruch auf Optimalität<br />
erheben.<br />
5.2 Anwendung mit Hammingabstand<br />
Wir haben im vorherigen Abschnitt bereits die <strong>Verwendung</strong> von Bildern als<br />
Detektoren diskutiert und aufgrund absolut unzulänglicher Performanz als ungeeignet<br />
verworfen. Der Hammingabstand zweier Bilder beruht jedoch auf dem<br />
direkten Vergleich korrespondierender Pixelwerte. Deshalb entwickeln wir nunmehr<br />
einen Detektor, der eine größere Menge von Bildern beinhaltet. Diese<br />
könnte man als implizite Subdetektoren auffassen.<br />
Wir beziehen uns hier wiederum auf die binäre Darstellung der Bilder mit<br />
Grenzwert 41. Alle Pixel, im Graustufenbild einen Wert von über 41 aufweisen,<br />
erhalten in der Binärdarstellung den Wert 1 (schwarz). Alle anderen Pixel<br />
erhalten den Wert 0 (weiss). Der Grenzwert von 41 stellte sich im Rahmen<br />
der Experimente zur k-NN-Klassifikation als besonders geeignet heraus (siehe<br />
Abschnitt 4.2.1).<br />
Zur Darstellung eines solchen Detektors verwenden wir ein Monom. Jedes Literal<br />
eines solchen Monoms korrespondiert zu genau einer Position im Bild.<br />
Diese Darstellung ist insbesondere aufgrund der Größengleichheit aller Bilder<br />
unpropblematisch. Ein nicht negiertes Literal betrachten wir als erfüllt, wenn<br />
das korrespondierende Pixel den Wert 1 aufweist. Entsprechend ist ein negiertes<br />
Literal bei Pixelwert 0 erfüllt. Der wesentliche Aspekt dieser Darstellung ist,<br />
dass der Detektor nicht für alle möglichen Pixelpositionen ein Literal beinhaltet.<br />
Alle Positionen ohne korrespondierendes Literal spielen bei der Klassifikation<br />
keine Rolle.<br />
Beispiel 5.2. Gegeben sei der Detektor m = m 52 m 54 m 78 m 82 für binäre Bilder<br />
mit 784 Pixeln. Dieser Detektor passt zu allen Bildern, die an den Pixelpositionen<br />
52 und 82 eine 1 und an den den Positonen 54 und 78 eine 0 aufweisen.<br />
Der Detektor m legt die Pixelwerte lediglich an 4 Positonen im Bild fest. Alle<br />
anderen 780 Pixel haben keinen Einfluss auf das Klassifikationsergebnis. Damit<br />
passt m zu insgesamt 2 780 Bildern.<br />
Die Experimente im Verlauf dieses Kapitels werden zwar zeigen, dass statt<br />
4 etwa 100 Literale benötigt werden. Trotzdem passt ein einzelner Detektor,<br />
68
5.2. Anwendung mit Hammingabstand<br />
Abbildung 5.1: Aufteilung der Pixelpositionen in Regionen basierend auf 300<br />
zufälligen Bildern der Ziffer 2 (Grenzwerte: g 1 = 0, 7, g 2 = 0, 3)<br />
dargestellt als Monom mit 100 Literalen, noch immer zu einer unvorstellbar<br />
großen Zahl von Bildern. Wir werden auf anderem Weg die Anzahl disjunkter<br />
Detektoren noch weiter reduzieren. Dazu kommen wir aber erst später.<br />
Zur Generierung der Detektoren stehen lediglich Information über die negative<br />
Klasse, gegeben durch die Menge S, zur Verfügung. Basierend auf der Annahme,<br />
dass die Pixel an den verschiedenen Position <strong>unter</strong>schiedlichen Einfluss auf<br />
das Klassifikationsergebnis nehmen, teilen wir zunächst die 784 Pixel in 3 Kategorien<br />
auf. In Kategorie 3 fallen alle die Pixel, die innerhalb der Menge S<br />
nur sehr selten oder nie den Wert 1 (schwarz) haben. Die Pixel in Kategorie 2<br />
sind innerhalb der Bilder aus S häufiger schwarz. Bei Pixelkategorie 1 ist das<br />
dann sehr häufig oder immer der Fall. Zur konkreten Definition dieser Regionen<br />
müssen 2 Paramter g 1 und g 2 festgelegt werden.<br />
Definition 5.3. Sei p(i = 1) die Wahrscheinlichkeit dafür, dass ein Bild s ∈ S<br />
an Position i den Wert 1 hat. Mit g 1 und g 2 als Grenzwerte sind dann<br />
1. R 1 = {i | p(i = 1) > g 1 }<br />
2. R 2 = {i | g 2 < p 1 (i = 1) g1}<br />
3. R 3 = {i | p 1 (i = 1) g2}<br />
die nach Einfluss auf die Klassifikationsentscheidung kategorisierten Regionen.<br />
Abbildung 5.1 zeigt exemplarisch die Aufteilung in Regionen bei einer zufällig<br />
ausgewählten Menge von 300 Bildern der Ziffer 2. Als Grenzwerte wurden hier<br />
g 1 = 0, 7 und g 2 = 0, 3 gewählt. R 1 ist in schwarz dargestellt und beinhaltet<br />
40 Positionen. Die hier aus insgesamt 177 Positionen bestehende Region R 2<br />
erscheint grau. R 3 macht in weiss dargestellt im Wesentlichen den Hintergrund<br />
aus. Prinzipiell entspricht diese tatsächliche Beschaffenheit der Regionen in etwa<br />
den intuitiven Erwartungen.<br />
Wir wollen nun die Experimente exemplarisch für zwei Klassen von Ziffern<br />
durchführen. Wir beginnen mit der Ziffer 2, für die wir mit den Grenzwerten<br />
g 1 = 0, 7 und g 2 = 0, 3 bereits eine mögliche Aufteilung nach Pixelregionen<br />
vorgenommen haben. Die Entscheidung für die 2 liegt letztlich auch darin begründet,<br />
dass sie bei der k-NN-Klassifikation relativ hohe Fehlerquoten aufwies.<br />
Mit Hilfe dieser Regionen generieren wir nun die Detektoren. Dies geschieht<br />
mehr oder weniger zufällig basierend auf einem vorgegebenen Wahrscheinlichkeitsmodell.<br />
Dieses enthält für jede Region R τ die jeweiligen Wahrscheinlich-<br />
69
Kapitel 5. Negative Selection<br />
keiten für schwarze Pixel p τ (i = 1), weisse Pixel p τ (i = 0) und solche, die bei<br />
der Distanzberechnung keine Rolle spielen sollen p τ (i = 0, 5).<br />
Wir gehen davon aus, dass die schwarzen Pixel in Region R 1 für die Klassifizierung<br />
als self, also als Ziffer 2, besonders entscheidend sind. Entsprechend<br />
setzen wir p 1 (i = 1) als die Wahrscheinlichkeit für schwarze Pixel in R 1 niedrig.<br />
Gleichzeitig wählen wir p 1 (i = 0) relativ hoch, damit in R 1 insgesamt<br />
eine möglichst große Differenz zu den Bildern der Ziffer 2 entsteht. Um aber<br />
eine Überanpassung an die Beispiele aus S zu vermeiden, wählen wir auch<br />
p r (i = 0, 5) nicht zu gering. Bekanntlich spielen diese Pixel dann für die Klassifizierung<br />
keine Rolle.<br />
Region R 2 ist auch noch in gewissen Grenzen entscheidend für das Klassifikationsergebnis.<br />
Die negativen Beispielbilder der Menge S haben innerhalb dieser<br />
Region auch noch relativ häufig schwarze Pixel. Jedoch gilt das vermutlich<br />
auch für die Klasse Non-Self der anderen Ziffern. Um die Wahrscheinlichkeit zu<br />
erhöhen, dass ein zufälliger Detektor eine größere Distanz zu den Elementen der<br />
Self-Klasse hat, verfahren wir ähnlich, wie schon in R 1 . Jedoch erlauben wir in<br />
R 2 eine etwas höhere Anzahl schwarzer Pixel und setzen p 2 (i = 1) > p 1 (i = 1).<br />
Für die weissen Pixel in R 2 wählen wir p 2 (i = 0) ≈ p 1 (i = 0). Auch hier möchten<br />
wir aber eine Überanpassung an S vermeiden und halten die Wahrscheinlichkeit<br />
für irrelavante Pixel p 2 (i = 0, 5) ebenfalls relativ hoch.<br />
Region R 3 spielt praktisch keine Rolle. Sie stellt im Wesentlichen den Hintergrund<br />
dar. Darum setzten wir p 3 (i = 0, 5) = 1 − ε sehr hoch und mit<br />
p 3 (i = 1) + p 3 (i = 0) = ε die Wahrscheinlichkeit für konkrete Vorgaben in<br />
R 3 sehr klein.<br />
Dieser Strategie folgend wählen wir folgende Wahrscheinlichkeiten:<br />
R 1 : p 1 (i = 1) = 0, p 1 (i = 0) = 0, 5, p 1 (i = 0, 5) = 0, 5<br />
R 2 : p 2 (i = 1) = 0, 2, p 2 (i = 0) = 0, 5, p 2 (i = 0, 5) = 0, 3<br />
R 3 : p 3 (i = 1) = 0, p 3 (i = 0) = 0, p 3 (i = 0, 5) = 1<br />
Damit gilt für die Länge der Darstellung der Detektoren als Monome m in<br />
konkreten Fall<br />
|m| ≈ |R 1 | (p 1 (i = 1) + p 1 (i = 0)) + |R 2 | (p 2 (i = 1) + p 2 (i = 0))<br />
= 40 (0 + 0, 5) + 177 (0, 2 + 0, 5)<br />
= 20 + 123 = 143.<br />
Die hier verwendeten Kardinaliäten |R 1 | und |R 2 | sind dem Beispiel in Abbildung<br />
5.1 entnommen. Ein auf diese Weise definierter Detektor passt zu allen<br />
2 784−143 = 2 641 Bildern, deren Pixelwerte alle Literale des Monoms erfüllen.<br />
An dieser Stelle kommen wir auf die bereits erwähnte Idee Hyperkugeln als<br />
Detektoren einzusetzen zurück. Wir fordern nun keine exakte Erfüllung, sondern<br />
erlauben maximal r nicht erfüllte Literale. Damit befinden sich zu jedem<br />
70
5.2. Anwendung mit Hammingabstand<br />
der 2 784−|m| ohne Toleranz passenden Bilder weitere 2 r Bilder im erlaubten<br />
Ähnlichkeitsradius. So passt jeder unserer Detektoren nunmehr zu allen Bildern<br />
in 2 784−|m| Hyperkugeln mit dem Ähnlichkeitsradius r.<br />
Um zu überprüfen, ob ein zu klassifizierendes Bild zu einem solchen Detektor<br />
passt, müssen wir lediglich den Hammingabstand über alle relevanten Pixelpositionen<br />
bilden. Relevant sind nur die Positionen, die durch ein Literal im<br />
Monom vertreten sind. Ist der Hammingabstand höchstens so groß, wie der tolerierte<br />
Ähnlichkeitsradius r, dann passt der Detektor zum Bild. Entsprechend<br />
wird es als Non-Self klassifiziert.<br />
Da wir Detektoren generieren wollen, die zu möglichst wenigen self -Objekten<br />
passen, müssen wir bei deren zufälliger Generierung die Ähnlichkeitsdistanz zu<br />
den Beispielen der Menge S berücksichtigen. Dazu generieren wir zunächst 100<br />
potentielle Detektoren und ermitteln jeweils deren kürzeste Distanz zu einem<br />
Element aus S. Die auf diese Weise generierten 100 Distanzen, sortieren wir in<br />
aufsteigender Reihenfolge und wählen aus der sortierten Liste die Distanz an<br />
Position t aus. Diese nennen wir im Folgenden d t .<br />
Die 100 potentiellen Detektoren werden nun verworfen und stattdessen neue<br />
generiert. Nur die neuen Detektoren, deren kürzeste Distanz zu einem Bild in S<br />
mindestens d t beträgt, werden akzeptiert. Alle anderen werden verworfen. Damit<br />
entspricht d t dem einleitend mit r bezeichneten Ähnlichkeitsradius. Diesen<br />
Prozess wiederholen wir so lange, bis die zuvor definierte Anzahl an Detektoren<br />
erreicht ist. Die Menge dieser akzeptierten Detektoren bezeichnen wir mit D.<br />
Ein guter Wert für die Kardinalität von D ist experimentell zu ermitteln.<br />
Nach Abschluß der Detektorgenerierung dient d t auch als Grenzwert für die<br />
nun folgende Klassifikation. So werden alle die Objekte als Non-self klassifiziert,<br />
die innerhalb des Distanzradius d t um einen Detektor liegen. Damit bestimmt<br />
die Auswahl von d t implizit auch die tolerierte falsch-positiv-Rate des<br />
Klassifikators. Wählen wir beispielsweise d 5 aus, so läge die falsch-positiv-Rate<br />
für die Klassifikation der Elemente in S bei 5%. Gehen wir bei S von einer<br />
repräsentativen Auswahl der Klasse Self aus, dann erwarten wir eine ähnliche<br />
falsch-positiv-Rate auch für die gesamte Klasse.<br />
Es ist unmittelbar einzusehen, daß mit der Auswahl eines kleinen Toleranzradius<br />
d t sehr wahrscheinlich eine größere Menge an Detektoren benötigt wird. Ein<br />
einzelner Detektor passt dann einfach zu weniger Objekten. Andererseits wollen<br />
wir mit den generierten Detektoren aber eine möglichst vollständige Abdeckung<br />
der Non-Self -Objekte erzielen.<br />
Der Algorithmus beinhaltet damit eine beachtliche Anzahl experimentell zu optimierender<br />
Parameter. Zu allererst ist das die Kardinalität der Menge S von<br />
negativen Beispielen. Es folgen g 1 und g 2 als Grenzwerte für die Regionszugehörigkeit<br />
der Pixelpositionen. Dann benötigen wir für jede Region 3 Wahrscheinlichkeiten,<br />
von denen jeweils 2 unabhängig voneinander gewählt werden<br />
können. Bei 3 Regionen sind das also weitere 6 Parameter. Ferner müssen wir<br />
ein geeignetes d t definieren und mit der Kardinalität von D die Anzahl der<br />
71
Kapitel 5. Negative Selection<br />
gewünschen Detektoren. Das sind insgesamt 11 Stellschrauben für den Algorithmus,<br />
wobei für alle 11 eine nicht unerhebliche Anzahl an Auswahlmöglichkeiten<br />
besteht.<br />
Da unser Algorithmus, um Überanpassung an die Menge S zu vermeiden, immer<br />
wieder neue zufällige Bilder aus der großen Menge der MNIST-Daten auswählt,<br />
sind insbesondere kleinere Auswirkungen von Parameteränderungen nicht auf<br />
Anhieb feststellbar. Ohne den Anspruch auf Optimalität zu erheben, verwenden<br />
wir im Folgenden eine experimentell ermittelte Konfiguration, die unabhängig<br />
von der zufälligen Bildauswahl reproduzierbar sehr gute Ergebnisse liefert.<br />
Zu dieser Konfiguration gehören die bereits erwähnten Grenzwerte g 1 = 0, 7<br />
und g 2 = 0, 3 für die Regionen und die weiter oben aufgelisteten Wahrscheinlichkeiten.<br />
Als die Kardinalität von S wählen wir 500, die Detektoren werden<br />
also auf Basis von 500 Bildern der 2 generiert. Ferner starten wir mit t = 10,<br />
so daß der tolerierte Ähnlichkeitsradius der Distanz d 1 0 enstpricht. Da diese<br />
Distanz und damit auch der Radius der das Konzept beschreibenden Hyperkugeln<br />
relativ klein ist, vermuten wir einen hohen Bedarf an Detektoren. Für die<br />
Kardinalität von D als Anzahl der Detektoren legen wir uns also vorerst auf<br />
30000 fest.<br />
Die Klassifikationsgüte bestimmen wir im Anschluss an die Detektorgenerierung<br />
mittels 50 zufällig ausgewählter Bilder je Ziffer. Tabelle 5.1 zeigt die<br />
Entwicklung von falsch-positiv- und richtig-positiv-Rate für die Ziffer 2 <strong>unter</strong><br />
Veränderung des Parameters t. Der besseren Übersicht wegen ist die Klasse Self<br />
der Ziffer 2 durch zusätzliche vertikale Striche optisch abgetrennt.<br />
In der ersten Zeile mit t = 0 erlauben wir gar keine Distanz. Ein Detektor passt<br />
nur dann zu einem Bild, wenn alle Literale erfüllt werden. Aufgrund der Größen<br />
der Regionen R 1 und R 2 (zusammen etwa 150 Pixel) ergibt sich zusammen mit<br />
unserer Wahrscheinlichkeitsverteilung für die Monome eine Anzahl von etwa 100<br />
Literalen. Jeder derartige Detektor passt entsprechend auf ungefähr 2 784−100 =<br />
2 684 Bilder. Mit der gewählten Detektoranzahl von 30000 ≈ 2 15 können alle<br />
Detektoren zusammen selbst bei perfekter Disjunktheit lediglich zu 2 684 2 15 =<br />
2 699 Bildern passen. Das sind zwar unvorstellbar viele Bilder, jedoch verglichen<br />
mit dem gesamten Raum von 2 784 noch immer verschwindend wenige.<br />
Je größer wir den Radius erlauben, desto eher können wir eine Abdeckung<br />
des gesamten Non-Self-Raums erreichen. Insbesondere bei sehr hohen Werten<br />
für t erhöht sich die Wahrscheinlichkeit für hohe Abdeckung. Die gegebene<br />
Wahrscheinlichkeitsverteilung für die Detektorgenerierung ist speziell auf die<br />
Abdeckung der Non-Self -Bereiche ausgerichtet. Deshalb erwarten wir für die<br />
Self -Bereiche eine entsprechend schlechtere Abdeckung. Diese Vermutung wird<br />
duch die experimentellen Ergebnisse bestätigt.<br />
Mit wachsendem t wächst auch der Toleranzradius der Detektoren, die dadurch<br />
einen immer größeren Raum abdecken. Ganz offensichtlich steigt mit größerem t<br />
auch die Klassifikationsgüte erheblich. Bei t = 50 erreichen wir mit lediglich 14%<br />
falsch-positiv-Klassifikationen eine richtig-positiv-Rate von 72, 2%. Von den 50<br />
72
5.2. Anwendung mit Hammingabstand<br />
t 0 1 2 3 4 5 6 7 8 9 fp rp Akk.<br />
0 0 0 0 0 0 0 0 0 0 0 0, 0% 0, 0% 0.1<br />
10 8 40 2 11 28 25 11 38 4 26 4, 0% 42, 4% 0.48<br />
20 18 39 4 11 27 31 12 37 3 31 8, 0% 46, 4% 0.51<br />
50 32 48 7 32 44 41 22 46 17 43 14, 0% 72, 2% 0.74<br />
90 39 50 13 38 45 49 26 49 29 46 26, 0% 82, 4% 0.82<br />
99 44 46 11 36 46 45 27 49 26 46 22, 0% 82, 1% 0.76<br />
Tabelle 5.1: Entwicklung von falsch-positiv- und richtig-positiv-Rate (fp und rp) sowie<br />
der Akkuratheit bei variablem t mit |S| = 500 und |D| = 30000 für die Ziffer 2. Die<br />
anderen Spalten enthalten die Häufigkeit der Klassifikation als positiv für die jeweilige<br />
Ziffer (max. 50).<br />
100<br />
richtig−positiv−Rate<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 10 20 30<br />
falsch−positiv−Rate<br />
Abbildung 5.2: Punkte der ROC-Kurve entsprechend der Ergebnisse aus Tabelle<br />
5.1. Die Entfernung zur Zufallsklassifikation (gestrichelt) ist ab t = 50 annähernd<br />
konstant((Kreuze: |t| < 50, Kreise: |t| 50))<br />
zu klassifizierenden Bildern der Ziffer 2 wurden lediglich 7 als Non-Self klassifiziert.<br />
Auf der anderen Seite erkennt der Klassifikator von den gegebenen 450<br />
anderen Bildern immerhin 325 korrekterweise als Elemente von Non-Self. Im<br />
Sinne der ROC-Kurve ist das von allen Ergebnissen aus der Tabelle der beste<br />
Wert, da er sich am weitesten von der Qualität des zufälligen Ratens entfernt.<br />
Der Zugewinn von etwas über 10% bei der richtig-positiv-Rate für t = 90 wird<br />
mit einer Erhöhung der falsch-positiv-Rate um 12% erkauft. Vermutlich liegt<br />
das Optimum bezüglich t irgendwo dazwischen.<br />
Trotzdem bringt gerade der <strong>unter</strong>e Teil dieser Tabelle eine ganz zentrale Erkenntnis.<br />
Die Auswahl des Paramters t hat ab einer gewissen Grenze nur noch<br />
sehr bedingten Einfluß auf die Klassifiaktionsgüte. Um hier ein gutes Ergebnis<br />
zu erreichen, müssen wir t nicht mehr mit Hilfe positiver Beispiele optimieren.<br />
Die mittels der Menge S über die Non-Self -Objekte gewonnene Information<br />
reicht sowohl für die Generierung geeigneter Detektoren, als auch für die De-<br />
73
Kapitel 5. Negative Selection<br />
|D| 0 1 2 3 4 5 6 7 8 9 fp rp Akk.<br />
10 0 20 2 1 3 5 0 17 0 2 4, 0% 10, 6% 0.19<br />
100 13 33 1 10 17 26 2 34 0 16 2, 0% 33, 6% 0.40<br />
1000 13 32 4 16 30 29 11 39 3 31 8, 0% 45, 3% 0.50<br />
10000 29 45 2 24 41 38 11 44 14 37 4, 0% 62, 9% 0.66<br />
20000 31 47 7 31 42 40 22 46 15 42 14, 0% 70, 2% 0.72<br />
30000 32 48 7 32 44 41 22 46 17 43 14, 0% 72, 2% 0.74<br />
50000 35 49 4 29 44 41 17 47 22 42 8, 0% 72, 4% 0.74<br />
Tabelle 5.2: Entwicklung von falsch-positiv- und richtig-positiv-Rate (fp und rp) sowie<br />
der Akkuratheit bei variablem |D| mit |S| = 500 und t = 50 für die Ziffer 2. Die<br />
anderen Spalten enthalten die Häufigkeit der Klassifikation als positiv für die jeweilige<br />
Ziffer (max. 50).<br />
100<br />
richtig−positiv−Rate<br />
80<br />
60<br />
40<br />
20<br />
0<br />
0 5 10 15 20<br />
falsch−positiv−Rate<br />
Abbildung 5.3: Punkte der ROC-Kurve entsprechend der Ergebnisse aus Tabelle 5.2.<br />
Die Entfernung zur Zufallsklassifikation (gestrichelt) ist ab |D| = 10000 annähernd<br />
konstant (Kreuze: |D| < 10000, Kreise: |D| 10000)<br />
finition eines geeigneten Toleranzradius zur Klassifikation aus. Damit ist des<br />
zentrale Kriterium von Negative Selection erfüllt.<br />
Die Tests mit variabler Detektorzahl betätigen diese Erkenntnis. Tabelle 5.2<br />
zeigt, dass die bereits im vorherigen Experiment verwendete Größenordnung um<br />
30000, bereits ein sehr gutes Ergebnis erzielt. Für sehr kleine Detektorzahlen<br />
geht die Anzahl der richtig-positiv-Klassifikationen erwartungsgemäß deutlich<br />
zurück. Bleiben wir mit der Detektoranzahl in etwa bei gleicher Größenordnung,<br />
so sind keine signifikanten Änderungen feststellbar. Beim Rückgang der falschpositiv-Rate<br />
auf 8% ist zu berücksichtigen, daß es sich absolut betrachtet lediglich<br />
um 3 Bilder handelt. Das liegt absolut im Bereich statistischer Toleranz.<br />
Die Detektoranzahl spielt ab einer gewissen Größenordnung also ebenfalls keine<br />
entscheidende Rolle mehr.<br />
74
5.2. Anwendung mit Hammingabstand<br />
Wir haben in diesem Kapitel erstmals einen Negative-Selection-Ansatz zur <strong>Bildklassifikation</strong><br />
verwendet. Darum war es primäres Ziel zu prüfen, ob es sich um<br />
eine Erfolg versprechende Strategie handelt. Wir konnten zeigen, daß unser<br />
Klassifikator, der ein konsistentes Konzept nur auf Basis negativer Beispiele<br />
gelernt hat, eine Klassifikationsgüte deutlich über der Qualität des zufälligen<br />
Ratens erreicht.<br />
75
6 Zusammenfassung, Fazit und<br />
Ausblick<br />
Im Rahmen dieser Arbeit haben wir uns mit der Eignung von kompressionsbasierten<br />
Distanzmaßen für <strong>Bildklassifikation</strong> befasst. Dabei ist der Kompressionsbegriff<br />
in einem etwas globalerem Sinn zu verstehen. Programme wie beispielsweise<br />
gzip oder andere bekannte Algorithmen zur Datenkompression wurden<br />
hier zunächst nicht betrachet.<br />
Vielmehr haben wir verschiedene Approximationen der Kolmogorov-Komplexität<br />
behandelt. Die wiederum dient als Basis für die Informatisdistanz, ein theoretisches<br />
Maß für die Ähnlichkeit zwischen zwei Objekten. Die Definition der<br />
Kolmogorov-Komplexität als Länge einer ultimativen Kompression nehmen wir<br />
zum Anlass, auch bei den Approximationen von Kompression zu sprechen. So<br />
hat der Hammingabstand auf den ersten Blick nichts mit Kompression zu tun.<br />
Im Abschnitt 4.2.1 konnten wir diesen Zusammenhang jedoch herstellen. Greifen<br />
wir an dieser Stelle noch einmal kurz auf einen Aspekt des Kapitels 2 zurück.<br />
Nach Definition 2.1 entspricht die bedingte Kolmogorov-Komplexität für ein<br />
Objekt x gegeben y genau der Länge eines kürzesten Programms, welches <strong>unter</strong><br />
Eingabe von y das Objekt x erzeugt. Nehmen wir nun an, bei beiden Objekten<br />
handelt es sich um Binärstrings gleicher Länge und wir kennen nur y.<br />
Wir kennen aber zusätzlich ein Programm, in dem die einzelnen Positionen codiert<br />
sind, an denen sich x und y <strong>unter</strong>scheiden. Die Länge dieses Programms<br />
können wir dann als Approximation der Kolmogorov-Komplexität von x gegeben<br />
y auffassen. Eine Codierung, die genau solche Programme erzeugt, haben<br />
wir vorgestellt. Deren Länge verhält sich proportional zum Hammingabstand<br />
und so gesehen gibt es einen Zusammenhang zwischen Hammingabstand und<br />
Kompression.<br />
Nachdem wir uns in Kapitel 2 von der Sinnhaftigkeit eines kompressionsbasierten<br />
Distanzmaßes aus theoretischer Sicht hinlänglich überzeugt haben, folgte in<br />
Kapitel 4 der Praxistest. Dazu wurde ein Anwendungsfall der <strong>Bildklassifikation</strong><br />
gewählt. Mittels des bekannten k-NN-Algorithmus und den einzelnen Distanzmaßen<br />
haben wir kleine Bilder handgeschriebener Ziffern klassifiziert. Die Standardmaße<br />
Hammingabstand, sowie Euklidische und Levenshteindistanz zeigten<br />
bezüglich der Fehlerrate gute Ergebnisse. Jedoch beschränkte sich das im Fall<br />
der beiden erstgenannten auf normierte Daten. Die verwendeten Bilder waren<br />
zunächst zentriert, so daß der Schwerpunkt der Grauwerte jeweils in der Mitte<br />
des Bildes liegt. In einem Test auf Translationsinvarianz wurden Trainings- und<br />
Testdaten gegenläufig aus der Mitte verschoben. Mit Hammingabstand und Euklidischer<br />
Distanz war der k-NN-Algorithmus daraufhin nicht mehr in der Lage,<br />
77
Kapitel 6. Zusammenfassung, Fazit und Ausblick<br />
auch nur annähernd gute Klassifikationsergebnisse zu erzielen. Anders verhält<br />
es sich mit der Levenshteindistanz, mit der k-NN auch nach der Translation<br />
konstant wenige Fehler macht.<br />
Im zweiten Teil dieses Kapitels haben wir dann ein eigenes Distanzmaß basierend<br />
auf realer und verlustfreier Kompression entwickelt. Der PPM-Algorithmus<br />
(Prediction with Partial Matching) fusst in seiner bekannten Form auf arithmetischer<br />
Kodierung. Arithmetische Kodierung gehört zur Familie der Entropiekodierer<br />
und ist theoretisch optimal, bezogen auf den Informationsgehalt<br />
der kodierten Symbole. Leider entspricht die Summe des Informationsgehalts<br />
aller Symbole in einem String im Allgemeinen nicht dem Informationsgehalt<br />
des gesamten Strings. Während einfache arithmetische Kodierung lediglich die<br />
Wahrscheinlichkeit für das Vorkommen der Symbole im zu kodierenden String<br />
berücksichtigt, geht PPM einen Schritt weiter. PPM baut zur Laufzeit, also<br />
während der Kodierung, eine Wahrscheinlichkeitsverteilung der Symbole auf<br />
und berücksichtigt dabei noch deren Kontext. Entsprechend der gerade gültigen<br />
Wahrscheinlichkeiten innerhalb des aktuellen Kontext wird das Symbol arithmetisch<br />
kodiert. Am Ende stehen dann ein Codewort und eine recht präzise<br />
Statistik über die Symbole, Kontexte und Wahrscheinlichkeiten. Normalerweise<br />
ist PPM an dieser Stelle fertig. Unser neues Distanzmaß setzt jedoch genau<br />
hier an.<br />
Die generierten Statistiken sind dabei ein zenraler Aspekt. Die Frage ist, wie<br />
stark es sich auf die Länge des Codeworts auswirkt, wenn für die Kodierung<br />
nicht die eigene Statistik verwendet wird, sondern die eines anderen Bildes.<br />
Unsere Idee basiert auf der Annahme, daß PPM bei ähnlichen Bildern auch<br />
ähnliche Statistiken produziert. Ist das der Fall, dann ist das mittels der fremden<br />
Statistik erzeugte Codewort nicht wesentlich länger. Die Experimente mit<br />
k-NN-Klassikation haben diese Vernutung letztlich bekräftigt. Bleibt auch die<br />
Klassifikationsgüte insbesondere auf den zentrierten Ziffern hinter der Qualität<br />
mit den Standardmaßen zurück, zeigt es seine Stärke dann in der Translationsinvarianz.<br />
Die Fehlerrate bleibt trotz gegenläufiger Verschiebung von Testund<br />
Trainingsbildern annähernd konstant. Aufgrund der hohen Laufzeit ist unser<br />
Distanzmaß für den praktischen Einsatz in seiner derzeitigen Form jedoch<br />
ungeeignet. Trotzdem konnten wir zeigen, daß unser es zweckmäßig und im konkreten<br />
Anwendungsfall als Approximation für die Informationsdistanz geeignet<br />
ist.<br />
In Kapitel 5 haben wir uns dann schließlich mit dem Negative Selection-Algorithmus<br />
beschäftigt. Dieser findet seinen Ursprung im Bereich der künstlichen Immunsysteme.<br />
In der Realität ist ein gesundes Immunsystem in der Lage zielsicher<br />
körperfremde von körpereigenen Zellen zu <strong>unter</strong>scheiden. Zum Training der T-<br />
Zellen, die diese Unterscheidung letzlich vornehmen müssen, steht jedoch nur<br />
unvollständige Information bezüglich der körpereigenen Zellen zur Verfügung.<br />
Die Klassifikation klappt trotzdem.<br />
In der Einleitung zu dieser Arbeit haben wir die <strong>Verwendung</strong> von Negative<br />
Selection in der <strong>Bildklassifikation</strong> damit motiviert, beispielsweise digitale Bild-<br />
78
manipulationen unbekannter Art zu detektieren. Soweit sind wir heute aber<br />
noch nicht. Wir konnten jedoch ausschließlich mit Bildern der Ziffer 2 einen<br />
Klassifikator trainieren, der anschließend mit überzeugender Korrektheit Bilder<br />
mit anderen Ziffern als Nicht-2 klassifiziert hat. Bilder die tatsächlich eine 2<br />
zeigen, wurden in den allermeisten Fällen auch also solche erkannt. Die Funktionsweise<br />
von Negative Selection basiert prinzipiell auf der Beschreibung des<br />
positiven Konzepts mittels Detektoren. Die Menge aller Detektoren beschreibt<br />
am Ende das Konzept.<br />
Bei uns erfolgt die Generierung der Detektoren zwar zufällig, jedoch basierend<br />
auf einer in der Trainingsphase gelernten spezifischen Wahrscheinlichkeitsverteilung.<br />
Diese reduziert gezielt die Wahrscheinlichkeit für das Vorhandensein<br />
der für die Ziffer 2 besonders spezifischen Merkmale in den Detektoren.<br />
Während unserer Forschungsarbeit zur Definition solcher Detektoren haben wir<br />
beispielsweise mit viel Aufwand versucht, mittels der PPM-basierten Distanz<br />
gute Ergebnisse zu erzielen. Dabei wurden manipulierte Statistiken als Detektoren<br />
eingesetzt. Die Manipulation erfolgte besonders an solchen Kontexten,<br />
bei denen wir eine hohe Relevanz für die Klassifikationsentscheidung vermuteten.<br />
Mit dieser Strategie lag die Klassifikationsgüte anschließend leicht über der<br />
Qualität zufälligen Ratens. Auf eine ausführliche Darstellung dieser Ergebnisse<br />
haben wir jedoch verzichtet, um dem sehr erfolgreichen Ansatz mit Hammingabstand<br />
gebührenden Platz einzuräumen.<br />
Soweit wir wissen, hat niemand zuvor Negative Selection in dieser Form eingesetzt.<br />
Aus diesem Grund existieren auch keine Vergleichswerte. Mit unserern<br />
Ergebnissen konnten wir jedoch zeigen, daß es sich lohnt in diesem Bereich<br />
weitere Forschungsarbeit zu betreiben.<br />
Kommen wir zum Abschluß noch einmal auf das in der Einleitung erwähnte<br />
prominente Beispiel für Bildmanipulation zurück. Vielleicht können wir mit<br />
Hilfe von Negative Selection ja schon in naher Zukunft zielsicher erkennen, wie<br />
gut es um die Sportlichkeit von Präsident Sarkozy tatsächlich bestellt ist. Und<br />
wenn wir das gar nicht wissen wollen, dann finden sich bestimmt auch noch<br />
interessantere Einsatzmöglichkeiten. Ganz sicher.<br />
79
Abbildungsverzeichnis<br />
3.1 Beispiel für eine einfache k-NN-Klassifikaton . . . . . . . . . . . . 19<br />
3.2 Schema einer ROC-Kurve . . . . . . . . . . . . . . . . . . . . . . 24<br />
3.3 Der SIFT -Algorithmus findet mittels invarianter Merkmale im<br />
rechten Bild den Frosch (rot umrandet) und zweimal die Lokomotive<br />
(grün und gelb) obwohl diese teilweise verdeckt sind . . . 25<br />
4.1 10 Beispielbilder je Ziffer aus dem MNIST-Datenbestand . . . . . 28<br />
4.2 Entwicklung der Fehlerrate mit variablem k und fixem Grenzwert<br />
α = 120 (Bestes Ergebnis: k = 4 mit 3, 9%) . . . . . . . . . . . . 33<br />
4.3 Entwicklung der Fehlerrate mit variablem Grenzwert α und 4-<br />
NN-Klassifikator (Bestes Ergebnis: α = 41 mit 6, 1%) . . . . . . . 33<br />
4.4 Fehlerrate der 4-NN-Klassifikation mit Hammingabstand auf zufällig<br />
verschobenen Bildern in 10 unabhängigen Durchgängen . . 36<br />
4.5 Fehlerrate der 4-NN-Klassifikation auf horizontal gegenläufig um<br />
4 Pixel verschobener Trainings- und Testmenge in 10 unabhängigen<br />
Durchgängen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
4.6 Entwicklung der durchschnittlichen Fehlerrate aus jeweils 5 Durchgängen<br />
bei variablem k für k-NN-Klassifikation mit Levenshtein-<br />
Distanz (Bestes Ergebnis: k = 4 mit 8, 2%) . . . . . . . . . . . . 40<br />
4.7 Durchschnittliche Fehlerrate bei 5 Durchgängen je k für k-NN-<br />
Klassifikation mit Levenshtein-Distanz auf gegenläufig horizontal<br />
um 4 Pixel verschobener Trainigs- und Testmenge . . . . . . . . 41<br />
4.8 Entwicklung der Fehlerrate mit k-NN-Klassifikation und Euklidischer<br />
Distanz bei variablem k auf dem vollständigen MNIST-<br />
Datenbestand (Bestes Ergebnis: k = 3 mit 2.8%) . . . . . . . . . 44<br />
4.9 Entwicklung der Fehlerrate mit k-NN-Klassifikation und Euklidischer<br />
Distanz auf dem reduzierten Datenbestand (Bestes Ergebnis:<br />
k = 4 mit 7.7%) . . . . . . . . . . . . . . . . . . . . . . . 45<br />
4.10 Kurvenverlauf der Funktion f(p(x)) = −p(x) log 2 p(x) . . . . . . 49<br />
4.11 Entwicklung der Subintervalle bei arithmetischer Kodierung des<br />
Strings x 1 x 2 x 3 [Say00]. . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
4.12 2D-Kontext für Pixel p mit Kontextordnung 8 . . . . . . . . . . . 55<br />
4.13 Entwicklung der Fehlerrate mit k-NN-Klassifikation und PPMbasiertem<br />
Abstand mit 2D-Kontext . . . . . . . . . . . . . . . . . 56<br />
4.14 Entwicklung der PPM -basierten Distanz mit zufälligem Rauschen<br />
(d entspricht jeweils der Distanz zum Original) . . . . . . . 59<br />
4.15 Entwicklung der Fehlerrate mit k-NN-Klassifikation und PPMbasiertem<br />
Abstand auf diskretisierte Gradientenbilder (Bestes<br />
Ergebnis: k = 6 mit 19, 8%) . . . . . . . . . . . . . . . . . . . . . 60<br />
81
Abbildungsverzeichnis<br />
4.16 Entwicklung der Fehlerrate mit k-NN-Klassifikation und PPMbasiertem<br />
Abstand auf diskretisierten und um 4 Pixel gegenläufig<br />
verschobenen Gradientenbildern (Bestes Ergebnis: k = 7 mit<br />
21, 5%) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />
5.1 Aufteilung der Pixelpositionen in Regionen basierend auf 300<br />
zufälligen Bildern der Ziffer 2 (Grenzwerte: g 1 = 0, 7, g 2 = 0, 3) . 69<br />
5.2 Punkte der ROC-Kurve entsprechend der Ergebnisse aus Tabelle<br />
5.1. Die Entfernung zur Zufallsklassifikation (gestrichelt) ist ab<br />
t = 50 annähernd konstant((Kreuze: |t| < 50, Kreise: |t| 50)) . 73<br />
5.3 Punkte der ROC-Kurve entsprechend der Ergebnisse aus Tabelle<br />
5.2. Die Entfernung zur Zufallsklassifikation (gestrichelt) ist ab<br />
|D| = 10000 annähernd konstant (Kreuze: |D| < 10000, Kreise:<br />
|D| 10000) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />
82
Bibliographie<br />
[BGL + 98] Charles H. Bennett, Péter Gács, Ming Li, Paul M.B. Vitányi, and<br />
Wojciech H. Zurek. Information Distance. In IEEE Transactions on<br />
Information Theory Vol.44, pages 1407–1423. 1998.<br />
[CV05]<br />
[CV06]<br />
[Far09]<br />
[Gač74]<br />
[HK06]<br />
Paul Cilibrasi and Paul M.B. Vitányi. Clustering by Compression.<br />
In IEEE Transactions on Information Theory Vol.51 No.4, pages<br />
1523–1545. 2005.<br />
Rudi Cilibrasi and Paul Vitányi. Similarity of Objects and the Meaning<br />
of Words. Technical report, 2006.<br />
Hany Farid. Image Forgery Detection. In IEEE Signal Processing<br />
Magazine. 2009.<br />
P. Gač. On the Symmetry of Algorithmic Information. In Soviet<br />
Math. Dokl. Vol.15 No.5, pages 1477–1480. 1974.<br />
Jiawei Han and Micheline Kamber. Data Mining - Concepts And<br />
Techniques. Diane Cerra, San Francisco, 2006.<br />
[JD04] Zhou Ji and Dipankar Dasgupta. Real-Valued Negative Selection<br />
Algorithm with Variable-Sized Detectors. In GECCO 2004. 2004.<br />
[Kol65]<br />
A. N. Kolmogorov. Three Approaches to the Quantatitive Definition<br />
of Information. In Problemy Peredachi Informatsii, Vol.1, No.1,<br />
pages 3–11. 1965.<br />
[LBBH98] Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner.<br />
Gradient-Based Learning Applied to Document Recognition. In Proceedings<br />
of the IEEE, Vol. 86, No.11, pages 2278–2324. 1998.<br />
[LC98]<br />
Yann LeCunn and Corinna Cortes. THE MNIST DATABASE Of<br />
Handwritten Digits. http://yann.lecun.com/exdb/mnist/, 1998.<br />
[LCL + 04] Ming Li, Xin Chen, Xin Li, Bin Ma, and Paul M.B. Vitányi. The<br />
Similarity Metric. In IEEE Transactions on Information Theory<br />
Vol.50 No.12, pages 3250–3264. 2004.<br />
[Lev65]<br />
[LH05]<br />
V. I. Levenshtein. Binary Codes Capable of Correcting Deletions,<br />
Insertions and Reversals. In Translated from Doklady Akademii Nauk<br />
SSSR, VOl. 163, No. 4, pages 845–848. 1965.<br />
Yuxuan Lan and Richard Harvey. Image Classification using Compression<br />
Distance. In E. Trucco and M. Chantler, editors, Vision,<br />
Video and Graphics. 2005.<br />
83
Bibliographie<br />
[Low04] David G. Lowe. Distinctive Image Features from Scale-Invariant<br />
Keypoints. In International Journal of Computer Vision. Vancouver,<br />
B.C, Canada, 2004.<br />
[LSFF09]<br />
[LV08]<br />
[LZ06]<br />
Li-Jia Li, Richard Socher, and Li Fei-Fei. Towards Total Scene Understanding:<br />
Clasification, Annotation and Segmentation in an Automatic<br />
Framework. In IEEE Conference on Computer Vision and<br />
Pattern Recognition. 2009.<br />
Ming Li and Paul Vitányi. An Introduction to Kolmogorov Complexity<br />
and Its Applications. Springer, New York, 2008.<br />
Ming Li and Yaonung Zhu. Image Classification Via LZ78 Based<br />
String Kernel: A Comparative Study. In Advances in Knowledge<br />
Discovery and Data Mining, pages 704–712. Springer Berlin/Heidelberg,<br />
2006.<br />
[Rei99] K. Rüdiger Reischuk. Komplexitätstheorie Band 1: Grundlagen.<br />
B.G. Teubner, Stuttgart - Leipzig, 1999.<br />
[RH96] K. R. Rao and J.J. Hwang. Techniques & Standards for Image,<br />
Video & Audio Coding. Prentice Hall PTR, New Jersey, USA, 1996.<br />
[Say00]<br />
[SS08]<br />
Khalid Sayood. Introduction to Data Compression. Academic Press,<br />
San Diego CA, USA, 2nd edition, 2000.<br />
Yun Q. Shi and Huifang Sun. Image and Video Compression for<br />
Multimedia Engineering. CRC Press, Taylor & Francis Group, 2nd<br />
edition, 2008.<br />
[ST] National Institute Of Standards and Technology.<br />
NIST Handprinted Forms and Characters Database.<br />
http://www.nist.gov/srd/nistsd19.htm. Stand vom 07.07.2010.<br />
[THSC08] J. Timmis, A. Hone, T. Stibor, and E. Clark. Theoretical Advances<br />
in Artifical Immune Systems. In Theoretical Computer Science, Vol.<br />
403. 2008.<br />
[WF74] Robert A. Wagner and Michael J. Fischer. The String-to-String<br />
Correction Problem. 1974.<br />
[WR17]<br />
Alfred North Whitehead and Bertrand Russel. Principia Mathematica.<br />
B.G. Teubner, 1917.<br />
84