Inhaltsverzeichnis

Werbung
Knowledge_Discovery_in_Datenbanken
Fallstudienarbeit
Hochschule für Oekonomie & Management
Münsterwarning.png?Münster? gehört nicht zu den möglichen Werten dieses Attributs
Standort:
(München, Marl, Köln, Hamburg, Frankfurt a. M., Essen, Düsseldorf, Duisburg,
Dortmund, Bonn, Bremen, Berlin, Neuss, Nürnberg, Siegen, Stuttgart).
Studiengang:
Bachelor Wirtschaftsinformatik
Veranstaltung:
Fallstudie / Wissenschaftliches Arbeiten
Betreuer:
Prof._Dr._Uwe_Kern
Typ:
Fallstudienarbeit
Themengebiet:
Machine Learning
Autor(en):
Pascal Tombrock, Daniel Kleine Schlarmann, Matthias Efker
Studienzeitmodell:
Abendstudium
Semesterbezeichnung: SS16
Studiensemester:
2
Bearbeitungsstatus:
begutachtet
Prüfungstermin:
11.6.2016
Abgabetermin:
5.6.2016
Hochschule:
Inhaltsverzeichnis
• 1 Abkürzungsverzeichnis
• 2 Abbildungsverzeichnis
• 3 Tabellenverzeichnis
• 4 Einleitung
♦ 4.1 Vorstellung des Themas
♦ 4.2 Zielsetzung
♦ 4.3 Methodischer Aufbau
• 5 Grundlagen
♦ 5.1 Datenbanksystem
◊ 5.1.1 Datenbank
◊ 5.1.2 Datenbankmanagementsystem
⋅ 5.1.2.1 Externe Ebene
⋅ 5.1.2.2 Konzeptionelle Ebene
⋅ 5.1.2.3 Interne Ebene
◊ 5.1.3 Datenbanksprache
⋅ 5.1.3.1 Data Definition
Language (DDL)
⋅ 5.1.3.2 Data Manipulation
Language (DML)
⋅ 5.1.3.3 Data Control Language
(DCL)
♦ 5.2 Statistik
◊ 5.2.1 deskriptive Statistik
◊ 5.2.2 induktive Statistik
◊ 5.2.3 explorative Statistik
♦ 5.3 Data Warehouse
• 6 Knowledge Discovery in Datenbanken
♦ 6.1 Ziele des KDD
♦ 6.2 Prozess des KDD
Inhaltsverzeichnis
1
Knowledge_Discovery_in_Datenbanken
◊ 6.2.1 Datenauswahl
◊ 6.2.2 Vorverarbeitung
◊ 6.2.3 Transformation
◊ 6.2.4 Data Mining
◊ 6.2.5 Interpretation
♦ 6.3 Methoden des KDD
◊ 6.3.1 Generalisierung
◊ 6.3.2 Clustering
⋅ 6.3.2.1 Clusteranalyse mit
multivariaten statistischen
Verfahren
⋅ 6.3.2.2 Clustering mit künstlich
neuronalen Netzen
◊ 6.3.3 Klassifikation
◊ 6.3.4 Assoziationsanalyse
◊ 6.3.5 Regressionsanalyse
♦ 6.4 Anwendungsbeispiele
◊ 6.4.1 Datenschutz
◊ 6.4.2 Geologie
◊ 6.4.3 Marketing
◊ 6.4.4 Geldwäsche
• 7 Schlussbetrachtung
♦ 7.1 Zusammenfassung
♦ 7.2 Ausblick
• 8 Anhang
♦ 8.1 Fußnoten
♦ 8.2 Literatur- und Quellenverzeichnis
1 Abkürzungsverzeichnis
Abkürzung
Bedeutung
DB
Datenbank
DBMS
Datenbankmanagementsystem
KDD
Knowledge Discovery in Datenbanken
SQL
Structured Query Language
DDL
Data Definition Language
DML
Data Manipulation Language
DCL
Data Control Language
DW
Data Warehouse
2 Abbildungsverzeichnis
Abb.-Nr.
5-1
Abbildung
Aufbau eines Datenbanksystems
1 Abkürzungsverzeichnis
2
Knowledge_Discovery_in_Datenbanken
5-2
Erklärung Stichprobe und
Grundgesamtheit
5-3
Statistik Verfahren
5-4
Architektur eines Data Warehouses
6-1
Übersicht über den KDD Prozess
6-2
Übersicht über Data Mining Aufgaben
6-3
Übersicht über die Hauptmethoden des
KDD
6-4
Algorithmus FIGR
6-5
Hierarchische Clusteranalyse
6-6
Partitionierende Clusteranalyse
3 Tabellenverzeichnis
Tabelle Nr.
6.1
Beschreibung
Beispiel für die Klassifikation von
Daten
4 Einleitung
4.1 Vorstellung des Themas
Durch kommerzielle Geräte und wissenschaftliche Instrumente, wie zum Beispiel Scanner, Kassen und
Teleskope, werden immer größere Datenmengen erzeugt. Diese Daten enthalten potentielles Wissen, welches die
menschliche Kapazität bei Weitem übersteigt.
Hier kommt das Knowledge Discovery in Datenbanken (KDD)(engl. knowledge discovery in databases) zum
Einsatz. Das Knowledge Discovery in Datenbanken hat die Motivation das potentielle Wissen aus diesen großen
Datenmengen herauszufiltern. Knowledge Discovery in Datenbanken arbeitet hierfür an der Schnittstelle von
Statistik und Datenbanksystemen. Außerdem ist Knowledge Discovery ein Teilbereich des Machine Learning. [1]
"Knowledge Discovery in Datenbanken ist der Prozess der (semi-) automatischen Extraktion von Wissen aus
Datenbanken, das
-gültig
-bisher unbekannt
-potentiell nützlich für eine gegebene Anwendung ist.? [2].
4.2 Zielsetzung
Das Ziel dieser wissenschaftlichen Arbeit ist Wirtschaftsinformatik-Studenten das Themengebiet der KDD näher
zu bringen, ohne das der Student größeres Wissen in den Bereichen der Grundlagen hat.
2 Abbildungsverzeichnis
3
Knowledge_Discovery_in_Datenbanken
4.3 Methodischer Aufbau
Zunächst werden die Grundlagen der Statistik und der Datenbanksysteme für den Bereich der Knowledge
Discovery in Datenbanken erklärt. Nach den Grundlagen wird dann auf die spezifischen Details des Themas
eingegangen und die Ziele und Methoden des KDD erläutert.
Im späteren Verlauf werden die einzelnen Schritte des Prozessablaufes von Knowledge Discovery in
Datenbanken erläutert. Hier wird beschrieben, was in welchen Prozessen geschieht.
Nachdem der grundlegende Prozess erklärt wurde, wird aufgezeigt, welche Methoden in der KDD verwendet
werden. Dies wird durch einige Beispiele aus der Praxis verdeutlicht.
In der Schlussbetrachtung wird ein Fazit gezogen und einige Gründe aufgeführt, warum dieser Bereich in der
Zukunft weiter an Bedeutung gewinnt.
5 Grundlagen
5.1 Datenbanksystem
Ein Datenbanksystem ist ein System zur elektronischen Datenverwaltung. Die Hauptaufgabe ist es, große
Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern. Dies wird sowohl persistente (dauerhafte)
Speicherung, als auch die konsistente (korrekte) Speicherung genannt.
Datenbanksysteme bestehen aus einer Datenbank und einem Datenbankmanagementsystem.
[3]
Abbildung 5-1: Aufbau eines Datenbanksystems
5.1.1 Datenbank
Die Datenbank (DB) ist eine Sammlung aller vorhandenen Daten mit deren Beschreibungen bzw. Attributen.
4.3 Methodischer Aufbau
4
Knowledge_Discovery_in_Datenbanken
5.1.2 Datenbankmanagementsystem
Das Datenbankmanagementsystem (DBMS) ist ein Programm zur Verwaltung der Datenbank. Mit diesem
Programm wird der Zugriff auf die Daten kontrolliert und die vorhandenen Daten können ergänzt bzw. geändert
werden. Datenbanksysteme haben drei Abstraktionsebenen. Es gibt die externe Ebene, die konzeptionelle Ebene
und die interne Ebene. Dies wird auch das ANSI-3-Ebenenmodell genannt. [4]
5.1.2.1 Externe Ebene
Die externe Ebene erlaubt es verschiedenen Benutzern oder Benutzergruppen eine unterschiedliche Ansicht auf
den Datenbestand zu ermöglichen. Nicht jeder Benutzer darf oder will alle Daten sehen.
Zum Beispiel:
Maskenlayouts
Listen
Formulare
5.1.2.2 Konzeptionelle Ebene
Die konzeptionelle Ebene spezifiziert die logische Gesamtsicht aller Daten. Die Gesamtsicht beschreibt die
Beziehungen und Objekte zwischen Daten. Ihr Ziel ist es, eine vollständig redundanzfreie Speicherung aller
Daten in der Datenbank sicherzustellen. Die Daten werden in der dritten Normalisierungsform nach dem
relationalen Datenbankschema gespeichert.
5.1.2.3 Interne Ebene
Die interne Ebene beschäftigt sich mit der physikalischen Implementierung des Konzeptionellen Schemas.
Informationen über die Datenstrukturen auf dem physikalischen Speicher und Zugriffsmechanismen sind ein
Bestandteil der internen Ebene. Deshalb wird die Interne Ebene auch physische Ebene genannt. Außerdem
werden oft Basis-Tabellen in nicht normalisierter Form zur Verfügung gestellt um den Zugriff auf die Daten zu
beschleunigen. Performance intensive Aggregationstabellen werden meist über Nacht berechnet und in
zusätzlichen Tabellen gespeichert. So kann der Anwender die Ergebnisse tagsüber sehr schnell abrufen.
5.1.3 Datenbanksprache
Als Relationale Datenbanksprache hat sich im Industriestandard die Sprache SQL durchgesetzt. SQL setzt sich
aus drei Teilbereichen zusammen:
5.1.3.1 Data Definition Language (DDL)
Die DDL ist der Teil der Sprache von SQL um Datenbanken, Tabellen, Views, etc. zu erstellen (CREATE),
Strukturänderungen vorzunehmen (ALTER) oder Datenbanken oder Datenbankobjekte zu löschen (DROP).
5.1.2 Datenbankmanagementsystem
5
Knowledge_Discovery_in_Datenbanken
5.1.3.2 Data Manipulation Language (DML)
Die DML ist der Teil der Sprache SQL der es möglich macht Datensätze einzufügen (INSERT), zu ändern
(UPDATE), zu löschen (DELETE) oder Abzufragen (SELECT).
5.1.3.3 Data Control Language (DCL)
Die DCL ist der Teil der Sprache von SQL um Zugriffsrechte zu vergeben (GRANT) oder zu entziehen
(REVOKE).[5] [6] [7]
5.2 Statistik
Die Statistik ist in drei Grundaufgaben unterteilt. Die deskriptive Statistik, induktive Statistik und die explorative
Statistik.
5.2.1 deskriptive Statistik
Die deskriptive Statistik wird auch beschreibende Statistik genannt. Die vorliegenden Daten werden beschrieben
und graphisch in Tabellen, graphischen Darstellungen oder Kennzahlen komprimiert. Diese enthalten Kenngrößen
wie Mittelwert und Streuung sowie Diagramme und Verlaufskurven. Mit dieser Statistik können leicht
inkonsistente Daten herausgefiltert werden.
Die deskriptive Statistik arbeitet mit folgender Fragestellung: Wie kann man eine Verteilung eines Merkmals
beschreiben?
5.2.2 induktive Statistik
Die induktive Statistik versucht aus einem kleinen Teil der Datenmasse Eigenschaften der Grundgesamtheit, über
die man eine Aussage treffen möchte, festzustellen. Dieses wird Mithilfe stochastischer Modelle analysiert und
umgesetzt.
Die induktive Statistik arbeitet mit folgender Fragestellung: Wie kann aus einer Stichprobe eine Eigenschaft für
alle zutreffenden Daten der Grundgesamtheit festgestellt werden?
5.1.3.2 Data Manipulation Language (DML)
6
Knowledge_Discovery_in_Datenbanken
Abbildung 5-2: Erklärung Stichprobe und Grundgesamtheit
5.2.3 explorative Statistik
Die explorative Statistik ist eine Zwischenform der deskriptiven und induktiven Statistik. Diese versucht mittels
deskriptiver Verfahren und induktiver Testmethoden mögliche Zusammenhänge oder Unterschiede zwischen
Daten zu erkennen. Die gefundenen Ergebnisse werden Hypothesen genannt.
Die explorative Statistik arbeitet mit folgender Fragestellung: Was ist an einer Verteilung eines Merkmals
bemerkenswert oder ungewöhnlich? [8]
5.2.2 induktive Statistik
7
Knowledge_Discovery_in_Datenbanken
Abbildung 5-3: Statistik verfahren
5.3 Data Warehouse
Ein Data Warehouse (DW) ist eine dauerhafte, integrierte Sammlung von Daten aus unterschiedlichen Quellen
zum Zweck der Analyse bzw. Entscheidungsunterstützung. Im Folgendem werden nur die wichtigsten Konzepte
aus der Sicht des Data Mining / Knowledge Discovery in Datenbanken aufgeführt. Für eine umfassendere
Einführung in das Thema wird auf [Fernandez & Schneider 1996] verwiesen. [9]
5.2.3 explorative Statistik
8
Knowledge_Discovery_in_Datenbanken
Abbildung 5-4: Architektur eines Data Warehouse [9]
In Abbildung 5-4 wird die typische Architektur eines Data Warehouse dargestellt. Das Data Warehouse sammelt
aus verschiedenen operationaler Datenbanksystemen, die z.B. dem Einkauf, der Auftragsabwicklung und dem
Marketing dienen, die Daten. Durch den aufwendigen Prozess der Integration dieser operationalen
Datenbanksysteme entstehen Metadaten zur Beschreibung des Data Warehouses. Aus dem Data Warehouse
werden sogenannte Data Marts extrahiert, die bestimmte Teilsichten/Auszüge als Kopie der eigentlichen Daten
repräsentieren. Das Data Warehouse dient zur Bearbeitung von Ad hoc Anfragen, zum Online Analytical
Processing und zum Data Mining und ist damit ein Grundstein für das Data-Mining. [9]
6 Knowledge Discovery in Datenbanken
6.1 Ziele des KDD
Ziel des KDD ist es, selbständig entscheidungsrelevante, aber bisher unbekannte Zusammenhänge und
Verknüpfungen in den Daten großer Datenmengen zu entdecken und dem Analysten oder dem Anwender in
übersichtlicher Form zu präsentieren. Diese gewonnen Zusammenhänge erbringen einen Wissensgewinn.
Eine zentrale Aussage ist, dass es sich um einen nichttrivialen Prozess (non-trivial process) handelt, dessen Ziel es
ist, Muster (patterns) aus großen Datenbeständen (data) zu extrahieren. Diese Muster sollen zudem die
Eigenschaften besitzen, dass sie für einen großen Teil des Datenbestandes gültig sind (valid) und bislang
unbekannte (novel), potenziell nützliche (potentially useful) und leicht verständliche (ultimately understandable)
Zusammenhänge innerhalb des Datenbestandes beschreiben [10].
5.3 Data Warehouse
9
Knowledge_Discovery_in_Datenbanken
6.2 Prozess des KDD
Abbildung 6-1: Übersicht über den KDD Prozess
6.2.1 Datenauswahl
Im ersten Schritt geht es darum, ein Verständnis der Anwendung und dem bereits bekannten Anwendungswissen
zu gewinnen. Darauf aufbauend wird das Ziel definiert um das bis jetzt unbekannte Wissen zu erreichen.
Außerdem muss das angestrebte Wissen einen nützlichen Mehrwert für die Anwendung haben.
Im ersten Prozessschritt werden die Daten ausgewählt, in denen das Wissen gesucht werden soll. Im einfachsten
Fall greift man dafür auf eine bestehende Datenbank zu. Innerhalb der Datenbank können dann verschiedene
Tabellen selektiert werden. Wenn keine Datenbank zur Verfügung steht, müssen die Daten bei der Datenauswahl
manuell erfasst werden. Dies kann zum Beispiel durch Umfragen oder andere ähnliche Verfahren durchgeführt
werden.
Nach der Datenerfassung ist die ordnungsgemäße Verwaltung der Daten von Vorteil. Dies wird häufig durch eine
speziell für das Data Mining angelegte Datei umgesetzt. Da die meisten Daten in kommerziellen
Datenbanksystemen verwaltet werden, entsteht dadurch jedoch Redundanz. Es bietet dann jedoch in allen
6.2 Prozess des KDD
10
Knowledge_Discovery_in_Datenbanken
Prozessschritten Funktionalitäten, welche gewinnbringend eingesetzt werden können. Beispielsweise können
Teilmengen einfach und effizient selektiert werden. ?Es wird deshalb zunehmend eine Integration des KDD mit
kommerziellen Datenbanksystemen gewünscht"[11].
6.2.2 Vorverarbeitung
Das Ziel in diesem Prozessschritt ist es die benötigten Daten zu integrieren und Konsistenz zu erzeugen. Dabei
werden auch fehlende Attribute in den Daten ausgefüllt, sodass keine Lücken den Data Mining Prozess
verfälschen. Der Vorverarbeitungsprozess, oder auch Transformationsprozess, erzeugt meistens den größten
Aufwand innerhalb eines KDD Prozesses. Dieser Aufwand kann theoretisch durch den Einsatz eines Data
Warehouses gesenkt werden, welches ?eine dauerhafte, integrierte Sammlung von Daten aus unterschiedlichen
Quellen zum Zweck der Analyse bzw. Entscheidungsunterstützung? [12] ist.
Wenn Daten auf unterschiedliche Weisen aus unterschiedlichen Quellen gewonnen werden, müssen diese
integriert werden, da verschiedene Namen für dieselben Attribute verwendet worden sein könnten. Außerdem
müssen Inkonsistenzen wie verschiedene Werte desselben Attributs oder Schreibfehler aufgelöst werden.
Durch eine Umfrage kann auch ein sogenanntes Rauschen entstehen, wobei ein zufälliges Muster die eigentlichen
Muster überlagern kann. Solch ein Rauschen entsteht meist durch Auftreten von Messfehlern oder absichtlich
nicht beantworteten Fragen. Je nach verwendeten Algorithmus müssen fehlende Attributwerte auch genauer
spezifiziert werden. So kann dann zum Beispiel eine Unterscheidung zwischen ?Messung nicht durchgeführt? und
?Messfehler? erfolgen.
6.2.3 Transformation
In diesem Schritt werden die vorverarbeiteten Daten, in eine für das Ziel des Knowledge Discovery in
Datenbanken geeignete Repräsentation, transformiert. Dies bedeutet, dass nicht alle bekannten Attribute der
Daten auch für den Data Mining Prozess relevant sind. Eine der typischen Transformationen ist die Attribut
Selektion.
Obwohl viele Algorithmen schon eine eigene Auswahl von Attributen vornehmen, können zu viele Attribute die
Effizienz und das Ergebnis des Data Minings beeinflussen. Die Attribut Selektion ist also von Vorteil, wenn
genügend Anwendungswissen über die Bedeutung der Attribute und der gegebenen Data Mining Aufgabe
vorhanden ist. Dann kann eine manuelle Attribut Selektion durchgeführt werden. Alternativ muss eine
automatische Attribut Selektion erfolgen.
Ein vollständiger Algorithmus, der alle Teilmengen der Menge der Attribute betrachtet, ist zu aufwendig.
Stattdessen werden heuristische Algorithmen eingesetzt. Es wird dabei eher von der leeren Menge
beziehungsweise von der Gesamtmenge der Attribute ausgegangen, um das Attribut hinzuzufügen oder zu
entfernen, welches für die resultierende Attributmenge die beste Bewertung in Bezug auf die gestellte Data
Mining Aufgabe erreicht.
Manche Data Mining Algorithmen könne keine numerischen Attribute sondern nur kategorische Attribute
verarbeiten. Dies erfordert dann eine Diskretisierung, sprich eine Transformation von numerischen Attributen in
kategorische Attribute. Einfache Verfahren teilen den Wertebereich einfach in Intervalle von gleicher Länge oder
Häufigkeit von enthaltenen Attributen. Komplexere Verfahren berücksichtigen Klassenzugehörigkeiten und
bilden Intervalle nach Informationsgewinn in Bezug auf die Klassenzugehörigkeit. Dabei werden Attributwerte
von Objekten derselben Klasse möglichst demselben Intervall zugeordnet.
6.2.1 Datenauswahl
11
Knowledge_Discovery_in_Datenbanken
6.2.4 Data Mining
?Data Mining ist die Anwendung effizienter Algorithmen, die die in einer Datenbank enthaltenen gültigen Muster
finden? [13].
Mittlerweile werden die beiden Begriffe Data Mining und Knowledge Discovery in Datenbanken jedoch
weitgehend synonym verwendet [14].
Data Mining steht dabei als Sammelbegriff für verschiedene rechnergestützte Verfahren, die zur Analyse großer
Datenbestände eingesetzt werden. Die Wissenschaftler Decker und Focardi definieren den Begriff Data Mining
folgendermaßen: ?Data Mining is a problem-solving methodology that finds a logical or mathematical
description, eventually of a complex nature, of patterns and regularities in a set of data. [15]? Data Mining zielt
demnach darauf ab, Muster in einer Datenbasis zu finden, die mithilfe von logischen oder mathematischen
Beschreibungen dargestellt werden können. Data Mining bietet im Gegensatz zu traditionellen statistischen
Verfahren, die zur Überprüfung vorgegebener Hypothesen herangezogen werden, die Möglichkeit der
automatischen Generierung neuer Hypothesen.
Dafür wird zuerst die relevante Data Mining Aufgabe identifiziert. Die wichtigsten Aufgaben werden in der
folgenden Abbildung visualisiert und im Folgenden kurz erläutert.
Abbildung 6-2: Übersicht über Data Mining Aufgaben
• Clustering beziehungsweise das Entdecken von Ausreißern verfolgt das Ziel, die Datenbank in
Gruppen von Objekten zu unterteilen. Eine Gruppe mit Objekten, die sich möglichst ähnlich sind und
andere Gruppen mit Objekten, die sich möglichst unähnlich sind. Dabei gibt es Ausreißer welche sich zu
keiner Gruppe zuordnen lassen.
6.2.4 Data Mining
12
Knowledge_Discovery_in_Datenbanken
• Die Klassifikation gibt Trainingsobjekte mit Attributwerten vor, welche bereits einer Klasse zugeordnet
sind. Darüber wird dann eine Funktion erzeugt um die zukünftigen Objekte aufgrund ihrer Attributwerte
in Klassen zu unterteilen.
• Ziel der Generalisierung ist es, eine Menge von Daten möglichst kompakt zu beschreiben, indem die
Attributwerte generalisiert werden. Somit wird gleichzeitig auch die Zahl der Datensätze reduziert.
Aufgrund des Anwendungsziels und des Typs der Daten wird nachfolgend ein passender Algorithmus
ausgewählt. Dabei erfordern Daten mit kategorischen Attributen einen anderen Algorithmus als Daten mit
numerischen Attributen.
6.2.5 Interpretation
Im letzten Schritt des Knowledge Discovery in Datenbanken werden die gefundenen Muster geeignet präsentiert.
Viele gefundene Muster oder sehr viele eingesetzte Attribute erschweren dieses Vorhaben. Häufig ist dann eine
Visualisierung hilfreicher als eine textuelle Ausgabe. Wenn die Darstellung der gefundenen Muster optimiert ist,
werden die Muster von einem Experten evaluiert. Diesen Vorgang bearbeitet er mit seinem vorhandenen
Anwendungswissen in Bezug auf die anfangs definierten Ziele.
Sind laut Experte die Ziele noch nicht alle erreicht, muss der Knowledge Discovery Prozess ein weiteres Mal
durchlaufen werden. Dabei kann ein beliebiger Einstiegspunkt gewählt werden. Beispielsweise kann der Data
Mining Prozess mit dem gleichen Algorithmus und anderen Parametern durchgeführt werden.
Sobald der Experte die Evaluation für erfolgreich erklärt, wird das gefundene Wissen dokumentiert. Das neu
erreichte Wissen kann für zukünftige Knowledge Discovery Prozesse als neue Grundlage dienen, um weiteres
Wissen zu erarbeiten.
6.3 Methoden des KDD
Die verwendeten Methoden beziehen sich auf den Prozess des Data Mining im Ablauf des KDD. Die Grundlagen
wurden bereits im Bereich Data Mining angeschnitten und werden unter Anderem in diesem Kapitel noch einmal
aufgegriffen und erweitert. Das Hauptziel dieser Methoden ist unter anderem, Muster in Daten zu erkennen.
Hierbei werden ?eine Reihe von Algorithmen angewendet .., die oftmals Ihren Ursprung in der Mathematik und in
der Statistik haben? [16]. Nachfolgend werden hierzu gängige Methoden aufgeführt und erläutert. Eine Übersicht
über die Hauptmethoden ist in Abbildung 6-3 dargestellt.
Abbildung 6-3: Übersicht über die Hauptmethoden des KDD
6.2.5 Interpretation
13
Knowledge_Discovery_in_Datenbanken
6.3.1 Generalisierung
Das Hauptziel ist, wie beschrieben, die Analyse von Daten und das Erkennen von Mustern. Die Generalisierung
dient in diesem Fall dem Finden von einer kompakten Datenmenge aus allen Informationen. Unterteilt werden
kann die Generalisierung in zwei Teilbereiche. Zum Einen, die manuelle Generalisierung, bei der die Daten in der
Datenbank immer weiter eingeschränkt werden. Zum Anderen gibt es die automatische Generalisierung, bei der
einem Algorithmus spezifische Parameter mitgegeben werden. Anschließend analysiert und sortiert der
Algorithmus mittels der Parameter die Daten und führt die erforderlichen Schritte der Generalisierung
automatisch aus.
Im nachfolgenden Teil wird der Algorithmus FIGR für die automatische Generalisierung einmal aufgeführt und
dann weitergehend erläutert:
Abbildung 6-4: Algorithmus FIGR[1]
Zuerst werden die Tupel aus R in die Matrix M transformiert. Im weiteren Ablauf des Algorithmus wird jeder
6.3.1 Generalisierung
14
Knowledge_Discovery_in_Datenbanken
Attributwert, in allen Dimensionen, auf die tatsächlich auftretende Anzahl geprüft. Sobald hierbei die Anzahl T
überschritten wird, werden die Attributwerte auf der jeweiligen Dimension generalisiert, also in einer
Konzeptebene zusammengefasst. Nun wird eine neue Matrix Gen erstellt, die für jeden generalisierten Wert einen
entsprechenden Eintrag enthält. Der zweite Durchlauf besteht aus der Transformation von M in die Matrix Gen.
Für jeden Wert von M wird hier die zugehörige Zelle in Gen inkrementiert.[17]
Der oben genannte Algorithmus FIGR arbeitet also entsprechend der Methodik, dass die Anzahl der Werte
gezählt und dann anhand einfacher Zahlen sortiert wird. Hierdurch wird die Gesamtzahl der Werte minimiert und
somit eine entsprechend kompaktere Datenmenge erzeugt.
6.3.2 Clustering
Clustering umschreibt eine Methode, in der Zusammenhänge zwischen verschiedenen Daten hergestellt werden.
Diese Zusammenhänge können auf der einen Seite in der Übereinstimmung von Eigenschaften zwischen Daten
liegen. Auf der anderen Seite wird hier jedoch auch nach größtmöglichen Unterschieden sortiert. Das Ziel ist es
also möglichst gleiche oder möglichst verschiedene Elemente zu einer Gruppe zusammenzufassen. Clustering
kann weiterhin in Teilbereiche unterteilt werden. Dies umfasst dabei die Clusteranalyse, basierend auf
multivariaten statistischen Verfahren und den Competitive Strategien durch Clustering mit künstlich neuronalen
Netzen [18]. In den nachfolgenden Abschnitten werden diese jeweils kurz erläutert.
6.3.2.1 Clusteranalyse mit multivariaten statistischen Verfahren
Eine weitere Unterteilung der Multivariate statistische Verfahren erfolgt in hierarchische und partitionierende
Verfahren. Hierarchische werden weiterhin in agglomerative und divisive eingegliedert. Die agglomerativen
Verfahren fassen die Objekte und Daten schrittweise zusammen. Theoretisch kann dieses Verfahren durchgeführt
werden, bis nur noch zwei Klassen vorhanden sind. Die divisiven Verfahren arbeiten in entgegengesetzter
Richtung. Hier werden ausgehend von einer Klasse weitere Unterklassen gebildet. Ein Problem bei den
hierarchischen Verfahren ist, dass falsche Zuordnungen getroffen werden können und diese nicht mehr
korrigierbar sind. Dies führt dazu, dass diese Verfahren nur bedingt nutzbar sind. Vor allem eignen sie sich für
das Auffinden von Hierarchien oder Ausreißern. Die partitionierenden Verfahren suchen optimale Partitionen in
den Daten. Das bedeutet, dass möglichst zusammenhängende Daten gesucht und zusammengefasst werden.
Mittels bestimmter festgelegter Zielkriterien können die Daten dann zwischen Partitionen verschoben werden.[18]
6.3.2 Clustering
15
Knowledge_Discovery_in_Datenbanken
Abbildung 6-5: Clusteranalyse mittels hierarchischem Verfahren
Abbildung 6-6: Clusteranalyse mittels partitionierendem Verfahren
6.3.2.1 Clusteranalyse mit multivariaten statistischen Verfahren
16
Knowledge_Discovery_in_Datenbanken
6.3.2.2 Clustering mit künstlich neuronalen Netzen
Für das Clustering mit künstlich neuronalen Netzen wird ein Support Vector Clustering Algorithmus in
Kombination mit einer Support Vector Maschine nach Ben-hur et al. verwendet[19]. Die allgemeine Funktion ist
die Suche nach einer Hyperebene mittels mathematischer Funktionen, welche zwei Klassen voneinander trennt.
Als weitere Eigenschaft dieser Hyperebene sollte gegeben sein, dass der Abstand von den Klassen zu den
nächstgelegenen Punkten maximal ist. Die Punkte die dann am nächsten zur Ebene liegen dienen als
Support-Vector, während die anderen Datenpunkte keinen Einfluss auf den Algorithmus haben[20].
6.3.3 Klassifikation
Innerhalb der Klassifikation werden die Daten vordefinierten Klassen zugeordnet [21]. Dies steht im Gegensatz zu
den Clustering-Verfahren, bei denen möglichst passende Klassen gefunden und zugewiesen werden. Ein
einfaches Beispiel für eine Klassifikation ist die Vergabe von Krediten. Anhand vorhandener Datensätze mit
Bezug auf die Kreditvergabe wird zugeteilt, ob ein Kredit vergeben wird, oder nicht.
Die Klassifikation lässt sich nach Ester/Sander noch in zwei Aufgaben unterteilen. Zuerst erfolgt die reine
Zuordnung der Objekte zu Klassen. Dies geschieht anhand der Attributwerte der einzelnen Objekte. Erst in der
zweiten Aufgabe entsteht der eigentliche Schritt um von KDD zu sprechen. Hier wird das explizite Wissen über
die Klassen generiert.[1]
Als Beispiel befasst sich die nachfolgende Tabelle mit einer möglichen Verfahrensweise in Bezug auf die
Klassifikation:
Geschlecht Spielt Computerspiele Mag Schokolade Sportlich
Männlich Ja
Ja
Ja
Weiblich Nein
Ja
Ja
Männlich Ja
Ja
Nein
Männlich Ja
Nein
Ja
Männlich Ja
Nein
Nein
Weiblich Ja
Ja
Nein
Tabelle 6.1: Beispiel für die Klassifikation von Daten
Innerhalb der Tabelle werden nun zuvor erfasste Daten in Klassen unterteilt. Hier entstehen die Klassen
"Geschlecht", "Spielt Computerspiele", "Mag Schokolade" und "Sportlich". Hieran lässt sich dann erkennen, ob
es z.B. Zusammenhänge zwischen dem Geschlecht und dem spielen von Computerspielen gibt. Die weitere
Analyse bezieht sich anschließend auf Assoziationen zwischen den Klassen. Eine weitere Erarbeitung erfolgt
entsprechend im Kapitel 5.3.4, der Assoziationsanalyse.
6.3.4 Assoziationsanalyse
Die Assoziationsanalyse beruht auf der Findung von Regeln zwischen auftretenden Daten. Ein Beispiel für
Regeln ist eine "wenn A und B dann C" Verknüpfung. Als Grundlage hierfür kann der Apriori-Algorithmus zum
6.3.2.2 Clustering mit künstlich neuronalen Netzen
17
Knowledge_Discovery_in_Datenbanken
Auffinden von häufigen Datenverknüpfungen genutzt werden. Dieser basiert auf einer Monotonie-Eigenschaft für
häufig auftretende Datenverknüpfungen: "Jede Teilmenge eines häufig auftretenden Itemsets muss selbst auch
häufig sein."
Die häufig auftretenden Verknüpfungen werden dann der Größe nach ermittelt. Zuerst werden die einelementigen,
dann die zweielementigen und so weiter bestimmt. Dieser Algorithmus wird so häufig durchgeführt, bis keine
Verknüpfungen mehr gefunden werden. Für die Assoziationsanalyse werden anschließend die am häufigsten
auftretenden Regeln hergeleitet.
Ein klassisches Beispiel hierfür ist eine Warenkorbanalyse. Hierbei wird analysiert, welche Artikel zusammen mit
anderen Artikel gekauft werden. Diese werden anschließend anderen Kunden, mit der Bezeichnung "Kunden, die
diesen Artikel gekauft haben, kauften auch" zu den Produkten angezeigt. Dies führt zu einer gezielten Werbung,
da eine gewisse Wahrscheinlichkeit besteht, dass die ähnlichen Produkte für die Kunden ebenfalls relevant sein
könnten.[22] Auf dieses Beispiel wird im Zuge der Anwendungsbeispiele noch näher eingegangen.
Innerhalb der Assoziationsanalyse lässt sich die Verbindung zur Klassifikation herstellen. Hierfür wird die
Tabelle 5.1 aus dem Kapitel 5.3.3 Klassifikation hinzugezogen, aus der weitere Rückschlüsse gezogen werden
können. In dieser Tabelle lassen sich entsprechende Assoziationsregeln herleiten, welche dann Regeln ergeben,
womit ein entsprechender Wissensgewinn und Nutzen erwirkt werden kann.
Aus der Tabelle ergeben sich nachfolgende Regeln:
Wenn Männlich, dann spielt Computerspiele
Wenn Weiblich, dann mag Schokolade
Weitere eindeutige Regeln lassen sich aus dieser Tabelle nicht ableiten.
6.3.5 Regressionsanalyse
Regressionsanalyse dient der Ermittlung von zugehörigen Informationen zu vorhandenen Daten. Mittels
verschiedener Regressionsverfahren werden Prognosen in Bezug auf die vorhandenen Daten gemacht. Dieses
Verfahren wird vor allem verwendet, wenn gewisse Informationen vorliegen, hierzu zugehörige Werte jedoch
fehlen. Je höher die Abhängigkeit zwischen den Objekten ist, desto genauer kann dann eine Prognose erfolgen.
[23]
6.4 Anwendungsbeispiele
Es existieren bereits viele im Alltag erfolgreich angewendete Beispiele für den Einsatz von KDD. Hierbei werden
sowohl kommerzielle und nicht-kommerzielle Themen abgedeckt. Einige der Beispiele werden in den folgenden
Abschnitten erläutert. Weiterhin wird hier der Aspekt des Datenschutzes aufgegriffen.
6.3.4 Assoziationsanalyse
18
Knowledge_Discovery_in_Datenbanken
6.4.1 Datenschutz
Im Zuge der immer größer werdenden Menge von Daten gerät auch der Datenschutz stärker in den Fokus. Auch
Ester bestärkt diesen Eindruck, da "Die immer größeren Datenmengen, die automatisch gesammelt und
gespeichert werden, .. ein enormes Potential für das Data Mining [bieten]"[1]. Diese gesammelten, teilweise auch
persönlichen, Daten werden ohne das Wissen der Nutzer analysiert und ausgewertet. Durch die Verbindung
verschiedener Datenbanken können so genaue Verhaltensmuster und Informationen in Bezug auf einzelne
Personen gewonnen werden.
Aktuell wird jedoch im Allgemeinen meistens nur Gruppenverhalten analysiert, weshalb keine Rückschlüsse auf
einzelne Personen stattfinden. Trotzdem muss in diesem Zuge ein genaueres Augenmerk auf den Datenschutz
geworfen werden, damit auch zukünftig keine personenbezogene Analyse erfolgt.[1]
6.4.2 Geologie
Heutzutage erfolgen auch immer mehr Analysen über aktuelle Veränderungen im Bereich Klima und
Landnutzung. Immer mehr Daten werden bei der Erstellung von Simulationsmodellen erhoben und gespeichert.
Diese Daten können dann ausgewertet werden, um z.B. Klimaänderungen vorauszusagen oder Prognosen in
Bezug auf zukünftige Ereignisse zu treffen.
Als Beispiel gibt es das System CONQUEST. Dieses System dient unter anderem zur Analyse von geologischen
Daten. Anhand der ausgewerteten Daten werden typische Routen von Zyklonen vorausgesagt.[24]
6.4.3 Marketing
Die wohl bekanntesten Beispiele für das KDD liegen in der Anwendung im Marketing. Hierbei werden z.B.
Kundendaten analysiert und hierauf basierend die Werbung angepasst. Dies kann sowohl anhand des
Benutzerverhaltens geschehen als auch des Standortes oder anderen vorliegenden Daten.
Der Wissensgewinn wird hier unter anderem in Webshops mit den bekannten Aussagen: "Welche anderen Artikel
kaufen Kunden, nachdem sie diesen Artikel angesehen haben?" oder "Weitere Empfehlungen für Sie:" genutzt.
Dies ist für die Verkäufer ein erheblicher Gewinn, da Werbung gezielt auf die verschiedenen Kunden angepasst
werden kann. Eine solche Zuordnung ist ebenfalls über das assoziieren von Käufen innerhalb bestimmter Orte
möglich. Es könnte sich z.B. die Annahme ergeben, dass innerhalb von Münster viele Menschen nach einem
Fahrrad suchen. Anhand dieser Daten könnte ein Anbieter für Fahrräder oder Fahrradzubehör speziell dieses
Gebiet für seine Werbung bevorzugen.
Eine ähnliche Anpassung erfolgt heute auch in Bereichen des Fernsehens. Hier wird anhand von Analysen
ausgewertet, welches Publikum zu welchem Zeitpunkt das Programm verfolgt. Diese Analysen ermöglichen dann
die Schaltung spezifischer Werbung auf das maßgeblich vertretene Publikum.
Ein Beispiel für die Anwendung im Marketing ist das Spotlight-System[25]. Dieses System Analysiert
Verkaufsmengen und deckt Zusammenhänge zwischen Änderungen dieser Mengen und z.B. gleichzeitigen
Preisänderungen auf.
6.4.1 Datenschutz
19
Knowledge_Discovery_in_Datenbanken
6.4.4 Geldwäsche
Mit einem System des Financial Crimes Enforcement Network (FINCEN), dem FINCEN AI System (FAIS),
werden bereits heute große Zahlungen beobachtet und analysiert. Mittels menschlicher und softwareseitiger
Überwachung werden diese Zahlungen überwacht und geprüft. Ziel ist hier unter anderem die Erkennung von
möglicher Geldwäsche. FAIS basiert auf einer Datenbank mit großen Datenmengen, einer grafischen Oberfläche
und vielen Verarbeitungs- und Analysemethoden. FAIS ist bereits seit März 1993 im Einsatz und prüft ca.
200.000 Transaktionen innerhalb einer Woche.[26]
7 Schlussbetrachtung
7.1 Zusammenfassung
Insgesamt kann man sagen, dass Knowledge Discovery in Datenbanken eine gute Möglichkeit ist, Wissen aus
Daten zu extrahieren. Vermehrt man die Daten, die aus allen Bereichen gesammelt werden, wird sehr
wahrscheinlich immer mehr Wissen extrahiert. Das neue Wissen kann anschließend für weitere Auswertungen
verwendet werden. Jedoch muss bei dem neuen Wissen geprüft werden, ob die statistische Grundlage dieses
Wissens korrekt ist, um schwerwiegende Fehler für die Zukunft zu vermeiden.
7.2 Ausblick
Daten können in der heutigen Welt fast grenzenlos gespeichert werden. Durch diese Möglichkeit werden durch
moderne Technologien oder ähnliche Mittel immer mehr Daten erzeugt, die potenzielles Wissen enthalten. Auch
neue und leistungsstärkere Rechner machen komplexere Auswertungen möglich, die bisher nicht greifbares
Wissen aus den Daten extrahieren können.
Der Prozess der KDD wird in der Zukunft wahrscheinlich durch die höheren Datenmengen noch mehr Bereiche
unseres Lebens verändern können und wird dadurch immer mehr an Bedeutung gewinnen. Auch führt neues
Wissen stetig zu neuerem Wissen. Gleichzeitig wird auch ein Wandel in anderen Themenbereichen stattfinden.
Gerade in Bezug auf den Datenschutz werden die immer größeren Datenmengen und steigenden Zusammenhänge
zwischen diesen, einen starken Wandel erzeugen.
8 Anhang
8.1 Fußnoten
1. ? 1,0 1,1 1,2 1,3 1,4 Ester/Sander (2000),
2. ? Fayyad,Piatetsky-Shapiro,Smyth(1996), Seite 6
3. ? ANSI(1986), Kemper A., Eickler A. (1999), Seite 47-57
4. ? ANSI(1986), Dokument ANSI X3.135
5. ? Ramez Elmasri, Shamkant B. Navathe(2004), Seite 49ff
6. ? Härder (2001), Seite 8-11
7. ? Gunter Saake, Kai-Uwe Sattler, Andreas Heuer (2011)
8. ? Fahrmeir L., Künstler R., Pigeot I., Tutz G.(1999)
9. ? 9,0 9,1 9,2 Fernandez/Schneider(1996), Tutorial Notes ACM SIGMOD Int. Conf. on Management of Data
6.4.4 Geldwäsche
20
Knowledge_Discovery_in_Datenbanken
10. ? Vgl. Fayyad et al. (1996), Seite 6
11. ? Vgl. Chaudhuri (2000), Seite 719-722
12. ? Chaudhuri/Dayal(1997), Seite 65-74
13. ? Fayyad, Piatetsky-Shapiro & Smith (1996), Seite 82-88
14. ? Vgl. Piatetsky-Shapiro 2007, S. 100
15. ? Decker, Focardi 1995, S. 3
16. ? Sharafi (2012), Seite 68
17. ? Vgl. Carter/Hamilton (1998)
18. ? 18,0 18,1 Vgl. Petersohn (2005), Seite 26f
19. ? Ben-Hur et al. (2002), Seite 125-137
20. ? Pal/Mitra (2004), Seite 86f
21. ? Otto Oberhauser (2005), Seite 2
22. ? Agrawal/Srikant (194), Seite 94-105
23. ? Fayyad et al. (1996) Seite 44
24. ? Stolorz et al (1995)
25. ? Anand/Kahn (1992)
26. ? Senator et al. (1995), Seite 21f
8.2 Literatur- und Quellenverzeichnis
Verweis
Literatur / Quelle
Agrawal/Srikant (1994)
Rakesh Agrawal,
Ramakrishnan Srikant
(1994): Fast algorithms for
mining association rules,
Proc. 20th int. conf. very
large data bases, VLDB.
Vol. 1215. 199, Seite 94-105
ANSI (1986)
ANSI (1986) : American
National Standards Institute
"The Database Language
SQL", Dokument ANSI
X3.135
Anand/Kahn (1992)
Anand T., Kahn G. (1992):
SPOTLIGHT: A Data
Explanation System,
Proceedings 8th IEEE
Conference on Applied AI,
Seite 2-8
Ben-Hur (2002)
Asa Ben-Hur, David Horn,
Hava T. Siegelmann,
Vladimir Vapnik (2002):
Support Vector Clustering.
In: Journal of Machine
Learning Research, Vol. 2
2002, Seite 125-137
Link
http://www.jmlr.org/papers/volume2/horn01a/rev1/horn0
Carter/Hamilton (1998)
8.1 Fußnoten
21
Knowledge_Discovery_in_Datenbanken
Carter C., Hamilton H.
(1998): Efficient
Attribute-Oriented
Generalization for
Knowledge Discovery from
Large Databases, IEEE
Transactions on Knowledge
and Data Engineering, Vol.
10, No. 2, Seite 193-208
Chaudhuri (2000)
Amir Netz, Surajit
Chaudhuri, Jeff Bernhardt,
Usama M. Fayyad (2000):
Integration of Data Mining
with Database Technology,
Morgan Kaufmann
Publishers Inc. San
Francisco, Vol. 4, Bd. 2/3,
Seite 719-722
Chaudhuri/Dayal(1997)
Surajit Chaudhuri,
Umeshwar Dayal (1997): An
Overview of Data
Warehousing and OLAP
Technology, ACM SIGMOD
Record, Vol. 26, Bd. 1,
1997, Seite 65-74
Ester/Sander (2000)
Martin Ester, Jörg Sander
(2013): Knowledge
Discovery in Databases:
Techniken Und
Anwendungen, Springer
Verlag, München, 2000,
Seite 1ff, 10, 107, 192
Fayyad et al. (1996)
Usama Fayyad, Gregory
Piatetsky-Shapiro, and
Padhraic Smith: From Data
Mining to Knowledge
Discovery in Databases, AI
MAGAZINE Vol 17 no 3
http://www.aaai.org/ojs/index.php/aimagazine/article/vie
Usama M. Fayyad, G.
Piatetsky, P. Smith (1996):
Knowledge Discovery and
Data Mining: Towards a
Fayyad/Piatetsky-Shapiro/Smith
Unifying Framework,
(1996)
Proceedings 2nd
International Conference on
Knowledge Discovery and
Data Mining, Seite 82-88
Fernandez/Schneider (1996)
8.2 Literatur- und Quellenverzeichnis
22
Knowledge_Discovery_in_Datenbanken
Fernandez/Schneider (1996):
The Ins and Outs of Data
Warehousing, Tutorial Notes
ACM SIGMOD Int. Conf.
on Management of Data
Gunter Saake, Kai-Uwe Sattler,
Andreas Heuer (2011)
Gunter Saake, Kai-Uwe
Sattler, Andreas Heuer
(2011): Datenbanken:
Implementierungstechniken.
mitp Professional, ISBN
3-8266-9156-3, S. 2 ff., 21
ff.
Härder (2001)
Theo Härder (2001):
Datenbanksysteme. Springer,
Berlin 2001, ISBN
3-540-42133-5, S. 8?11.
Kemper A., Eickler A. (1999)
Kemper A., Eickler A.
(1999): Datenbanksysteme Eine Einführung,
Oldenbourg Verlag,
München
Oberhauser (2005)
Otto Oberhauser:
Automatisches
Klassifizieren:
Entwicklungsstand ?
Methodik ?
Anwendungsbereiche.
Frankfurt/Main, Peter Lang,
2005, Seite 2
Ramez Elmasri, Shamkant B.
Navathe (2004)
Ramez Elmasri, Shamkant
B. Navathe (2004):
Grundlagen von
Datenbanksystemen.
[Übers.: Angelika Shafir].
Pearson Studium, München
2004, ISBN 3-8273-7136-8,
S. 49 ff.
Pal/Mitra (2004)
Sankar K. Pal, Pabitra Mitra
(2004): Pattern Recognition
Algorithms for Data Mining,
Chapman&Hall/CRC, Boca
Raton, FL, USA 2004, Seite
86f
Petersohn (2005)
Helge Petersohn (2005):
Data Mining: Verfahren,
Prozesse,
Anwendungsarchitektur:
8.2 Literatur- und Quellenverzeichnis
23
Knowledge_Discovery_in_Datenbanken
Verfahren, Prozesse,
Anwendungsarchitektur,
Oldenbourg
Wissenschaftsverlag,
München, 2005, Seite 26f
Senator et al. (1995)
Crimes Enforcement
Network AI System (FAIS):
Identifying Potential Money
Laundering from Reports of http://www.aaai.org/ojs/index.php/aimagazine/article/vie
Large Cash Transactions. AI
Magazine 16(4), 1995, Seite
21f
Sharafi (2012)
Armin Sharafi: Knowledge
Discovery in Databases:
Eine Analyse des
Änderungsmanage-ments in
der Produktentwicklung,
Springer Verlag, München,
Seite 86
Stolorz et al. (1995)
Stolorz P., Nakamura H.,
Mesrobian E., Muntz R. R.,
Shek E. C., Santos J.R., Yi
J., Ng K., Chien S.-Y.,
Mechoso C. R., Farrara J. D.
(1995): Fast
Spatio-Temporal Data
Mining of Large
Geophysical Datasets,
Proceedings 1st International
Conference on Knowledge
Discovery and Data Mining,
Seite 300-305
8.2 Literatur- und Quellenverzeichnis
24
Herunterladen