Table Of ContentBeschleunigung hierarchischer
Clusterverfahren für allgemeine
metrische Distanzmaße
Till Schäfer
Algorithm Engineering Report
TR13-1-002
Juni 2013
ISSN 1864-4503
Fakultät für Informatik
Algorithm Engineering (LS 11)
44221 Dortmund / Germany
http://ls11-www.cs.uni-dortmund.de/
Diplomarbeit
Beschleunigung hierarchischer
Clusterverfahren für allgemeine
metrische Distanzmaße
Till Schäfer
21. September 2012
Betreuer:
Prof. Dr. Petra Mutzel
Dipl.-Inf. Nils Kriege
Fakultät für Informatik
Algorithm Engineering (LS11)
Technische Universität Dortmund
http://ls11-www.cs.tu-dortmund.de
Inhaltsverzeichnis
1. Einleitung 1
1.1. Motivation und Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Grundlegendes 5
2.1. Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1. Klassen von Clusterverfahren . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1.1. Überlappendes Clustering . . . . . . . . . . . . . . . . . . . 6
2.1.1.2. Fuzzy-Clustering . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1.3. Graphbasiertes Clustering . . . . . . . . . . . . . . . . . . . 6
2.1.1.4. Hierarchisches Clustering . . . . . . . . . . . . . . . . . . . 7
2.1.1.5. SAHN-Clustering . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2. Distanzmaße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2.1. Häufig verwendete Distanzmaße . . . . . . . . . . . . . . . 10
2.1.2.2. Metrik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Scaffold Hunter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3. Analyse der Problemstellung 15
3.1. Das Laufzeitverhalten des NNChain-Algorithmus . . . . . . . . . . . . . . . 15
3.2. Lösungsansätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3. Anforderungen an ein alternatives Clusterverfahren . . . . . . . . . . . . . . 19
4. Bekannte Verfahren 21
4.1. Hierarchische Clusterverfahren . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.1. Dichtebasierte Clusterverfahren . . . . . . . . . . . . . . . . . . . . . 21
4.1.1.1. DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.1.2. OPTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.2. Gitterbasierte Clusterverfahren . . . . . . . . . . . . . . . . . . . . . 25
4.1.3. SAHN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.3.1. NNChain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.3.2. Dynamic Closest Pair . . . . . . . . . . . . . . . . . . . . . 28
4.1.3.3. Generic Clustering (Müllner) . . . . . . . . . . . . . . . . . 29
i
4.1.3.4. Single-Linkage-MST-Algorithmus . . . . . . . . . . . . . . . 33
4.2. Bekannte Ansätze zur Beschleunigung . . . . . . . . . . . . . . . . . . . . . 33
4.2.1. Datenverdichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1.1. Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.1.2. Data Bubbles . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2.2. Indexstrukturen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.3. Pivot-Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.3.1. Pivot-Baum. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.3.2. Best-Frontier-Suche . . . . . . . . . . . . . . . . . . . . . . 42
5. Ein neues heuristisches SAHN-Clusterverfahren 45
5.1. Auswahl eines Beschleunigungsverfahren . . . . . . . . . . . . . . . . . . . . 45
5.2. Auswahl eines SAHN-Clusterverfahrens . . . . . . . . . . . . . . . . . . . . 47
5.2.1. NNChain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.2. Dynamic Closest Pair . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.3. Single-Linkage-MST-Algorithmus . . . . . . . . . . . . . . . . . . . . 49
5.2.4. Generic Clustering (Müllner) . . . . . . . . . . . . . . . . . . . . . . 49
5.2.5. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3. Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.1. Anpassungen am Generic-Clustering-Algorithmus . . . . . . . . . . . 50
5.3.2. Dynamischer Pivot-Baum für Best-Frontier-Suche . . . . . . . . . . . 53
5.3.2.1. Anpassungen an der Datenstruktur . . . . . . . . . . . . . 53
5.3.2.2. Angepasstes Vorgehen bei der Best-Frontier-Suche . . . . . 55
5.3.3. Performanzanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3.3.1. Laufzeitanalyse . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.3.2. Speicherbedarf . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.3.3. Anzahl exakter Distanzberechnungen . . . . . . . . . . . . 58
5.4. Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.4.1. Bestehende Programmstruktur . . . . . . . . . . . . . . . . . . . . . 58
5.4.2. Modularisierung der bestehenden Programmstruktur . . . . . . . . . 59
5.4.3. Pivot-Baum-Datenstruktur . . . . . . . . . . . . . . . . . . . . . . . 62
6. Experimentelle Evaluation 65
6.1. Qualitätsmaße. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.1. Grundlegendes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.1.2. Spezialfall hierarchische Clusterverfahren . . . . . . . . . . . . . . . 66
6.1.3. Auswahl konkreter Qualitätsmaße . . . . . . . . . . . . . . . . . . . 66
6.1.3.1. Rand-Index . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1.3.2. Fowlkes-Mallows-Index . . . . . . . . . . . . . . . . . . . . 68
ii
6.1.3.3. Variation of Information . . . . . . . . . . . . . . . . . . . . 70
6.2. Implementierung eines Evaluationsframeworks . . . . . . . . . . . . . . . . . 72
6.3. Testumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4. Testdesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4.1. Datensätze und Merkmalsselektion . . . . . . . . . . . . . . . . . . . 76
6.4.1.1. Euklidisches Distanzmaß . . . . . . . . . . . . . . . . . . . 76
6.4.1.2. Tanimoto-Distanzmaß . . . . . . . . . . . . . . . . . . . . . 76
6.4.2. Algorithmen und Parametrisierung . . . . . . . . . . . . . . . . . . . 77
6.4.3. Testszenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.4.3.1. Performanzmessungen . . . . . . . . . . . . . . . . . . . . . 79
6.4.3.2. Qualitätsmessungen . . . . . . . . . . . . . . . . . . . . . . 79
6.4.4. Abschließende Bemerkungen zum Testdesign . . . . . . . . . . . . . 79
6.5. Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.5.1. NNChain vs. Generic Clustering . . . . . . . . . . . . . . . . . . . . 80
6.5.2. Qualität und Performanz in der Praxis . . . . . . . . . . . . . . . . . 81
6.5.2.1. Einfluss der Pivot-Anzahl und der Pivot-Baum-Tiefe . . . . 81
6.5.2.2. Einfluss der Suchtiefe . . . . . . . . . . . . . . . . . . . . . 86
6.5.3. Dimensionalität und Clusterseparation . . . . . . . . . . . . . . . . . 90
6.5.3.1. Einfluss der Dimensionalität . . . . . . . . . . . . . . . . . 90
6.5.3.2. Einfluss der Clusterseparation . . . . . . . . . . . . . . . . 91
6.5.4. Beschränkung der Suchtiefe im Verhältnis zur Eingabegröße . . . . . 94
6.5.5. Extraktion sinnvoller Parameterkombinationen . . . . . . . . . . . . 96
6.5.6. Abschließende Bemerkungen zu den Ergebnissen . . . . . . . . . . . 97
7. Zusammenfassung und Ausblick 99
A. Abkürzungsverzeichnis 103
Abbildungsverzeichnis 106
Algorithmenverzeichnis 107
Literaturverzeichnis 113
Erklärung 113
iii
Kapitel 1.
Einleitung
Diese Diplomarbeit beschäftigt sich mit der Beschleunigung von sequenziellen, agglome-
rativen, hierarchischen, nicht-überlappenden (SAHN) Clusterverfahren für allgemeine me-
trische Distanzmaße. Das Ziel besteht darin, die Performanz der Clusterverfahren in der
Software Scaffold Hunter zu verbessern. Die Arbeit umfasst die Auswahl eines geeigne-
ten Clusterverfahrens, die Auswahl einer passenden Technik zur Beschleunigung, dessen
Implementierung in der Software Scaffold Hunter sowie eine theoretische und praktische
Performanz- und Qualitätsanalyse.
1.1. Motivation und Hintergrund
Clustering ist ein Data-Mining-Verfahren zum Finden homogener (bzw. ähnlicher) Grup-
pen in Datenmengen. Es dient zur explorativen Analyse von Daten, für die keine Klassi-
fikation bekannt ist oder bei denen bekannte Klassifikationen aus diversen Gründen nicht
zu dem gewünschten Ergebnis führen. Da keine bekannte Klassifikation angelernt wird,
sondern eine neue Klassifikation geschaffen wird, spricht man bei Clusterverfahren auch
von unüberwachten Lernverfahren. Zur Anwendung kommt Clustering in einer Vielzahl
verschiedener Fachrichtungen und Anwendungsbereiche. Beispielhaft lassen sich die Fach-
richtungenInformatik,Medizin,MolekularbiologieundSoziologiesowiedieAnwendungsge-
biete Mustererkennung, Storage and Retrieval, Netzwerkanalyse (u.a. soziale Netzwerke)
und Pharmazeutischer Strukturfindungsprozess nennen (s.a. [MC12; DB03]). Clustering
kann unter anderem dazu verwendet werden, Daten zu strukturieren bzw. zu klassifizieren,
relevante Teilmengen der Daten zu finden, ein Sampling mit großer Diversität zu erstellen
oder Daten grafisch aufzubereiten. Die Bandbreite der Anwendungsmöglichkeiten ist sehr
groß und der Bedarf an schnellen Clusterverfahren wächst mit der ständig zunehmenden
Speicherung großer Datenmengen.
DieSoftwareScaffoldHunteristeinWerkzeugzurintuitivenVisualisierungundexplora-
tiven Analyse des chemischen Strukturraumes. Seit Version 2.0 bietet sie die Möglichkeit,
Moleküldatenbankenzuclustern.ZumEinsatzkommteinSAHN-Clusterverfahrenmitdem
Namen NNChain (s.a. [Mur85], Abschnitt 4.1.3.1). Visualisiert durch ein Dendrogramm
1
bietet es dem Benutzer die Möglichkeit, den chemischen Strukturraum (d.h. die Menge
aller Moleküle) zu gruppieren und damit die Informationsflut auf ein erfassbares Maß zu
reduzieren, einen Einblick in die zugrundeliegende Ähnlichkeitsstruktur der Daten zu er-
halten und eine Auswahl von – für den Benutzer relevanten – Molekülen zu finden. In der
Praxis ist die Performanz des Verfahrens jedoch nur für kleine bis mittelgroße Molekülda-
tenbanken und wenig rechenaufwändige Distanzmaße ausreichend. Die Größe öffentlicher
Moleküldatenbanken mit mehreren Millionen Molekülen (z.B. PubChem1, ZINC2) über-
steigt diese Grenze der Anwendbarkeit bei weitem. Daher wird sich diese Arbeit mit der
Suche nach alternativen, schnelleren Clusterverfahren auseinandersetzen.
1.2. Aufbau der Arbeit
Kapitel 2 beschäftigt sich mit den Grundlagen des Clusterings und gibt einen Überblick
über Klassen von Clusterverfahren, Distanzmaße, Linkage-Verfahren und einen Einblick in
mögliche Visualisierungen der Ergebnisse. Zudem wird die Software Scaffold Hunter vor-
gestellt und bestehende Programmstrukturen erläutert, in denen der zu implementierende
Algorithmus eingebettet wird.
Eine Analyse der Problemstellung wird in Kapitel 3 vorgenommen. Hierbei werden Die
Rahmenbedingungen,dieeinbeschleunigteshierarchischenClusterverfahrenerfüllenmuss,
herausgearbeitet.
In Kapitel 4 werden bekannte Clusterverfahren (dichtebasierte Verfahren, gitterbasierte
Verfahren, SAHN-Verfahren) und bekannte Ansätze zur Beschleunigung (Datenverdich-
tung, Indexstrukturen, Pivot-Ansatz) allgemeiner Clusterverfahren vorgestellt, sowie auf
ihre Eignung in Bezug auf die Problemstellung untersucht.
Schließlich wird in Kapitel 5, auf Grundlage der vorgestellten Verfahren aus Kapitel 4,
ein neues heuristisches SAHN-Clusterverfahren entwickelt, welches den in Kapitel 3 erar-
beiteten Anforderungen, soweit wie möglich gerecht wird. In diesem Kapitel wird daher die
Auswahl eines Beschleunigungs- und Clusterverfahrens begründet. Anschließend wird die
Kombination dieser Verfahren umgesetzt und notwendige Anpassungen an den bestehen-
den Verfahren beschrieben. Des Weiteren wird die Implementierung des neuen Verfahrens
in der Software Scaffold Hunter erläutert.
Kapitel 6 umfasst eine experimentelle Performanz- und Qualitätsanalyse des heuristi-
schen SAHN-Clusterverfahrens. Ein weiteres Ziel dieses Kapitels besteht in der Suche nach
RichtwertenfürdierichtigeWahlderParameterdesVerfahrens.UmdieseZielezuerreichen
wird zunächst eine Einführung in verschiedene Qualitätsmaße gegeben, die Implementie-
rung eines Evaluationsframeworks beschrieben und das Testdesign erläutert. Anschließend
werden die Ergebnisse vorgestellt und analysiert.
1http://pubchem.ncbi.nlm.nih.gov/
2http://zinc.docking.org/
2
Description:Die Lance-Williams-Update-Formel berechnet für Median- und Zentroid-Linkage Betriebsystem: Gentoo Linux 64 Bit (Stable Release: 04.08.2012).