K-Means Clustering for Automatic Image Segmentation

Größe: px
Ab Seite anzeigen:

Download "K-Means Clustering for Automatic Image Segmentation"

Transkript

1 Westfälische Wilhelms Universität Münster Institut für Informatik Ausarbeitung zum Thema K-Means Clustering for Automatic Image Segmentation im Rahmen des Seminars Ausgewählte Themen zu Bildverstehen und Mustererkennung Andreas Held Themensteller: Prof. Dr. Xiaoyi Jiang Betreuer: Dipl.-Inform. Mohammed Dawood Abgabe: Juni 2008

2 Überblick In dieser Arbeit soll getestet werden, ob sich eine Variante des k-means Algorithmus zur Segmentierung von Knochen der menschlichen Wirbelsäule in Magnetresonanztomographie- Bildern eignet. Dabei soll die Segmentierung der Knochenbereiche eines Bildes möglichst voll automatisiert auf den Intensitätswerten der Pixel ausgeführt werden. Zu diesem Zweck werden verschiedene Abwandlungen des ursprünglichen k-means Algorithmus von McQueens vorgestellt und auf das zugrunde liegende Problem angewendet. Die verwendeten Bilddaten beschränken sich auf drei Grauwert-Bilder der menschlichen Wirbelsäule aus unterschiedlichen Blickwinkeln und Auflösungen.

3 Inhaltsverzeichnis Überblick... 2 Inhaltsverzeichnis Einleitung Überblick des Forschungsgebietes Automatische Bildsegmentierung Überblick der Arbeit Verfahren zur Clusteranalyse Einleitung Unterteilung von Cluster-Verfahren Eigenschaften von Clusteralgorithmen Ähnlichkeitsmaße Bewertung eines Clustering-Ergebnisses Der k-means Algorithmus und seine Erweiterungen K-means nach McQueen Überblick Der Algorithmus Vorteile des Algorithmus Nachteile des Algorithmus Global k-means Algorithmus Überblick Algorithmus - Ablauf Algorithmus - Laufzeit Fast global k-means Cluster-Validäts-Problem Verwendete Materialien und Vorgehensweise Materialien Vorgehen Vorverarbeitungsschritte Anwendung des k-means Algorithmus Nachbearbeitungsschritte Ergebnisse Implementierung Hilfsfunktionen Distanzfunktion dist Erstellen einer Distanzmatrix mittels distmat Fehlerfunktion errfkt K-means nach McQueen Global k-means Fast global k-means Diskussion und Ausblick Literatur... 26

4 1. Einführung 1.1 Überblick des Forschungsgebietes Die Segmentierung eines Bildes in verschiedene Regionen ist ein Teilbereich der Bildanalyse bzw. Bildverarbeitung. Im Gegensatz zur Computergrafik, deren Ziel die computergestützte Erzeugung von Bildern ist, versucht die Bildanalyse, eine Beschreibung der ursprünglich aufgenommenen Szene zu rekonstruieren. Zu diesem Zweck umfasst die Bildverarbeitung Bearbeitungsprozeduren zur Gewinnung von Information aus den Bilddaten. Beispiele für diese Bearbeitungsprozeduren sind: Bewegungsbestimmung, Bildsegmentierung, Bilderkennung und Mustererkennung. Dabei versuchen die einzelnen Methoden, die Eigenschaften des menschlichen Sehvermögens nachzubilden und werden deswegen dem Forschungsgebiet Computer Vision (Gegenstück zu Human Vision) zugeordnet. Da in dieser Arbeit ein spezielles Verfahren zur automatischen Bildsegmentierung vorgestellt wird, soll in dem folgenden Kapitel in die Grundlagen der Bildsegmentierung eingeführt werden, die nicht nur im Bereich Computer Vision, sondern auch bei Video Coding und Medical Imaging zunehmend an Bedeutung gewinnt [1, 2]. 1.2 Automatische Bildsegmentierung Der Bildanalyse liegt ein digitales Rasterbild in Form einer zweidimensionalen Bildpunktmatrix zugrunde. Dabei sind keine Informationen über Zusammenhänge zwischen den einzelnen Bildpunkten vorhanden. Das Ziel der Segmentierung ist es, ein Bild in nichtüberlappende homogene Regionen zu unterteilen. Formal bedeutet dies: Sei I die Menge aller Bildpunkte x eines Bildes, dann ist die Segmentierung gleichzusetzen mit einer Unterteilung der Menge I in n Teilmengen S 1,..., S n, so dass gilt: n ( S i = I mit S i ' S j =, i j, S i zusammenhängend. (1.1) i=1 Der Begriff Segment oder Region bezeichnet daher einen Bereich, dessen Bestimmung ohne Berücksichtigung eines semantischen Aspekts vorgenommen wurde. In der medizinischen Bildanalyse werden als Merkmale zum Beispiel Pixelintensitäten, also die Grauwerte der einzelnen Pixel benutzt und das Ziel ist es, die Regionen so zu ermitteln, dass sie zu eindeutigen anatomischen Strukturen korrespondieren. Grundsätzlich wird zwischen vier verschiedenen Ansätzen zur Segmentierung unterschieden. Diese Verfahren sind kanten-, regionen-, Histogramm- und Cluster-basierte Verfahren [3]. Um eine gute Bildsegmentierung durchführen zu können, sind meist verschiedene Vorverarbeitungs-, sowie Nachbearbeitungsschritte nötig. Grundsätzlich dienen Vorverarbeitungsschritte dazu die Findung von homogenen Regionen zu erleichtern und Nachbearbeitungsschritte die gefundenen Regionen deutlicher zu machen. Beispiele für Vorverarbeitungsschritte sind, die Anwendung von einem Gaußfilter, um sogenanntes Rauschen in einem Bild zu unterdrücken, Kantenverstärkung und Kontrasterhöhung. Die in dieser Arbeit verwendeten Vor- und Nachbearbeitungsschritte werden in Kapitel 4.2 erklärt. Durch die Segmentierung eines Bildes in homogene Regionen soll weitere Bildanalyse erleichtert werden. In einem idealen Fall würden die Bildsegmente direkt zu Objekten der realen Welt korrespondieren, die in dem Bild dargestellt sind. In der Praxis ist das Erreichen einer solchen kompletten Segmentation durch unüberwachte Verfahren, die hier vorgestellt werden, nahezu unmöglich [4]. Deswegen soll hier nur ein Versuch dargestellt werden, um

5 ein Bild teilweise zu segmentieren, so dass die Pixel des Bildes in homogene Gruppen geclustert werden. Die Anwendungsgebiete solcher Verfahren sind vielfältig. Automatische Segmentierung von Bildern, wird zum Beispiel sehr häufig in der Medizin angewandt, z.b. in der Computertomographie oder in der Magnetresonanztomographie. Andere Anwendungsgebiete sind die Verarbeitung von geologischen Daten (z.b. die Segmentierung von Satelliten oder Luftbilder in geometrische Daten), automatische Qualitätskontrolle, Schrifterkennung und Gesichtserkennung Überblick der Arbeit In dieser Arbeit soll die Anwendbarkeit des k-means Clusterverfahrens zur automatischen Bildsegmentierung von medizinischen Daten, speziell die Erkennung von Knochen der Wirbelsäule in Magnetresonanztomographie-Bildern (MRI-Bilder), daher Grauwert-Bildern, untersucht werden. In den nächsten Kapiteln wird aus diesem Grund eine Einführung in Cluster-basierte Verfahren der Bildsegmentierung, speziell dem k-means Algorithmus und Varianten des selbigen gegeben. Sowie die Analyse der Ergebnisse vorgestellt, bei dem Versuch Knochen der Wirbelsäule in MRI-Bildern zu erkennen und automatisch zu segmentieren.

6 2 Verfahren zur Clusteranalyse 2.1 Einleitung Für die Untersuchung von Bilddaten werden häufig unüberwachte Analyseverfahren eingesetzt. Unüberwacht bedeutet in diesem Zusammenhang, dass kein a priori Wissen über die einzelnen Bildpunkte bekannt ist, das sich für die Strukturierung der Daten eignet. Deshalb wird bei der unüberwachten Datenanalyse versucht, nur auf Grund der vorliegenden Bildpunkte eine Unterteilung der selbigen in unterschiedliche Kategorien vorzunehmen. Da sich bei medizinischen Bilddaten, die Grundlage dieser Arbeit sind, je nach Körperregion und Patient andere Datenmengen ergeben, lassen sich bei der Auswertung dieser Daten nur sehr eingeschränkt Analyseverfahren mit festen Modellvorgaben einsetzen, so dass sich unüberwachte Clusterverfahren als Methode anbieten. Eine Gruppe von unüberwachten Analyseverfahren bilden dabei die Clustermethoden. Clusterverfahren benutzen ein vorgegebenes Ähnlichkeitsschema anhand dessen sie gleichartige Datenpunkte erkennen und zu Gruppen, sogenannte Cluster, zuordnen. Ein Cluster ist eine Ansammlung von Objekten, für die die folgenden zwei Bedingungen erfüllt sein müssen [5]: - Homogenität innerhalb eines Clusters soll möglichst hoch sein, daher die Datenpunkte, die einem Cluster zugeordnet wurden, sollen ähnlich zueinander sein. - Heterogenität zwischen unterschiedlichen Clustern soll ebenfalls hoch sein, daher Daten, die verschiedenen Clustern angehören sollen sich unähnlich sein. Cluster sind demnach Ansammlungen von Datenpunkten bei denen die Dichte lokal höher ist als in anderen Regionen des Datenraumes [8]. Ein Beispiel bei dem eine Datenmenge in Cluster eingeteilt wurden, die sowohl die Homogenitäts- als auch die Heterogenitätsbedingung best möglich erfüllen, ist in Abbildung 1 gezeigt. Ein Überblick über verschiedene Maße zur Berechnung der Ähnlichkeit von Objekten und Clustern wird zu diesem Zweck in Kapitel 2.4 gegeben. Das Ergebnis des Clustering-Prozesses, das sog. Clustering, kann zudem durch einen globalen Cluster-Fehler validiert werden. Ziel bei der Clusterbildung ist es diesen Cluster-Fehler zu minimieren (vgl. Kapitel 2.5). Ein bekannter Vertreter der Clusteranalyse-Verfahren ist der k-means Algorithmus [9, 10, 11, 12, 13], der in Kapitel 3 vorgestellt wird und Grundlage für diese Arbeit ist. Dieser Algorithmus hat, wie viele andere Clusterverfahren, die Einschränkung, dass die Anzahl zu gruppierender Cluster bekannt sein muss. Diese Anzahl sollte der Anzahl der wirklich in den Daten vorkommenden Gruppen ähnlicher Datenpunkte entsprechen, damit eine optimale Segmentierung des Bildes gewährleistet werden kann (Abbildung 1). Jedoch ist die Anzahl der vorkommenden Datenklassen häufig a priori unbekannt und aufgrund der wenigen Informationen über die Bildpunkte schwierig zu berechnen. Da die hier vorgestellte Bildsegmentierung automatisch durchführbar sein soll, muss die Anzahl der vorkommenden Cluster in einem Bild automatisch errechnet werden können. Dieses Problem wird häufig als das Cluster-Validitäts-Problem bezeichnet [17] und ist in Kapitel 3.4 näher erläutert.

7 Abbildung 1: Zeigt den künstlich erstellten Ruspini-Datensatz. Die Merkmale der einzelnen Datenpunkte nach denen gruppiert wurde, ist in diesem Fall, die x- bzw. y-koordinate des jeweiligen Datenpunktes. Es ist leicht zu erkennen, dass für die Gruppierung der Daten in vier Cluster eine stark homogenes und heterogenes Clustering möglich ist. Allerdings wäre dieses Clustering für zum Beispiel drei Cluster nicht mehr so einfach zu erkennen. 2.2 Unterteilung von Cluster-Verfahren Es gibt viele unterschiedliche Ansätze um Daten mittels unüberwachter Clusteranalyse zu gruppieren, die je nach Anwendungsgebiet ihre Vor- und Nachteile besitzen. Die unterschiedlichen Variationen der Cluster Algorithmen lassen sich dabei in die zwei Kategorien hierarchische und partitionierende Verfahren einteilen (Abbildung 2). Abbildung 2: Differenzierung der einzelnen Clustermethoden. Hierarchische Clustermethoden sind dabei nochmal unterteilt in agglomerative (bottom-up) und divisive (top-down) Verfahren. Agglomerative hierarchische Methoden gehen in ihrer Initialisierung davon aus, dass jeder einzelne Datenpunkt einem eigenen Cluster angehört. In jeder Iteration verschmelzen die zwei Cluster mit der niedrigsten Heterogenität, bis in einem letzten Schritt alle Cluster miteinander verschmolzen sind oder der Abstand zwischen zwei Clustern einen vorgegebenen Schwellenwert überschreitet. Um dies zu erreichen wird in jedem Schritt die Ähnlichkeit der vorhandenen Clustern berechnet. Bekannte Verfahren zum Berechnen der Ähnlichkeit zwischen zwei Clustern sind Single-Linkage, Complete-Linkage oder Complete-Linkage [14, 15]. Das Resultat ist ein sogenanntes Dendrogramm, an dem alle während des Clustering-Prozesses entstandenen Gruppierungen abgelesen werden können und so eine Interpretation der Daten erlauben. Divisive Verfahren funktionieren in umgekehrter Richtung, aber nach dem gleichen Prinzip [7]. Im Gegensatz dazu teilen partitionierende Verfahren einen Datensatz in eine vorgegebene Anzahl an Clustern auf. Zu diesem Zweck werden sogenannte repräsentative Datum für ein Cluster berechnet, die eine Mittelung über die verschiedenen Merkmale der Objekte eines

8 Clusters sind. Ein bekannter Vertreter dieser Klasse an unüberwachten partitionierenden Clusteranalyse-Verfahren ist der k-means Algorithmus, der in Kapitel 3 vorgestellt wird und als Grundlage für diese Arbeit benutzt wurde. 2.3 Eigenschaften von Clusteralgorithmen Cluster Algorithmen werden in der Literatur verschiedene Eigenschaften zugeordnet, die im Folgenden aufgelistet sind [7]: hart vs. unscharf Harte Algorithmen ordnen jedem Objekt genau ein Cluster zu, während unscharfe (fuzzy) Algorithmen die Objekte mit unterschiedlichen Gewichtungen verschiedenen Clustern zuordnen können. deterministisch vs. stochastisch Deterministische Methoden produzieren anders als stochastische Methoden unter den gleichen Bedingungen immer das gleiche Clustering-Resultat. noise-insensitive vs. noise-sensitive: Diese Eigenschaft legt fest, wie robust ein Algorithmus gegenüber Rauschen in der Datenmenge ist. Ein Algorithmus kann zum Beispiel für einen Datensatz ohne signifikantes Rauschen gute Resultate liefern. Aber die Güte des Algorithmus verschlechtert sich drastisch mit dem Anstieg von Rauschen in dem Datensatz. 2.4 Ähnlichkeitsmaße Im vorangegangenen Text wurde mehrfach der Begriff der Ähnlichkeit, bzw. Unähnlichkeit von Datenpunkten verwendet, der nun hier definiert werden soll. Um Datenobjekte oder Cluster miteinander vergleichen zu können, muss ein Maß definiert werden, das es erlaubt, den Abstand zwischen den zwei Objekten zu berechnen. Dafür sei eine Distanzfunktion d definiert, so dass der Abstand zwischen zwei Objekten a und b als d(a, b) bezeichnet ist. Eine Distanzfunktion muss dabei immer die folgenden Bedingungen erfüllen [7]: (i) d(a, b) > 0, die Distanz zwischen zwei Objekten ist nicht negativ (ii) d(a, a) = 0, die Distanz eines Objektes zu sich selber ist gleich null Normalerweise aber nicht zwingend notwendig ist auch die Symmetrie-Bedingung erfüllt: (iii) d(a,b) = d(b,a) Häufig verwendete Distanzfunktionen sind in Tabelle 1 aufgeführt. Es existiert eine Vielzahl von weiteren Distanzfunktionen. Für weitere Details sei auf die Arbeit von Matthias Zschunke [7] verwiesen.

9 Distanzfunktion Formel Erklärung d(x, y) = x i - y i Die Differenzen der Manhattan Distance Merkmale zweier Objekte i (1-norm) aufsummiert Euclidian Distance (2-Norm) Maximum distance (Infinity-norm) d(x, y) = (x i - y i ) 2 geometrische Distanz der Merkmale i die größte Distanz von allen d(x, y) = max i ( x i -y i ) Merkmalen Tabelle 1: Oft verwendete Distanzmaße [10, 15, 16] mit Formel und kurzer Erklärung. 2.5 Bewertung eines Clustering-Ergebnisses Um verschiedene Clustering-Ergebnisse miteinander vergleichen zu können, muss eine sogenannte Bewertungsfunktion existieren. Dabei wird zwischen Gütefunktionen und Fehlerfunktionen unterschieden. Im Normalfall ist also das Ziel einer Clustermethode eine Gütefunktion zu maximieren, bzw. eine Fehlerfunktion zu minimieren. Eine in der Literatur oft verwendete Bewertungsfunktion ist der mittlere, empirische Quantisierungsfehler (MQF) einer Datenmenge [10, 14, 15]. Diese Bewertungsfunktion berechnet, wie gut eine analysierte Datenmenge durch die Menge der errechneten Clusterzentren repräsentiert wird. Sei X die Menge aller Datenpunkte X = {x 1,..., x N }, x i Ñ d C 1,..., C M die Menge der Cluster mit zugehörigem Centroid m 1,.., m M, dann gilt für den MQF: MQF = 1 N M N I(x i C k ) d(x i - m k ), wenn I(x i ) = 1, falls x i = true, 0, sonst. (2.1) i=1k=1 Der in dieser Arbeit verwendete k-means Algorithmus (vgl. Kapitel 3) benutzt für das Optimierungsproblem die euklidische Distanz (vgl. Tabelle 1) und den mittleren quadratischen Quantisierungsfehler (MQQF). Der MQQF berechnet den mittleren quadratischen Abstand zwischen den Datenpunkten und den zugehörigen Clusterzentren [8]: MQQF = 1 N M N I(x i C k ) x i - m k 2, wenn I(x i ) = 1, falls x i C k, 0, sonst. (2.2) i=1k=1 Der quadratische Quantisierungsfehler weist eine Abhängigkeit von der verwendeten Clusteranzahl auf, die für das Bestimmungsproblem der optimalen Anzahl an vorhandenen Cluster in einer Datenmenge benutzt werden kann [15].

10 3. Der k-means Algorithmus und seine Erweiterungen 3.1 k-means nach McQueen [13] Überblick Dem partitionierenden Clustering Algorithmus k-means, der von McQueen [13] 1967 entwickelt wurde, werden die Eigenschaften stochastisch und hart zugeordnet. Auch wenn mittlerweile eine Vielzahl von Variationen des Algorithmus existieren, denen andere Eigenschaften zugeordnet sind, z.b. fuzzy statt hart, wird im Folgenden auf die Grundversion des Algorithmus eingegangen. Dem Algorithmus werden als Eingabe neben den zu clusternden Datenpunkten I auch die optimale Anzahl Cluster k übergeben, die nicht zwangsläufig bekannt sein muss (vgl. Kapitel 3.4). Der Algorithmus teilt daraufhin die Menge der Datenpunkte in k Cluster auf. Dafür wird das folgende Grundprinzip verwendet: Jedem Cluster wird ein Clusterzenter zugeordnet. Diese Clusterzenter werden auch Centroid genannt und lassen sich wie folgt berechnen: Sei m i das Clusterzenter von Cluster C i und x Datenpunkte eines Bildes I, dann gilt [18]: m i = 1 C i C i x r, x r C i (3.1) r=1 Jedes Datum kann außerdem sehr leicht einem Centroid zugeordnet werden, zum Beispiel dem Centroid, das die kürzeste Distanz zu dem Punkt aufweist. Auf diese Weise ist es möglich aus einem Clustering, die zugehörigen Centroide für jedes Cluster zu berechnen. Umgekehrt kann, wenn die Centroide bekannt sind, das zugehörige Clustering berechnet werden [19]. Wenn der Algorithmus startet sind jedoch weder das Clustering noch die Centroide bekannt. Aus diesem Grund werden initial k Centroide zufällig in der Datenmenge verteilt und das zugehörige Clustering berechnet. Dann werden aufgrund der entstandenen Cluster die neuen Positionen der Centroide berechnet. Diese zwei Schritte wiederholen sich solange, bis sich die Centroide nicht weiter verändern. Weitere Abbruchbedingungen können zum Beispiel sein, dass nach einer bestimmten Anzahl an Schleifendurchläufen abgebrochen wird oder sich die Cluster von einer Iteration zur nächsten nicht signifikant verändern Der Algorithmus 0) Wähle Anzahl Cluster k 1) Erstelle zufällig k Centroide (oder ein zufälliges Clustering) 2) Ordne jedem Objekt das Cluster mit dem am nächsten liegenden Centroid zu 3) Berechne die Clusterzentren neu 4) Wiederhole Schritt 2 bis ein Abbruchkriterium erfüllt ist Die Implementierung des Algorithmus in Matlab, ist in Kapitel 6.2 beschrieben Vorteile des Algorithmus Der Vorteil des Algorithmus von McQueen, liegt neben der einfachen Implementierung, in der relativ schnellen Laufzeit im Vergleich zu anderen Clusterverfahren, z.b. den hierarchischen Verfahren. Die Laufzeit hängt von der Nummer der Clusterzentren k, der

11 Anzahl der zu clusternden Objekte n und der Anzahl der dafür notwendigen Iterationen i ab. Demnach ist die Laufzeit von linearer Komplexität mit O(k*n*i) [6] Nachteile des k-means Algorithmus Ein Schwachpunkt des Verfahrens stellt die zufällige Initialisierung der Clusterzentren dar. Je nach Wahl dieser Clusterzentren kann es zu einer Einschränkung des Lösungsraumes und zu suboptimalen Clusterergebnissen kommen [17]. Die Situation ist vergleichbar mit der Berechnung eines lokalen besten Ergebnisses für die ausgewählten Clusterzentren, das nicht zwangsläufig identisch sein muss mit dem globalen besten Ergebnis, dass eventuell durch eine andere Initialisierung der Zentren erreicht wird. Um dem Abhilfe zu schaffen wird der Algorithmus meist mehrfach mit unterschiedlichen Initialisierungen gestartet und im Anschluss das Ergebnis mit dem geringsten Gesamtfehler (vgl. Kapitel 2.5) verwendet. Für die Analyse von umfangreichen medizinischen Datensätzen führt dies jedoch zu sehr ineffizientem Verhalten. Zudem ist es gerade bei der Analyse von medizinischen Daten wichtig, die Clusteranalyse möglichst exakt zu gestalten, um die Sicherheit der Analyseergebnisse gewährleisten zu können. Wie das Finden von globalen Optima gewährleistet werden kann, ist in Kapitel 3.2 beschrieben, in dem eine erweiterte Version des k-means Algorithmus vorgestellt wird. Ein weiterer Nachteil des Verfahrens ist, dass die optimale Anzahl der Cluster nicht von vorne herein festgelegt ist. Wie mit diesem Umstand zu verfahren ist, ist in Kapitel 3.4 beschrieben. 3.2 Global k-means Algorithmus Der hier vorgestellte globale k-means Algorithmus, von Aristidis Likas et al., richtet sich nach der Veröffentlichung The global k-means clustering algorithm [8] Überblick Der Algorithmus verfährt inkrementell. Das bedeutet, wenn eine Bildmenge in M Cluster mit den zugehörigen gruppiert werden soll, wird in einem ersten Schritt das Clusterproblem für M=1, anschließend für M=2 usw. gelöst. Für das Clusterproblem M=1 ist die optimale Lösung trivial, daher alle Datenpunkte werden einem Cluster zugeordnet und das zugehörige Clusterzenter errechnet. Bei jeder folgenden lokalen Suche nach den optimalen Centroiden, werden die vorherigen optimalen Clusterzentren als Initialisierung benutzt und nur das letzte Clusterzentrum mehrfach initialisiert. Um das Auffinden des besten Clusterings gewährleisten zu können, werden jeweils die M-1 Clusterzentren an ihrer vorher berechneten optimalen Position und das verbleibende M.te Centroid wird für alle möglichen Bildpunkte initialisiert und letztendlich diejenige Initialisierung verwendet, bei dem der Clusterfehler minimal war. Der zu optimierende Clusterfehler E entspricht dabei dem in Abschnitt 2.5 definierten mittleren quadratischen Quantisierungsfehler. Durch dieses Vorgehen ist der Algorithmus nicht abhängig von zufällig initialisierten Centroiden und führt bei jedem Durchlauf zu demselben Ergebnis, dass das globale Minimum für den Clusterfehler darstellt Algorithmus - Ablauf (0) für k=1: ist das Centroid aus dem Datensatz X zu errechnen (1) für k=i, i [2, M] N Ausführungen des k-means Algorithmus mit den folgenden initialen Clusterzentren:

12 - m 1...m i-1 wird immer an seiner optimalen Position platziert - m i wird an jedem Datenpunkt x n (n = 1...N) platziert (3) Benutze die Lösung mit minimalem Clusteringfehler für k=i+1. (4) Schritt 2 und 3 werden solange wiederholt, bis die optimale Lösung für k=m gefunden ist. Die Implementierung des Algorithmus in Matlab, ist in Kapitel 6.3 beschrieben Algorithmus - Laufzeit Der Nachteil dieser Variante ist es, dass für jeden Schritt N Durchläufe des k-means Algorithmus für jedes Clusterproblem durchlaufen werden müssen. Dies kann bei medizinischen Datensätzen zu einem unpraktikablen Aufwand führen. Wenn eine Bildmenge von N Pixeln in M Cluster gruppiert werden sollen ergibt sich die Laufzeit von O(M*N*O(k-means)). Deshalb gibt es auch hierfür eine Erweiterung, die sich fast global k-means nennt und im folgenden Abschnitt vorgestellt wird Fast global k-means Der hier vorgestellte schnelle globale k-means Algorithmus wurde ebenfalls von Aristidis Likas et al. entwickelt und die Beschreibung richtet sich nach ihrer Veröffentlichung 2003 [8]. Im Gegensatz zu dem globalen k-means Algorithmus (Abschnitt 3.2) wird für das M.te Centroid der k-means Algorithmus nicht für jede mögliche Initialisierung angewendet. Zuerst wird eine obere Grenze E n für den Clusterfehler errechnet. Diese Grenze ist definiert als: E n = E - b n für alle möglichen x n, (3.2) wobei E der Fehler im (k-1)-clustering-problem und b n wie folgt definiert ist: N b n = max (d j k-1 - x n - x j 2, 0) (3.3) j=1 d j k-1 ist dabei die quadratische Distanz zwischen x j und dem am nächsten liegenden Centroid von den k-1optimalen Clusterzentren. Die Position des k.ten Centroids wird also an dem Punkt x i initialisiert, bei dem E n minimiert, oder anders gesagt b n maximiert ist und der k-means Algorithmus nur ein einziges mal ausgeführt. Anschaulich kann gesagt werden, dass d j k-1 alle aktuell kürzesten Distanzen zwischen einem Datenpunkt und dem zugehörigen Centroid darstellt und x n - x j entspricht der Distanz zu einem neuen Centroid, der an Position x n eingefügt wurde. Wenn die Distanz zu dem neuen Centroid größer ist als zu dem bisher zugeordneten, ergibt max (d j k-1 - x n - x j 2, 0) den Wert 0. Sollte die Distanz zu dem neuen Centroid jedoch kürzer sein, als zu dem bisher zugeordneten Centroid, vermindert sich der Gesamtfehler um genau den berechneten Wert, da jeweils die quadratischen Distanzen verwendet werden. Bei der Berechnung in Formel 3.3 handelt es sich also um ein Aufsummieren der Verbesserung des Gesamtfehlers nur durch Einfügen eines weiteren Clusterzentrums. Aus diesem Grund wird durch Formel 3.2 auch nur eine obere Grenze für den Clusterfehler berechnet, da sich nach Anwendung des k-means Algorithmus und dem Verschieben der Centroide der Gesamtfehler im Normalfall weiter verringert. Die Ergebnisse dieser Variante des k-means Algorithmus sind, wie in [8] gesehen werden kann, nahezu so gut, wie die des globalen k-means Algorithmus. Allerdings kann die

13 Berechnung der Verbesserung des Clusterfehlers sehr effizient durch Anlegen einer Distanzmatrix zwischen jedem Datenpunkt realisiert werden (vgl. Kapitel 6.4) und lässt sich daher auch auf große Datenmengen effizient anwenden Berechnen der optimalen Clusteranzahl (Cluster-Validäts-Problem) Die Aufgabe die optimale Anzahl an Cluster für eine gegebene Datenmenge zu errechnen, wird auch als das Cluster-Validäts-Problem bezeichnet [17]. Um eine vollautomatisierte Bildsegmentierung gewährleisten zu können, muss auch das Errechnen der optimalen Anzahl an Cluster automatisiert sein. Zur Lösung des Problems wird unter anderem die Methode vorgeschlagen, die Datenclusterung mit einer wachsenden Anzahl an Clusterzentren durchzuführen und die in Abschnitt 2.5 beschriebene Fehlerfunktion zu benutzen, um die Ergebnisse miteinander zu vergleichen [20]. Grundsätzlich gilt, dass der zu optimierende Fehler für nur ein Cluster sehr hoch ist, allerdings bei wachsender Anzahl der Cluster schnell kleiner wird, bis die optimale Anzahl an Cluster erreicht ist. Ab dieser bestimmten Anzahl an Cluster sinkt der Fehler nur noch annäherungsweise konstant. Wird der Clusterfehler in einem Graphen aufgetragen, indem die Clusteranzahl gegen den Clusterfehler aufgetragen ist, erscheint die optimale Clusteranzahl an dem Punkt, wo der größte Unterschied im Gradient des Graphen vorliegt. Mathematisch lassen sich die Gradienten an einem bestimmten Punkt nach folgender Formel berechnen: m = óy óx = y 2 - y 1 x 2 - x (3.4) 1 Da der Gradient, für die Clusteranzahl 1 im Normalfall weder sinnvoll noch definiert ist, wird der Wert 1 für die optimale Anzahl an Cluster außer Acht gelassen. Zum Auffinden der größten Gradientenveränderung wird jeweils das Verhältnis zwischen dem Gradient für eine bestimmte Clusteranzahl und dem Wert des Gradienten für die nächst höhere Clusteranzahl berechnet. Für eine beispielhafte Anwendung dieses Vorgehens siehe Abbildung 3 und Tabelle 2. Abbildung 3: Zeigt den rapiden Abfall des Clusteringfehlers bis zu der vermeintlich optimalen Anzahl an Cluster. Die Daten entstammen aus der Visualisierung des Clusteringfehlers, der aus der Anwendung des fast global k-means Algorithmus auf das Originalbild 1 (Kapitel 4.1) für die Clusteranzahl 1 bis 7 resultiert.

14 # Cluster Clusteringfehler Gradient Verhältnis zum nächsten Gradient N/A N/A N/A Tabelle 2: Die zu Abbildung 4 korrespondierenden Werte für Anzahl Cluster und dem zugehörigen Clusteringfehler. Außerdem der Wert des Gradienten des Graphen für eine bestimmte Anzahl Cluster, sowie das Verhältnis zwischen dem aktuellen Gradient und dem Gradienten für die nächst höhere Clusteranzahl. Wie Tabelle 2 zu entnehmen ist, ist das Verhältnis der Steigungen für die Clusteranzahl 3 am größten, so dass als optimaler Wert für die Anzahl Cluster dieser ausgewählt wird. Wie später in Kapitel 5 gezeigt ist, handelt es sich bei allen in dieser Arbeit verwendeten Bildern bei diesem Wert auch in der Tat um den besten Wert für die optimale Anzahl an Cluster. Dieser Ansatz zur Lösung des Problems wird auch Elbow-Kriterium [14] genannt, da die optimale Anzahl an Cluster an dem Punkt vorliegt, an dem ein zugeordneter Graph eine ellbogenähnliche Beugung einnimmt (Vgl. Abbildung 3). Das eigentliche ClusterValiditäts-Problem konnte bisher aus mathematischstatistischer Sicht noch nicht einwandfrei gelöst werden [10], allerdings bietet diese Methode ein einfach umzusetzendes, voll automatisiertes Verfahren, dass immer eine gute Näherung für die optimale Anzahl der Clusterzentren liefert. An dieser Stelle sei vorweggenommen, dass bei den dieser Arbeit zugrunde liegenden Bilddaten (vgl. Kapitel 4.1) dieses Verfahren zur Auffindung der optimalen Clusteranzahl nicht immer funktioniert. In manchen Fällen werden zwei Cluster als optimale Anzahl vorgeschlagen. Dieser Wert ist bei den Daten jedoch nicht sinnvoll, da in jedem Bild von mindestens drei Clustern auszugehen ist. Ein Cluster für den Hintergrund. Mindestens ein Cluster für Knochen und ein Cluster für andere Zelltypen. Aus diesem Grund wird die Clusteranzahl automatisch auf drei erhöht, wenn das Ellbogen-Kriterium eine niedrigere Clusteranzahl vorschlägt.

15 4. Verwendete Materialien und Vorgehensweise 4.1 Materialien Ziel dieser Arbeit ist es, Knochen der Wirbelsäule mit Hilfe des k-means Algorithmus zu segmentieren. Die der Arbeit zugrunde liegenden Bilddaten, entsprechen Magnetresonanztomographien (MRI-Bilder) der Wirbelsäule des Menschen. Insgesamt wurden drei Bilder versucht mit einem Verfahren zu analysieren, das für jedes der Bilder gute Resultate liefern soll. Bei zwei der Bilder handelt es sich um MRI-Bilder der Wirbelsäule mit verschiedenen Field-of-View-Werten (FOV), daher verschieden großen Ausschnitten der Wirbelsäule. Bei dem dritten Bild wurde eine Aufnahme eines einzelnen Wirbels gemacht. Die Bilder sind jeweils 512x512 Pixel groß und jedes Pixel wird durch einen 16-Bit Intensitätswert kodiert. Die verwendeten Bilder der Wirbelsäule sind in Abbildung 4 und das Bild des Wirbels in Abbildung 5 dargestellt und sollen im weiteren Verlauf mit Bild1, Bild2 und Bild3 adressiert werden. Abbildung 4: Zeigt die in dieser Arbeit verwendeten Aufnahmen der menschlichen Wirbelsäule mittels Magnetresonanztomographie (Links / Bild1 und Mitte / Bild2) und eine schematische Darstellung der menschlichen Wirbelsäule (Rechts). In dem linken Bild ist nur der untere Teil der Wirbelsäule, daher die Lendenwirbelsäule abgebildet, die in der schematischen Darstellung durch gelbe und grüne Wirbel gekennzeichnet ist. In dem mittleren Bild ist die gesamte Wirbelsäule zu sehen. Abbildung 5: Zeigt die MRI-Photographie des Wirbels (Bild3) und eine schematische Darstellung des selbigen.

16 Die zu untersuchenden Bilder bestehen aus 512x512, also Pixeln, so dass der Datenraum der zu clusternden Bildpunkte sehr groß ist. Da diese Datenpunkte auf Grund ihrer Intensität gruppiert werden sollen, bietet es sich an, den Clustering-Prozess auf dem Histogramm des Bildes, bzw. nur auf den vorkommenden Grauwerten, auszuführen. Jedes der Pixel in einem MRI-Bild entspricht einem 16 Bit Grauwert, so dass maximal 2 16, also verschiedene Grauwerte möglich sind. In der Realität werden natürlich weit weniger verwendet, so dass eine erhebliche Reduzierung des Datenraumes vollzogen wird. Für das in Abbildung 4 und 5 dargestellten MRI-Bilder, die zum Testen der Algorithmen verwendet wurden, treten für Bild1 1328, für Bild und für Bild verschiedene Intensitätswerte auf. Dadurch ist der Datenraum erheblich reduziert und die Performance der Algorithmen gesteigert. Die zugehörigen Histogramme der Bilder, auf denen das Clustering ausgeführt wird, sind in Abbildung 6 dargestellt. Abbildung 6: Zeigt die zu Bild1-3 gehörenden Histogramme. Dabei ist das Histogramm links Bild1, das Mittlere Bild2 und das Rechte Bild3 zugeordnet. 4.2 Vorgehen Im Folgenden soll das hier durchgeführte Vorgehen zur automatischen Bildanalyse, in diesem Fall Segmentierung von Knochen, mittels dem k-means Algorithmus auf den in 4.1 vorgestellten Bilddaten beschrieben werden. In einem ersten Schritt werden Vorverarbeitungsschritte auf den Bilddaten ausgeführt (siehe Kapitel 4.2.1), um die Segmentierung des Bildes in homogene Regionen zu erleichtern. Nachdem die Bilder entsprechend präpariert sind, wird der k-means Algorithmus in seinen unterschiedlichen Variationen (4.2.2) auf das zugehörige Histogramm des Bildes angewendet, um die homogenen Regionen und die optimale Anzahl an Cluster zu ermitteln. In einem letzten Schritt werden die Ergebnisse mit Nachbearbeitungsschritten (4.2.3) bearbeitet, um die Ergebnisse für weitere Analyseverfahren vorzubereiten Vorverarbeitungsschritte Die auf dem Bild durchgeführten Vorverarbeitungsschritte, beschränken sich auf die einfache Gaußglättung mit einem sogenannten Gaußfilter [18]. Diese Art von Vorbereitung wird im Allgemeinen genutzt um sogennantes Rauschen in einem Bild zu unterdrücken. Das Ergebnis des Clusterings ändert sich durch die Anwendung eines Gaußfilters in der Art, dass vereinzelte Pixelfragmente in ihre Umgebung eingebettet werden und so zum Beispiel Pixelfragmente im Hintergrund nicht fälschlicherweise einem anderen Cluster zugeordnet werden, als dem Hintergrund. Als Parameter für die Gaußglättung hat sich ein 9x9 Filter mit einem Sigmawert von 1.5 als praktikabel erweisen. Zudem wird der Datenraum durch die Angleichung der Intensitätswerte in Abhängigkeit ihrer Umgebung nochmals verkleinert. So besteht das Histogramm nach Anwenden eines Gaußfilters für Bild1 noch aus 1232, für Bild2 aus 1301 und für Bild3 aus 1292 verschiedenen Grauwerten.

17 4.2.2 Anwendung des k-means Der k-means Algorithmus wird in allen drei Versionen auf das Histogramm des geglätteten Ausgangsbildes (Abschnitt 4.1) angewendet. Dabei wird die Anzahl der Cluster solange erhöht, bis das ellbow-kriterium erfüllt ist, also die optimale Anzahl der Cluster gefunden ist, die jedoch mindestens drei entsprechen muss (vgl. Abschnitt 3.4). Diese Anzahl sollte einer Segmentierung des Bildes entsprechen, die weder über- noch untersegmentiert ist. Nach Anwendung des k-means Algorithmus sollte das Bild also auf Grund der Intensitätswerte der Pixel in Regionen segmentiert sein. Eins dieser Segmente soll dabei zu den Knochen im MRI- Bild korrespondieren. Da Knochen in MRI-Bildern etwas dunkler sind, als andere Strukturen, liegt der Wert des Centroids des Knochenclusters zwischen dem des Hintergrunds und von anderen Strukturen, so dass eine Beschränkung für folgende Nachbearbeitungsschritte nur auf das Knochencluster angewendet werden können Nachbearbeitungsschritte Nachdem die Segmentierung des Bildes abgeschlossen ist, wird ein morphologisches Opening angewendet um irrtümlich als Knochen segmentierte Bereiche aus dem Knochencluster zu entfernen. Als strukturierendes Element hat sich ein Kreis als effektiv herausgestellt. Der Radius des Kreises hat starken Einfluss auf die Güte des Ergebnisses des morphologischen Openings und wie in Kapitel 5 beschrieben, kann nicht für jedes Bild der gleiche Wert benutzt werden. So wird für die vollautomatisierte Bildsegmentierung zwar ein gemittelter Wert über die optimalen Radien für die drei Bilder benutzt, allerdings liefert dieser nicht für jedes Bild die optimalen Ergebnisse. Die Anwendung des k-means Algorithmus auf ein geglättetes Bild und die anschließende Ausführung eines morphologischen Openings auf das Knochencluster liefert zum Teil schon sehr genaue Ergebnisse. Allerdings sollte die resultierende Segmentierung als Eingabe für ein weiteres angekoppeltes Verfahren dienen, z.b. active conturs [18], um die Resultate noch genauer werden zu lassen. Dafür müsste das Knochencluster aufgrund von zusammenhängenden Regionen in einzelne Knochen segmentiert werden und die zusammenhängenden Kanten eines Knochens als Eingabe für active contours dienen.

18 5 Ergebnisse Wie Tabelle 3 zeigt, liegen die Clusteringfehler für alle drei Varianten des k-means Algorithmus sehr nah beieinander. Jeder der drei Varianten liefert als optimalen Wert für die Clusteranzahl den Wert 3. Allerdings sind Laufzeiten für die einzelnen Algorithmen stark unterschiedlich, wie Tabelle 4 belegt. # Cluster Clusteringfehler k-means Clusteringfehler global k-means Clusteringfehler fast global k-means Tabelle 3: Der quadratische Clusteringfehler für die drei Varianten des k-means Algorithmus angewendet auf die Bilddaten für Bild1 aus Kapitel 4.1. Algorithmus Laufzeit (sek) k-means global k-means fast global k-means Tabelle 4: Laufzeit der drei Verfahren zur Findung der optimalen Anzahl an Cluster und berechnen des Clusteringergebnisses für Bild1 aus Kapitel 4.1. Da es in der Theorie möglich ist, dass der k-means Algorithmus in seiner Grundversion aufgrund einer zufälligen Initialisierung der Clusterzentren ein lokales Maximum berechnet, das sich erheblich von dem globalen Optimum für den Clusteringfehler unterscheidet und der globale k-means Algorithmus, der zwar garantiert das globale Optimum berechnet, aber sehr langsam ist, soll für die folgenden Analysen der fast global k-means Algorithmus verwendet werden, der einen guten Kompromiss der beiden Ansätze darstellt. Die schrittweisen Ergebnisse der Bildsegmentierung unter Verwendung des fast global k- means Algorithmus auf Bild1 aus Kapitel 4.1 ist in Abbildung 7 dargestellt. Bild (ii) aus Abbildung 8, das nur das Cluster mit den Knochen zeigt, weist aufgrund der verschiedenen Intensitätswerte an Kanten viele Artefakte auf, die in Wirklichkeit nicht zu Knochen korrespondieren. Diese wurden wie in erwähnt mit Hilfe des morphologischen Openings entfernt, so dass das Ergebnis, sehr deutlich die Einzelnen Wirbel der Wirbelsäule darstellt. Zusätzlich sind im linken Teil dieses Bildes Artefakte, die auch nicht durch das morphologische Opening beseitigt werden können und nicht zu Knochen korrespondieren. Daher lässt sich zusammenfassend sagen, dass die Wirbelsäule in diesem Bild gut durch den fast global k-means Algorithmus zu segmentieren ist, jedoch die Segmentierung nicht vollständig korrekt ist. Die Kanten der gefundenen Segmente (vgl. Bild (iv) in Abbildung 7) müssten in einem weiteren Schritt als Initialisierung für das active contours Verfahren benutzt werden, um die zugehörigen Wirbel im Ausgangsbild als Segmente markieren zu können.

19 Abbildung 7: Zeigt schrittweise die Ergebnisse bei dem Versuch das Ausgangsbild 1 aus Kapitel 4.1 automatisch zu segmentieren. (i) Oben links sind die Ergebnisse des fast global k-means Algorithmus auf das geglättete Ausgangsbild angewendet Das Resultat sind drei Cluster, die jeweils in der Farbe des jeweiligen Centroids eingefärbt sind. Das Bild (ii) oben rechts zeigt die Visualisierung des Knochenclusters auf dem das morphologische Opening (Kapitel 4.2.3) als Nachbearbeitung angewendet wurde. Das Ergebnis dieses Prozesses ist (iii) unten links dargestellt. Auf dieses Bild wurde in einem letzten Schritt eine Kantendetektion ausgeführt. Das Resultat ist (iv) unten rechts abgebildet und kann als Eingabe für ein active contours Verfahren dienen. Das Resultat für Bild2 aus Kapitel 4.1 ist in Abbildung 8 und für Bild3 in Abbildung 9 dargestellt. Wie in Abbildung 8 zu erkennen ist, ist die Wirbelsäule zwar vollständig im Knochencluster enthalten, aber durch das morphologische Opening, das für Bild1 gute Resultate lieferte, selektiert hier ein Teil der Knochen aus dem Cluster heraus. Für Bild3 tritt, wie Abbildung 9 zeigt, der umgekehrte Fall ein, dass noch mehr Fragmente im Bild existieren, die nicht zu Knochen korrespondieren und durch höhere Werte beim morphologischen Opening gelöscht werden könnten. Abbildung 8: Die Ergebnisse der Segmentierung des Knochenclusters, das mit fast global k-means segmentiert wurde (links), das morphologische Opening angewendet auf die Segmentierung (mitte) und das zugehörige Kantenbild (rechts).

20 Abbildung 9: Die Ergebnisse der Segmentierung des Knochenclusters, das mit fast global k-means segmentiert wurde (links) und das zugehörige Kantenbild (rechts). Auf Grund der vorliegenden Ergebnisse lässt sich feststellen, dass eine automatisierte Version des morphologischen Openings schwer zu realisieren ist. Einstellungen, die für Bild1 gute Resultate liefern, liefern für andere Bilddaten suboptimale Ergebnisse, da die Güte der Ergebnisse von der Dicke der Knochen, sowie den Fragmenten abhängt, die irrtümlich als Knochen geclustert werden. Eine manuell angepasste Version der Parameter liefert die in Abbildung 10 dargestellten Ergebnisse für die drei Bilder mit dem hier vorgestellten Verfahren. Abbildung 10: Zeigt die manuell nach Richtigkeit markierten Ergebnisse für Bild1 (links), Bild2 (Mitte) und Bild3 (rechts). Grün markierte Segmente bedeuten dabei, dass es sich bei den Segmenten auch in Wirklichkeit um Knochen handelt und rot markierte Segmente symbolisieren falsch als Knochen erkannte Segmente. Abschließend lässt sich also sagen, dass der k-means Algorithmus in Kopplung mit morphologischem Opening schon gute Resultate für die Segmentierung eines Bildes liefert. Die Parametereinstellungen für das morphologische Opening jedoch von Aufnahme zu Aufnahme variieren, um optimale Ergebnisse zu erhalten. Dies bildet zugleich den Schwachpunkt in einer vollautomatisierten Bildsegmentierung. Die Ergebnisse würden generell noch weiter verbessert werden, wenn die einzelnen Kanten der Knochen jeweils als Eingabe für ein active contours-verfahren genutzt werden würden.

Clustering Seminar für Statistik

Clustering Seminar für Statistik Clustering Markus Kalisch 03.12.2014 1 Ziel von Clustering Finde Gruppen, sodas Elemente innerhalb der gleichen Gruppe möglichst ähnlich sind und Elemente von verschiedenen Gruppen möglichst verschieden

Mehr

Seminar zum Thema Künstliche Intelligenz:

Seminar zum Thema Künstliche Intelligenz: Wolfgang Ginolas Seminar zum Thema Künstliche Intelligenz: Clusteranalyse Wolfgang Ginolas 11.5.2005 Wolfgang Ginolas 1 Beispiel Was ist eine Clusteranalyse Ein einfacher Algorithmus 2 bei verschieden

Mehr

Clusteranalyse. Clusteranalyse. Fragestellung und Aufgaben. Abgrenzung Clusteranalyse - Diskriminanzanalyse. Rohdatenmatrix und Distanzmatrix

Clusteranalyse. Clusteranalyse. Fragestellung und Aufgaben. Abgrenzung Clusteranalyse - Diskriminanzanalyse. Rohdatenmatrix und Distanzmatrix TECHNISCHE UNIVERSITÄT MÜNCHEN-WEIHENSTEPHAN MATHEMATIK UND STATISTIK INFORMATIONS- UND DOKUMENTATIONSZENTRUM R. Biometrische und Ökonometrische Methoden II SS 00 Fragestellung und Aufgaben Abgrenzung

Mehr

Clusteranalyse. Multivariate Datenanalyse. Prof. Dr. Dietmar Maringer. Abteilung für Quantitative Methoden, WWZ der Universität Basel

Clusteranalyse. Multivariate Datenanalyse. Prof. Dr. Dietmar Maringer. Abteilung für Quantitative Methoden, WWZ der Universität Basel Clusteranalyse Multivariate Datenanalyse Prof. Dr. Dietmar Maringer Abteilung für Quantitative Methoden, WWZ der Universität Basel Herbstsemester 2013 D Maringer: Datenanalyse Clusteranalyse (1) Ausgangssituation

Mehr

DPF Dynamic Partial distance Function

DPF Dynamic Partial distance Function DPF Dynamic Partial distance Function Vorgelegt von Sebastian Loose (MatrikelNR.: 169172), Computervisualistikstudent im 4. Semester. Hausarbeit zum Papier DPF A Perceptual Distance Function for Image

Mehr

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer Clusterstruktur kennen, verschiedene

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Wasserfall-Ansätze zur Bildsegmentierung

Wasserfall-Ansätze zur Bildsegmentierung Wasserfall-Ansätze zur Bildsegmentierung von Philipp Jester Seminar: Bildsegmentierung und Computer Vision 16.01.2006 Überblick 1. Problemstellung 2. Wiederholung: Wasserscheiden-Ansätze 3. Der Wasserfall-Ansatz

Mehr

Data Mining und Knowledge Discovery in Databases

Data Mining und Knowledge Discovery in Databases Data Mining und Knowledge Discovery in Databases Begriffsabgrenzungen... Phasen der KDD...3 3 Datenvorverarbeitung...4 3. Datenproblematik...4 3. Möglichkeiten der Datenvorverarbeitung...4 4 Data Mining

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Yacin Bessas yb1@informatik.uni-ulm.de Proseminar Neuronale Netze 1 Einleitung 1.1 Kurzüberblick Die Selbstorganisierenden Karten, auch Self-Organizing (Feature) Maps, Kohonen-

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014 Übersicht Stand der Kunst im Bilderverstehen: Klassifizieren und Suchen Was ist ein Bild in Rohform? Biologische

Mehr

Clustern. Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass:

Clustern. Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass: Text-Clustern 1 Clustern Teile nicht kategorisierte Beispiele in disjunkte Untermengen, so genannte Cluster, ein, so dass: Beispiele innerhalb eines Clusters sich sehr ähnlich Beispiele in verschiedenen

Mehr

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen 7. Clusteranalyse (= Häufungsanalyse; Clustering-Verfahren) wird der multivariaten Statistik zugeordnet Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut,

Mehr

Bildverarbeitung Herbstsemester 2012. Kanten und Ecken

Bildverarbeitung Herbstsemester 2012. Kanten und Ecken Bildverarbeitung Herbstsemester 01 Kanten und Ecken 1 Inhalt Einführung Kantendetektierung Gradientenbasierende Verfahren Verfahren basierend auf der zweiten Ableitung Eckpunkterkennung Harris Corner Detector

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

Exploration und Klassifikation von BigData

Exploration und Klassifikation von BigData Exploration und Klassifikation von BigData Inhalt Einführung Daten Data Mining: Vorbereitungen Clustering Konvexe Hülle Fragen Google: Riesige Datenmengen (2009: Prozessieren von 24 Petabytes pro Tag)

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Einführung in das Data Mining Clustering / Clusteranalyse

Einführung in das Data Mining Clustering / Clusteranalyse Einführung in das Data Mining Clustering / Clusteranalyse Sascha Szott Fachgebiet Informationssysteme HPI Potsdam 21. Mai 2008 Teil I Einführung Clustering / Clusteranalyse Ausgangspunkt: Menge O von Objekten

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Kompakte Graphmodelle handgezeichneter Bilder

Kompakte Graphmodelle handgezeichneter Bilder Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Authentizierung und Bilderkennung Inhaltsverzeichnis Seminar Mustererkennung WS 006/07 Autor: Stefan Lohs 1 Einleitung 1 Das graphische Modell.1

Mehr

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren Ziel Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren Einteilung (=Klassifikation) der Pixel eines multispektralen Datensatzes in eine endliche Anzahl von Klassen. Es sollen dabei versucht

Mehr

Eine Einführung in R: Hochdimensionale Daten: n << p Teil II

Eine Einführung in R: Hochdimensionale Daten: n << p Teil II Eine Einführung in R: Hochdimensionale Daten: n

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Einführung in neuronale Netze

Einführung in neuronale Netze Einführung in neuronale Netze Florian Wenzel Neurorobotik Institut für Informatik Humboldt-Universität zu Berlin 1. Mai 2012 1 / 20 Überblick 1 Motivation 2 Das Neuron 3 Aufbau des Netzes 4 Neuronale Netze

Mehr

Vorbereitungsaufgaben

Vorbereitungsaufgaben Praktikum Bildverarbeitung / Bildinformationstechnik Versuch BV 4 / BIT 3: Mustererkennung Paddy Gadegast, CV00, 160967 Alexander Opel, CV00, 16075 Gruppe 3 Otto-von-Guericke Universität Magdeburg Fakultät

Mehr

Elementare Bildverarbeitungsoperationen

Elementare Bildverarbeitungsoperationen 1 Elementare Bildverarbeitungsoperationen - Kantenerkennung - 1 Einführung 2 Gradientenverfahren 3 Laplace-Verfahren 4 Canny-Verfahren 5 Literatur 1 Einführung 2 1 Einführung Kantenerkennung basiert auf

Mehr

Seminarvortrag Bildverarbeitung im Projekt FAUST mit dem Schwerpunkt Skelettierung

Seminarvortrag Bildverarbeitung im Projekt FAUST mit dem Schwerpunkt Skelettierung Seminarvortrag Bildverarbeitung im Projekt FAUST mit dem Schwerpunkt Skelettierung Ingmar Gründel HAW-Hamburg 15. Dezember 2006 Ingmar Gründel Bildverarbeitung im Projekt FAUST mit dem Schwerpunkt Skelettierung

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Seminar Komplexe Objekte in Datenbanken

Seminar Komplexe Objekte in Datenbanken Seminar Komplexe Objekte in Datenbanken OPTICS: Ordering Points To Identify the Clustering Structure Lehrstuhl für Informatik IX - Univ.-Prof. Dr. Thomas Seidl, RWTH-Aachen http://www-i9.informatik.rwth-aachen.de

Mehr

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining Gliederung 1. Einführung 2. Grundlagen Data Mining Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining 3. Ausgewählte Methoden des Data

Mehr

Visualisierung hochdimensionaler Daten. Hauptseminar SS11 Michael Kircher

Visualisierung hochdimensionaler Daten. Hauptseminar SS11 Michael Kircher Hauptseminar SS11 Inhalt Einführung zu hochdimensionalen Daten Visualisierungsmöglichkeiten dimensionale Teilmengen dimensionale Schachtelung Achsenumgestaltung Algorithmen zur Dimensionsreduktion Zusammenfassung

Mehr

GMDS-Tagung 2006 Bioinformatik 1. Assessing the stability of unsupervised learning results in small-sample-size problems

GMDS-Tagung 2006 Bioinformatik 1. Assessing the stability of unsupervised learning results in small-sample-size problems GMDS-Tagung 2006 Bioinformatik 1 Assessing the stability of unsupervised learning results in small-sample-size problems Ulrich Möller Email: Ulrich.Moeller@hki-jena.de Leibniz Institute for Natural Product

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Segmentierung von Faserstrukturen in tomographischen Aufnahmen. Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern

Segmentierung von Faserstrukturen in tomographischen Aufnahmen. Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern Segmentierung von Faserstrukturen in tomographischen Aufnahmen Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern Oliver Wirjadi Frankfurt, 7.03.007 Bildquelle: Institut für

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

Mehr

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Präsentation Agenda I. Einführung 1. Motivation 2. Das Spiel Vier Gewinnt

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

Einführung in QtiPlot

Einführung in QtiPlot HUWagner und Julia Bek Einführung in QtiPlot 1/11 Einführung in QtiPlot Mit Bezug auf das Liebig-Lab Praktikum an der Ludwig-Maximilians-Universität München Bei Fragen und Fehlern: jubech@cup.lmu.de Inhaltsverzeichnis

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Kaplan-Meier-Schätzer

Kaplan-Meier-Schätzer Kaplan-Meier-Schätzer Ausgangssituation Zwei naive Ansätze zur Schätzung der Survivalfunktion Unverzerrte Schätzung der Survivalfunktion Der Kaplan-Meier-Schätzer Standardfehler und Konfidenzintervall

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

ChangePoint-Analysen - ein Überblick

ChangePoint-Analysen - ein Überblick ChangePoint-Analysen - ein Überblick Gliederung Motivation Anwendungsgebiete Chow Test Quandt-Andrews Test Fluktuations-Tests Binary Segmentation Recursive circular and binary segmentation algorithm Bayesscher

Mehr

Lineare Modelle in R: Einweg-Varianzanalyse

Lineare Modelle in R: Einweg-Varianzanalyse Lineare Modelle in R: Einweg-Varianzanalyse Achim Zeileis 2009-02-20 1 Datenaufbereitung Wie schon in der Vorlesung wollen wir hier zur Illustration der Einweg-Analyse die logarithmierten Ausgaben der

Mehr

Die Clusteranalyse 24.06.2009. Clusteranalyse. Grundidee Mögliche Anwendungsgebiete gg Vorgehensweise Beispiele. methodenlehre ll Clusteranalyse

Die Clusteranalyse 24.06.2009. Clusteranalyse. Grundidee Mögliche Anwendungsgebiete gg Vorgehensweise Beispiele. methodenlehre ll Clusteranalyse Clusteranalyse Thomas Schäfer SS 2009 1 Die Clusteranalyse Grundidee Mögliche Anwendungsgebiete gg Vorgehensweise Beispiele Thomas Schäfer SS 2009 2 1 Die Clusteranalyse Grundidee: Eine heterogene Gesamtheit

Mehr

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik Vorlesung Text und Data Mining S9 Text Clustering Hans Hermann Weber Univ. Erlangen, Informatik Document Clustering Überblick 1 Es gibt (sehr viele) verschiedene Verfahren für das Bilden von Gruppen Bei

Mehr

Was ist eine Clusteranalyse, wann und wie wird sie angewendet?

Was ist eine Clusteranalyse, wann und wie wird sie angewendet? Autor: Dr. Ralf Gutfleisch, Stadt Frankfurt a. M., Bürgeramt, Statistik und Wahlen Was ist eine Clusteranalyse, wann und wie wird sie angewendet? Fragestellung Drei Fragen stehen im Vordergrund dieser

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Dokumentation Datamining

Dokumentation Datamining Hochschule Wismar University of Applied Sciences Technology, Business and Design Fakultät für Ingenieurwissenschaften, Bereich EuI Dokumentation Datamining Eingereicht am: 13. Mai 2012 von: Karsten Diepelt

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

6 Conways Chequerboard-Armee

6 Conways Chequerboard-Armee 6 Conways Chequerboard-Armee Spiele gehören zu den interessantesten Schöpfungen des menschlichen Geistes und die Analyse ihrer Struktur ist voller Abenteuer und Überraschungen. James R. Newman Es ist sehr

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse Tobias Scheffer Thomas Vanck Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

9th NEMO-SpectroNet Collaboration Forum

9th NEMO-SpectroNet Collaboration Forum 9th NEMO-SpectroNet Collaboration Forum Jena, 15.12.2010 Color and Multi Spectral Imaging An Overview Dr. Ing. Thomas Fahlbusch, PhotonicNet GmbH, Hannover Farbaufnahme 1-Chipkamera Bayer Farbmosaik Chips

Mehr

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme Studienprojekt Invisible Web (Dipl.-Inform. Gudrun Fischer - WS 2003/04) Blockseminar

Mehr

3 GRAFIKEN, BILDER, ZEICHNUNGSOBJEKTE

3 GRAFIKEN, BILDER, ZEICHNUNGSOBJEKTE 3 GRAFIKEN, BILDER, ZEICHNUNGSOBJEKTE Grafiken, Bilder und Zeichnungsobjekte können in einer Präsentation mehrere Funktionen haben: Sie können eine Präsentation anschaulicher machen, können das Vorgeführte

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Abiturvorbereitung Mathematik -Dierentialrechnungc Max. Hoffmann

Abiturvorbereitung Mathematik -Dierentialrechnungc Max. Hoffmann Abiturvorbereitung Mathematik -Dierentialrechnungc Max Hoffmann 1 Ganzrationale Funktionen Im Folgenden wollen wir uns mit ganzrationale Funktionen und der Untersuchung solcher beschäftigen. Dabei werden

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich

Mehr

Algorithms for Regression and Classification

Algorithms for Regression and Classification Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik

Mehr

Ein Algorithmus für die

Ein Algorithmus für die VGG 1 Ein Algorithmus für die Visualisierung gerichteter Graphen in der Ebene (2D) Seminar Graph Drawing SS 2004 bei Prof. Bischof (Lehrstuhl für Hochleistungsrechnen) Gliederung VGG 2 Einleitung Motivation

Mehr

Clustering mit dem K-Means-Algorithmus (Ein Experiment)

Clustering mit dem K-Means-Algorithmus (Ein Experiment) Clustering mit dem K-Means- (Ein Experiment) Andreas Runk 7. März 2013 Index 1 2 3 4 5 Andreas Runk Clustering mit dem K-Means- 2/40 Ziele: des K-Means Finde/erstelle geeignetes Testcorpus möglichst gute

Mehr

Smart-Grid-Tools Beschleunigen Sie die Erstellung von Bauteilen ZUSAMMENFASSUNG. IM WORKSHOP Tip #14. Die Herausforderung, große Bauteile zu erstellen

Smart-Grid-Tools Beschleunigen Sie die Erstellung von Bauteilen ZUSAMMENFASSUNG. IM WORKSHOP Tip #14. Die Herausforderung, große Bauteile zu erstellen IM WORKSHOP Tip #14 Smart-Grid-Tools Beschleunigen Sie die Erstellung von Bauteilen ZUSAMMENFASSUNG Mai 2007 Autor: Phil Loughhead Die Erstellung von Bauteilen ist ein fundamentaler Bestandteil des Design-

Mehr

Teil II Optimierung. Peter Buchholz 2016. Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung

Teil II Optimierung. Peter Buchholz 2016. Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung Teil II Optimierung Gliederung 9 Einführung, Klassifizierung und Grundlagen 10 Lineare Optimierung 11 Ganzzahlige und kombinatorische Optimierung 12 Dynamische Optimierung Literatur: zu 10-12: Neumann,

Mehr

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung.

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung. Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung. Die heutige Sitzung dient dem ersten Kennenlernen von MATLAB. Wir wollen MATLAB zuerst

Mehr

Installation von Updates

Installation von Updates Installation von Updates In unregelmässigen Abständen erscheinen Aktualisierungen zu WinCard Pro, entweder weil kleinere Verbesserungen realisiert bzw. Fehler der bestehenden Version behoben wurden (neues

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Vorteile globaler Optimierungsstrategien bei der unüberwachten Auswertung medizinischer Bilddaten mittels Clusteranalyse am Beispiel des fmri

Vorteile globaler Optimierungsstrategien bei der unüberwachten Auswertung medizinischer Bilddaten mittels Clusteranalyse am Beispiel des fmri Vorteile globaler Optimierungsstrategien bei der unüberwachten Auswertung medizinischer Bilddaten mittels Clusteranalyse am Beispiel des fmri Ulrich Möller, *, Marc Ligges *, Carolin Grünling *, Petra

Mehr

SimpliMed Formulardesigner Anleitung für die SEPA-Umstellung

SimpliMed Formulardesigner Anleitung für die SEPA-Umstellung SimpliMed Formulardesigner Anleitung für die SEPA-Umstellung www.simplimed.de Dieses Dokument erhebt keinen Anspruch auf Vollständigkeit oder Korrektheit. Seite: 2 1. Der Formulardesigner Der in SimpliMed23

Mehr

Data Mining - Clustering. Sven Elvers

Data Mining - Clustering. Sven Elvers Agenda Data Mining Clustering Aktuelle Arbeiten Thesis Outline 2 Agenda Data Mining Clustering Aktuelle Arbeiten Thesis Outline 3 Data Mining Entdecken versteckter Informationen, Muster und Zusammenhänge

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung zufälliger Graphen und Bayes-Netze Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache

Mehr

Einführung in QtiPlot

Einführung in QtiPlot HUWagner und Julia Bek Einführung in QtiPlot 30. Juni 2011 1/13 Einführung in QtiPlot Mit Bezug auf das Liebig-Lab Praktikum an der Ludwig-Maximilians-Universität München Inhaltsverzeichnis 1 Programmeinführung

Mehr

Extrema von Funktionen in zwei Variablen

Extrema von Funktionen in zwei Variablen Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik für Ökonomen 1 Dr. Thomas Zehrt Extrema von Funktionen in zwei Variablen Literatur: Gauglhofer, M. und Müller, H.: Mathematik für Ökonomen,

Mehr

Hauptseminar Autofokus

Hauptseminar Autofokus Hauptseminar Autofokus Hans Dichtl 30. Januar 2007 Wann ist ein Bild fokussiert? Wann ist ein Bild fokusiert? Welche mathematischen Modelle stehen uns zur Verfügung? Wie wird das elektronisch und mechanisch

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Kapitel 9 Kombination von Vektor- und Rasterdaten Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2011/12 Ludwig-Maximilians-Universität

Mehr

Zuschauer beim Berlin-Marathon

Zuschauer beim Berlin-Marathon Zuschauer beim Berlin-Marathon Stefan Hougardy, Stefan Kirchner und Mariano Zelke Jedes Computerprogramm, sei es ein Betriebssystem, eine Textverarbeitung oder ein Computerspiel, ist aus einer Vielzahl

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Computergrafik Bilder, Grafiken, Zeichnungen etc., die mithilfe von Computern hergestellt oder bearbeitet werden, bezeichnet man allgemein als Computergrafiken. Früher wurde streng zwischen Computergrafik

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Spamschutz bei TYPO3. von Bernd Warken bei Fa. Netcos AG

Spamschutz bei TYPO3. von Bernd Warken bei Fa. Netcos AG Spamschutz bei TYPO3 von Bernd Warken bei Fa. Netcos AG Kapitel 0: Einleitung 3 0.1 Vorwort 3 0.2 Lizenz 3 Kapitel 1: Aktivierung und Konfiguration 4 1.1 config.spamprotectemailaddresses 4 1.2 config.spamprotectemailaddresses_atsubst

Mehr

Preisaktualisierungen via BC Pro-Catalogue

Preisaktualisierungen via BC Pro-Catalogue Preisaktualisierungen via BC Pro-Catalogue 1. Allgemein Seite 1 2. Anwendungsfall : Lieferant mit im System bereits vorhandenen Katalog Seite 2-3 3. Anwendungsfall : Neuer Lieferant Seite 4-8 1. Allgemein

Mehr

Artikel eindeutig mit Barcodes identifizieren und verfolgen

Artikel eindeutig mit Barcodes identifizieren und verfolgen Artikel eindeutig mit Barcodes identifizieren und verfolgen Einführung Um die Vielfalt an Anforderungen zu erfüllen haben wir drei verschiedene Varianten zur Erfassung von Barcodes implementiert. Die drei

Mehr