814
Kommentar:
|
8869
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
== Data Mining == | <<TableOfContents>> |
Zeile 3: | Zeile 3: |
Data-Mining ein vereinfachter Begriff für Knowledge Discovery in Databases (KDD). D.h. KDD ist der Versuch aus vorhandenen Datenmassen Erkenntnisse zu bekommen. | = Data Mining = == Data Mining als Teilbereich der KI == Data-Mining ist ein Teilbereich der Künstlichen Intelligenz (KI) in der Informartik. Data-Mining ist ein vereinfachter Begriff für Knowledge Discovery in Databases (KDD). D.h. KDD ist der Versuch aus vorhandenen Datenmassen in Datenbanken Erkenntnisse zu bekommen. Bei nicht als Datenbanken vorliegenden Texten wird dabei zuerst [[http://wissensexploration.de/textmining-vs-datamining.php|Text Mining]] betrieben. |
Zeile 6: | Zeile 11: |
Bei normalen Daten versucht die KDD ebenfalls die Daten durch eine Funktion zu approproximieren. Diese ist allerdings keine mathematische Funktion und es ist deswegen noch fehleranfälliger. Zum Finden der Funktion gibt es verschiedene Verfahren, welche je nach vorhandenen Daten ausgewählt werden müssen. |
Bei nicht numerischen Daten versucht Data-Mining ebenfalls die Daten durch eine Funktion zu approproximieren. Diese ist dann allerdings keine analytische Funktion, sondern eine abstrahierte Funktion. Diese abstrahierte Funktion wird als vorhandenes Muster in den Daten bezeichnet. Data Mining ist somit ein Suchen nach Mustern in komplizierten Datensätzen. Zum Finden der Muster oder Funktionen gibt es verschiedene Verfahren, welche je nach vorhandenen Daten ausgewählt werden müssen. Zum Finden des Musters oder der Funktion werden Methoden des [[http://wissensexploration.de/datamining-kdd-machine-learning.php|Maschinelles Lernen]] verwendet. Dabei finden bei Data-Mining nur Methoden des induktiven Maschinellen Lernens Anwendung (deduktives Maschinelles Lernen wird für Automatisierungen verwendet). == Vorgehensweise == Zuerst werden die Daten von Fehlern bereinigt, dann werden aus den Datensätzen sogenannte Trainingsdaten ausgewählt. Bei falscher Auswahl der Trainingsdaten kann es zur Überanpassung und somit fehlerhaften Ergebnissen führen. Dann wird eine der Methoden des Data-Mining ausgewählt um die abstrahierte Funktion oder das Muster zu finden, wobei hier das Problem ist die passende Methode auszuwählen. Dafür bedarf es theoretisch die genaue Kenntnis der Methoden. Anschließend wird die gefundene Funktion mit Testdaten, die ebenfalls aus den Datensätzen stammen, überprüft und notfalls verbessert. == Methoden des Data-Mining == === Klassifizierung === Bei der WikiPedia:Statistical_classification wird versucht in den vorhandenen Daten allgemeinen Strukturen zu finden, so dass Rückschlüsse auf neue Daten gezogen werden können. Methoden der Klassfizierung sind u.a. Nearest Neigbour Methode, Entscheidungsbäume und Neuronale Netze. ==== K-Nearest Neighbor Methode ==== Die WikiPedia:K-nearest_neighbor_algorithm wird auch als Lazy Learning bezeichnet, d.h. von allem vorhandenen Datensätzen werden K-Datensätzen gesucht, die den neuen Daten am ähnlichsten sind. Dabei werden bei nicht numerischen Daten abstrahierte Abstände verwendet. Die gesuchten Werte des neuen Datensatzes werden dann mit Gewichtung 1/Abstand aus den nächsten K-Datensätzen bestimmt. ==== Entscheidungsbäume ==== Beim WikiPedia:Decision_tree_learning werden die Daten in einem abstrakten Baum dargestellt, wobei jede Verästelung eine Entscheidung darstellt. Es wird dabei von der Wurzel angefangen und bei jeder Verästelung wird ein Attribut abgefragt und die nächste Verästelung ausgewählt. Diese Prozedur wird so lange fortgesetzt, bis das Baumende erreicht ist. Da es verschieden Möglichkeiten für die Bäume gibt wird per Algorithmus versucht den Kürzesten und Optimalsten (d.h. mit dem kleinsten Fehler) zu finden. ==== Künstliche Neuronale Netze ==== === Assoziationsregeln === Beim WikiPedia:Association_rule_learning werden gemeinsame Vorkommen von Merkmalswerten in Datensätzen gesucht, um ihre gegenseitige Abhängigkeit zu untersuchen. Daraus werden Regeln abgeleitet, die durch die Stärke der Abhängigkeit und die Häufigkeit ihres Vorkommens charakterisiert werden |
Zeile 10: | Zeile 40: |
=== Clustering === WikiPedia:Clustering ist das Einteilen der Datensätze in verschiedene Mengen mit ähnlichen Eigenschaften. === Regression === Die WikiPedia:Regression_analysis wird bei numerischen Daten als lineare Regression bezeichnet. In der KI wird dieses Methode auf nicht numerische Daten verallgemeinert. == Anwendungen von Data-Mining == === SPAM Erkennung === SPAM Erkennungsprogramm verwenden Data-Mining. === INDECT === Im Rahmen der [[Datenbanken EU|EU]] gibt es ein Projekt namens [[INDECT]] indem alle Datenbanken, alle durch [[Überwachungstechnik]] aufgezeichneten Daten und durch Software Agenten im Netz gefundenen Daten mit Hilfe von Data-Mining geplante Verbrechen a la Minority Report vorhergesehen werden sollen. == Kritik == Von Data Mining wird häufig geglaubt, es diene dazu, Zusammenhänge automatisch zu entdecken, an die bisher noch nicht einmal jemand gedacht hat, und Fragen zu beantworten, die nicht einmal noch jemand gestellt hat (siehe auch [[http://www.twocrows.com/iwk9701.htm|Data Mining Mythen]] ). Dieses ist, wie in den meisten Bereichen der KI, eine Überschätzung der Fähigkeiten. Diese Überschätzung kann dazu führen, dass die Ergebnisse des Data-Minings unhinterfragt als Wahr angesehen werden. Bei falscher zielgruppenorientierter Werbung ist das für den Beworbenen erstmal lustig oder auch nur nervig. Bei negativen Scooring der Kreditwürdigkeit ist das ärgerlich, bei der falscher Verdächtigung von der [[Datenbanken der Bundespolizeien|Polizei]] kann es dann allerdings richtig unangenehm werden. === Problematik bei der Anwendung im Polizei-Bereich === Gerade im Sicherheitsbereich, wenn [[Länderübergreifende Software#Data-Mining_Software|Data-Mining]] dazu benutzt wird aus polizeiliche Datenbanken neue Erkenntnisse zu gewinnen, kann es dazu führen, dass nicht mehr ergebnissoffen in alle Richtungen ermittelt wird. Bei einem Serientäter kann es so ersten zu Problem für die Allgemeinheit werden, da so der oder die Täterin nicht gefunden wird und zweitens kann es für die eventuell Falschverdächtigten zu den üblichen Nachteilen führen. Ganz problematisch wird es allerdings, wenn geglaubt wird mittels Data Mining Prognosen über zukünftige Straftäter anstellen zu können. Da in [[INPOL]] schon Daten über Personen geführt werden, die nach Meinung der Polizei in Zukunft Straftaten begehen werden, ist es nicht unwahrscheinlich das diese Personen in Zukunft (oder jetzt schon) durch Data-Mining ausgewählt werden. === Anschauliche Erläuterung der Gefahren von Data-Mining === In einem [[http://www.faz.net/s/Rub117C535CDF414415BB243B181B8B60AE/Doc~E38A2F6DD0A734EB789AAD27EDE6F9A35~ATpl~Ecommon~Scontent.html|FAZ-Artikel über Data-Mining]] von [[http://frank.geekheim.de|Frank Rieger]] wird die Problematik von Data-Minig sehr anschaulich beschrieben: ''Die Profile sind nützlich, um uns gezielt zum Kauf von mehr nutzlosem Tand oder interessanteren Büchern zu verleiten, uns effizienter zu verwalten und zukünftiges Verhalten zu prognostizieren. Und um Menschen unter präventive Überwachung zu stellen, deren Profil sich bedenklich dem von Straftätern nähert. Dabei geht es nicht um hundertprozentige Präzision der Vorhersage. Wahrscheinlichkeiten, Neigungen, Tendenzen, Zugehörigkeit zu Kohorten sind die Währungen der algorithmischen Orakel.'' === Grundsätzliche Kritik an de KI === Einer der ersten und versiertesten Kritiker der Künstlichen Intelligenz Forschung ist Joseph Weizenbaum. Joseph Weizenbaum war einer der Pioniere in der Künstlichen Intelligenz Forschung. Er hat das Programm Eliza entwickelt, welches einen Psychiater symuliert. Seine Intention für das Programm war allerdings nur eine bloße Übung, wie der Computer mit Sprache umgehen kann. Zu seinem Erschrecken wurde das Programm von vielen (auch seinen Kolleg_innen und Mitarbeiter_innen) als ernste Alternative zu einem realen Psychiater angenommen. Dieses Schlüsselerlebnis hat Joseph Weizenbaum zu einem entschiedenen Warner vor den Gefahren der KI gemacht (und dem latenten Größenwahn der Wissenschaftler_innen). * [[http://denkwerkzeuge.ch/| ELIZA zum ausprobieren]] * [[http://www.heise.de/newsticker/meldung/104672|Telepolis zum Tod von Joseph Weizenbaum]] == Programme für Data Mining == Es gibt eine Java-Klassen Bibliothek für Data-Mining, die heißt Weka: [[http://www.cs.waikato.ac.nz/ml/weka/|Weka Webseite]] Das Programm KMIME ist mit dieser Bibliothek geschrieben worden: [[http://knime.org/|KMIME]] == Weitere Links == |
|
Zeile 11: | Zeile 95: |
[[http://www.rote-hilfe.de/static/publikationen/die-rote-hilfe-zeitung/2006/4/data-mining-rasterfahndung-und-der-ueberwachungsstaat.html| Rote Hilfe Zeitung zu Data Mining]] [[http://dbs.informatik.uni-halle.de/Lehre/KDD_SS09_web/dm_skript.pdf|Data-Mining Skript (mathematisch)]] |
Inhaltsverzeichnis
Data Mining
Data Mining als Teilbereich der KI
Data-Mining ist ein Teilbereich der Künstlichen Intelligenz (KI) in der Informartik. Data-Mining ist ein vereinfachter Begriff für Knowledge Discovery in Databases (KDD). D.h. KDD ist der Versuch aus vorhandenen Datenmassen in Datenbanken Erkenntnisse zu bekommen. Bei nicht als Datenbanken vorliegenden Texten wird dabei zuerst Text Mining betrieben.
Bei Zahlendaten ist dieses nicht anderes als ein numerisches Verfahren, d.h. mathematische Funktionen werden durch Polynome angenähert, also eine kompliziertere Version der linearen Regression.
Bei nicht numerischen Daten versucht Data-Mining ebenfalls die Daten durch eine Funktion zu approproximieren. Diese ist dann allerdings keine analytische Funktion, sondern eine abstrahierte Funktion. Diese abstrahierte Funktion wird als vorhandenes Muster in den Daten bezeichnet. Data Mining ist somit ein Suchen nach Mustern in komplizierten Datensätzen.
Zum Finden der Muster oder Funktionen gibt es verschiedene Verfahren, welche je nach vorhandenen Daten ausgewählt werden müssen. Zum Finden des Musters oder der Funktion werden Methoden des Maschinelles Lernen verwendet. Dabei finden bei Data-Mining nur Methoden des induktiven Maschinellen Lernens Anwendung (deduktives Maschinelles Lernen wird für Automatisierungen verwendet).
Vorgehensweise
Zuerst werden die Daten von Fehlern bereinigt, dann werden aus den Datensätzen sogenannte Trainingsdaten ausgewählt. Bei falscher Auswahl der Trainingsdaten kann es zur Überanpassung und somit fehlerhaften Ergebnissen führen. Dann wird eine der Methoden des Data-Mining ausgewählt um die abstrahierte Funktion oder das Muster zu finden, wobei hier das Problem ist die passende Methode auszuwählen. Dafür bedarf es theoretisch die genaue Kenntnis der Methoden. Anschließend wird die gefundene Funktion mit Testdaten, die ebenfalls aus den Datensätzen stammen, überprüft und notfalls verbessert.
Methoden des Data-Mining
Klassifizierung
Bei der Statistical_classification wird versucht in den vorhandenen Daten allgemeinen Strukturen zu finden, so dass Rückschlüsse auf neue Daten gezogen werden können. Methoden der Klassfizierung sind u.a. Nearest Neigbour Methode, Entscheidungsbäume und Neuronale Netze.
K-Nearest Neighbor Methode
Die K-nearest_neighbor_algorithm wird auch als Lazy Learning bezeichnet, d.h. von allem vorhandenen Datensätzen werden K-Datensätzen gesucht, die den neuen Daten am ähnlichsten sind. Dabei werden bei nicht numerischen Daten abstrahierte Abstände verwendet. Die gesuchten Werte des neuen Datensatzes werden dann mit Gewichtung 1/Abstand aus den nächsten K-Datensätzen bestimmt.
Entscheidungsbäume
Beim Decision_tree_learning werden die Daten in einem abstrakten Baum dargestellt, wobei jede Verästelung eine Entscheidung darstellt. Es wird dabei von der Wurzel angefangen und bei jeder Verästelung wird ein Attribut abgefragt und die nächste Verästelung ausgewählt. Diese Prozedur wird so lange fortgesetzt, bis das Baumende erreicht ist. Da es verschieden Möglichkeiten für die Bäume gibt wird per Algorithmus versucht den Kürzesten und Optimalsten (d.h. mit dem kleinsten Fehler) zu finden.
Künstliche Neuronale Netze
Assoziationsregeln
Beim Association_rule_learning werden gemeinsame Vorkommen von Merkmalswerten in Datensätzen gesucht, um ihre gegenseitige Abhängigkeit zu untersuchen. Daraus werden Regeln abgeleitet, die durch die Stärke der Abhängigkeit und die Häufigkeit ihres Vorkommens charakterisiert werden
Clustering
Clustering ist das Einteilen der Datensätze in verschiedene Mengen mit ähnlichen Eigenschaften.
Regression
Die Regression_analysis wird bei numerischen Daten als lineare Regression bezeichnet. In der KI wird dieses Methode auf nicht numerische Daten verallgemeinert.
Anwendungen von Data-Mining
SPAM Erkennung
SPAM Erkennungsprogramm verwenden Data-Mining.
INDECT
Im Rahmen der EU gibt es ein Projekt namens INDECT indem alle Datenbanken, alle durch Überwachungstechnik aufgezeichneten Daten und durch Software Agenten im Netz gefundenen Daten mit Hilfe von Data-Mining geplante Verbrechen a la Minority Report vorhergesehen werden sollen.
Kritik
Von Data Mining wird häufig geglaubt, es diene dazu, Zusammenhänge automatisch zu entdecken, an die bisher noch nicht einmal jemand gedacht hat, und Fragen zu beantworten, die nicht einmal noch jemand gestellt hat (siehe auch Data Mining Mythen ). Dieses ist, wie in den meisten Bereichen der KI, eine Überschätzung der Fähigkeiten. Diese Überschätzung kann dazu führen, dass die Ergebnisse des Data-Minings unhinterfragt als Wahr angesehen werden. Bei falscher zielgruppenorientierter Werbung ist das für den Beworbenen erstmal lustig oder auch nur nervig. Bei negativen Scooring der Kreditwürdigkeit ist das ärgerlich, bei der falscher Verdächtigung von der Polizei kann es dann allerdings richtig unangenehm werden.
Problematik bei der Anwendung im Polizei-Bereich
Gerade im Sicherheitsbereich, wenn Data-Mining dazu benutzt wird aus polizeiliche Datenbanken neue Erkenntnisse zu gewinnen, kann es dazu führen, dass nicht mehr ergebnissoffen in alle Richtungen ermittelt wird. Bei einem Serientäter kann es so ersten zu Problem für die Allgemeinheit werden, da so der oder die Täterin nicht gefunden wird und zweitens kann es für die eventuell Falschverdächtigten zu den üblichen Nachteilen führen. Ganz problematisch wird es allerdings, wenn geglaubt wird mittels Data Mining Prognosen über zukünftige Straftäter anstellen zu können. Da in INPOL schon Daten über Personen geführt werden, die nach Meinung der Polizei in Zukunft Straftaten begehen werden, ist es nicht unwahrscheinlich das diese Personen in Zukunft (oder jetzt schon) durch Data-Mining ausgewählt werden.
Anschauliche Erläuterung der Gefahren von Data-Mining
In einem FAZ-Artikel über Data-Mining von Frank Rieger wird die Problematik von Data-Minig sehr anschaulich beschrieben:
Die Profile sind nützlich, um uns gezielt zum Kauf von mehr nutzlosem Tand oder interessanteren Büchern zu verleiten, uns effizienter zu verwalten und zukünftiges Verhalten zu prognostizieren. Und um Menschen unter präventive Überwachung zu stellen, deren Profil sich bedenklich dem von Straftätern nähert. Dabei geht es nicht um hundertprozentige Präzision der Vorhersage. Wahrscheinlichkeiten, Neigungen, Tendenzen, Zugehörigkeit zu Kohorten sind die Währungen der algorithmischen Orakel.
Grundsätzliche Kritik an de KI
Einer der ersten und versiertesten Kritiker der Künstlichen Intelligenz Forschung ist Joseph Weizenbaum. Joseph Weizenbaum war einer der Pioniere in der Künstlichen Intelligenz Forschung. Er hat das Programm Eliza entwickelt, welches einen Psychiater symuliert. Seine Intention für das Programm war allerdings nur eine bloße Übung, wie der Computer mit Sprache umgehen kann. Zu seinem Erschrecken wurde das Programm von vielen (auch seinen Kolleg_innen und Mitarbeiter_innen) als ernste Alternative zu einem realen Psychiater angenommen. Dieses Schlüsselerlebnis hat Joseph Weizenbaum zu einem entschiedenen Warner vor den Gefahren der KI gemacht (und dem latenten Größenwahn der Wissenschaftler_innen).
Programme für Data Mining
Es gibt eine Java-Klassen Bibliothek für Data-Mining, die heißt Weka:
Das Programm KMIME ist mit dieser Bibliothek geschrieben worden: