30.10.2013 Aufrufe

Bildklassifikation unter Verwendung kompressionsbasierter Methoden

Bildklassifikation unter Verwendung kompressionsbasierter Methoden

Bildklassifikation unter Verwendung kompressionsbasierter Methoden

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!