5855
Kommentar:
|
11501
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 13: | Zeile 13: |
Zum Finden der Muster gibt es verschiedene Verfahren, welche je nach vorhandenen Daten ausgewählt werden müssen. Das Finden des Musters wird bei den KI-Informatikern [[http://wissensexploration.de/datamining-kdd-machine-learning.php|Maschinelles Lernen]] genannt. | 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 == Teilweise werden zuerst verschiedene Datenbanken zu einer zusammengeführt, dieses wird Datawarehouse genannt. Als nächstes werden die Daten von Fehlern bereinigt, dann werden aus den Datensätzen sogenannte Trainingsdaten ausgewählt. Dieses ist ein heikler Punkt, da bei falscher Auswahl der Trainingsdaten es zur Überanpassung und somit fehlerhaften Ergebnissen führen kann. 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 neuen Daten gezogen werden können, d.h. es wird eine Abbildungsfunktion auf einen diskreten Wert (Klasse) oder einen numerischen Funktionswert gesucht. 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 ==== Bei [[Entscheidungsbäumen]] 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. [[Entscheidungsbäume]] ist eines der am häufigsten benutzten Verfahren beim Data Mining. ==== Naive Bayes ==== Bei Naive_Bayes_classifier wird vereinfacht (d.h. naiv) angenommen, dass alle Attribute der Datensätze mit einer von einander unabhängigen Wahrscheinlichkeit ein Klasse oder einen Funktionswert ergeben. So kann das Bayes Theorem in einer vereinfachten Version verwendet werden )Wenn diese vereinfachende Annahme nicht gemacht würde, wären die Ergebnisse nur durch erheblichen rechnerischen Aufwand zu erzielen). Die Werte für die unabhänig angenommenen Wahrscheinlichkeiten lassen sich dann mit Hilfe der Trainingsdaten und dem Bayes Theorem berechnen. ==== Künstliche Neuronale Netze ==== === Assoziationsregeln === Beim WikiPedia:Association_rule_learning werden die gegenseitige Abhängigkeit von Attributen mit Hilfe von Wahrscheinlichkeitsrechnung bestimmt. (wie z.B. dicke Jacke, Selbstmordattentäter) |
Zeile 16: | Zeile 45: |
=== Methoden des Data-Mining === | === Clustering === |
Zeile 18: | Zeile 47: |
==== Classification ==== | WikiPedia:Clustering ist das Einteilen der Datensätze in verschiedene Mengen (d.h. Clustern) mit ähnlichen Eigenschaften. |
Zeile 20: | Zeile 49: |
Es wird versucht in den vorhandenen Daten allgemeinen Strukturen zu finden, so dass Rückschlüsse auf neue Daten gezogen werden können. | ==== k-means Clustering ==== Beim k-means Clustering werden die Daten in eine vorher festgelegt Anzahl von Clustern (nämlich k) eingeteilt. |
Zeile 22: | Zeile 52: |
===== K-Nearest Neighbor Methode ===== 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. |
==== Hierachisches Clustering ==== Beim Hierachischen Clustern wird zuerst jeder Datensatz als ein Cluster angenommen um dann suksessiv die Anzahl der Cluster zu verkleinern. |
Zeile 25: | Zeile 55: |
===== Entscheidungsbäume ===== | === Regression === |
Zeile 27: | Zeile 57: |
Es wird versucht aus den Daten Entscheidungsbäume zu machen. D.h. die Daten werden 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. | Die WikiPedia:Regression_analysis wird mit Hilfe von numerischen Methoden eine mehrdimensionale Funktion für die Daten approximiert. |
Zeile 29: | Zeile 59: |
===== Künstliche Neuronale Netze ===== | == Anwendungen von Data-Mining == |
Zeile 31: | Zeile 61: |
==== Clustering ==== | === SPAM Erkennung === |
Zeile 33: | Zeile 63: |
Clustering ist das Einteilen der Datensätze in verschiedene Mengen mit ähnlichen Eigenschaften. | Spam_(electronic) Erkennungsprogramm verwenden Data-Mining, dabei wird [[http://de.wikipedia.org/wiki/Bayes-Klassifikator#Beispiel|Naive Bayes]] verwendet. SPAM-Erkennung ist ein gutes Beispiel für das was Data Mining kann und was nicht. Es ist kein Problem für einen Menschen Mails in Spam und Nicht-Spam einzuteilen, Merkmale die in allen Spams vorkommen rauszufinden ist dagegen schwieriger. Bei Anwendung von Data Mining zur SPAM-Erkennung wurde entdeckt, dass die meisten SPAM-Mails die Zeichenfolge FF0000 enthielten, da wäre manuell niemand drauf gekommen, es ist aber logisch da es in WikiPedia:HTML zur Erzeugung von roter Schrift dient. D.h. es ist eine Erkenntnis auf die der Mensch selber hätte kommen können, total überraschende Erkenntnisse kann Data Mining nämlich nicht liefern. |
Zeile 35: | Zeile 65: |
==== Regression ==== | === Scooring === |
Zeile 37: | Zeile 67: |
Bei numerischen Daten als lineare Regression bezeichnet, gibt es in der KI Methoden dieses auf nicht numerische Daten zu verallgemeinern. == Projekte im Überwachungsbereich mit Data-Mining == |
Beim [[Private Datenbanken#Scoring_Datenbanken|Scooring]] werden Entscheidungsbäume und andere Methoden der Klassifizierung verwendet um die Menschen in kredit- und nicht kreditwürdig einzuteilen. |
Zeile 44: | Zeile 71: |
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. | 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 WikiPedia:Minority_Report vorhergesehen werden sollen. |
Zeile 48: | Zeile 75: |
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. Dieses ist, wie in den meisten Bereichen der KI, eine Überschätzung der Fähigkeiten. D.h. es kann das Denken nicht Abnehmen. | 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 Künstlichen Intelligenz, 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 [[Private Datenbanken#Scoring_Datenbanken|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. |
Zeile 52: | Zeile 80: |
Gerade im Sicherheitsbereich, wenn [[Länderübergreifende Software#Data-Mining_Software|Data-Mining Software bei der Polizei]] 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. |
|
Zeile 67: | Zeile 97: |
== Weitere Links == | == Programme für Data Mining == |
Zeile 69: | Zeile 99: |
[[http://www.ai.wu.ac.at/~koch/courses/wuw/archive/inf-sem-ws-00/nentwich/index.htm| Seminararbeit zu Data-Mining]] | Es gibt eine Java-Klassen Bibliothek für Data-Mining, die heißt Weka: |
Zeile 71: | Zeile 101: |
[[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://www.cs.waikato.ac.nz/ml/weka/|Weka Webseite]] |
Zeile 73: | Zeile 103: |
[[http://dbs.informatik.uni-halle.de/Lehre/KDD_SS09_web/dm_skript.pdf|Data-Mining Skript (mathematisch)]] | Das Programm KMIME ist mit dieser Bibliothek geschrieben worden: [[http://knime.org/|KMIME]] == Weitere Infos == [[http://www.hs-weingarten.de/~ertel/index.php?page=buch-ki|Grundkurs Künstliche Intelligenz von Wolfgang Ertel, Vieweg-Verlag]] -- bietet eine einfache und theoretisch fundierte Einführung in Künstliche Intelligenz und es gibt auch ein Kapitle zu Data Mining [[http://www.ai.wu.ac.at/~koch/courses/wuw/archive/inf-sem-ws-00/nentwich/index.htm| Seminararbeit zu Data-Mining]] -- bietet eine Übersicht [[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 und Rasterfahndung]] [[http://dbs.informatik.uni-halle.de/Lehre/KDD_SS09_web/dm_skript.pdf|Data-Mining Skript zu einer Vorlesung in Halle]] (pdf) [[http://datenschmutz.de/gc/datamining.txt|Artikel in der RHZ zu Data Mining]] (txt) |
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
Teilweise werden zuerst verschiedene Datenbanken zu einer zusammengeführt, dieses wird Datawarehouse genannt. Als nächstes werden die Daten von Fehlern bereinigt, dann werden aus den Datensätzen sogenannte Trainingsdaten ausgewählt. Dieses ist ein heikler Punkt, da bei falscher Auswahl der Trainingsdaten es zur Überanpassung und somit fehlerhaften Ergebnissen führen kann. 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 neuen Daten gezogen werden können, d.h. es wird eine Abbildungsfunktion auf einen diskreten Wert (Klasse) oder einen numerischen Funktionswert gesucht. 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
Bei Entscheidungsbäumen 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. Entscheidungsbäume ist eines der am häufigsten benutzten Verfahren beim Data Mining.
Naive Bayes
Bei Naive_Bayes_classifier wird vereinfacht (d.h. naiv) angenommen, dass alle Attribute der Datensätze mit einer von einander unabhängigen Wahrscheinlichkeit ein Klasse oder einen Funktionswert ergeben. So kann das Bayes Theorem in einer vereinfachten Version verwendet werden )Wenn diese vereinfachende Annahme nicht gemacht würde, wären die Ergebnisse nur durch erheblichen rechnerischen Aufwand zu erzielen). Die Werte für die unabhänig angenommenen Wahrscheinlichkeiten lassen sich dann mit Hilfe der Trainingsdaten und dem Bayes Theorem berechnen.
Künstliche Neuronale Netze
Assoziationsregeln
Beim Association_rule_learning werden die gegenseitige Abhängigkeit von Attributen mit Hilfe von Wahrscheinlichkeitsrechnung bestimmt. (wie z.B. dicke Jacke, Selbstmordattentäter)
Clustering
Clustering ist das Einteilen der Datensätze in verschiedene Mengen (d.h. Clustern) mit ähnlichen Eigenschaften.
k-means Clustering
Beim k-means Clustering werden die Daten in eine vorher festgelegt Anzahl von Clustern (nämlich k) eingeteilt.
Hierachisches Clustering
Beim Hierachischen Clustern wird zuerst jeder Datensatz als ein Cluster angenommen um dann suksessiv die Anzahl der Cluster zu verkleinern.
Regression
Die Regression_analysis wird mit Hilfe von numerischen Methoden eine mehrdimensionale Funktion für die Daten approximiert.
Anwendungen von Data-Mining
SPAM Erkennung
Spam_(electronic) Erkennungsprogramm verwenden Data-Mining, dabei wird Naive Bayes verwendet. SPAM-Erkennung ist ein gutes Beispiel für das was Data Mining kann und was nicht. Es ist kein Problem für einen Menschen Mails in Spam und Nicht-Spam einzuteilen, Merkmale die in allen Spams vorkommen rauszufinden ist dagegen schwieriger. Bei Anwendung von Data Mining zur SPAM-Erkennung wurde entdeckt, dass die meisten SPAM-Mails die Zeichenfolge FF0000 enthielten, da wäre manuell niemand drauf gekommen, es ist aber logisch da es in HTML zur Erzeugung von roter Schrift dient. D.h. es ist eine Erkenntnis auf die der Mensch selber hätte kommen können, total überraschende Erkenntnisse kann Data Mining nämlich nicht liefern.
Scooring
Beim Scooring werden Entscheidungsbäume und andere Methoden der Klassifizierung verwendet um die Menschen in kredit- und nicht kreditwürdig einzuteilen.
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 Künstlichen Intelligenz, 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 Software bei der Polizei 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:
Weitere Infos
Grundkurs Künstliche Intelligenz von Wolfgang Ertel, Vieweg-Verlag -- bietet eine einfache und theoretisch fundierte Einführung in Künstliche Intelligenz und es gibt auch ein Kapitle zu Data Mining
Seminararbeit zu Data-Mining -- bietet eine Übersicht
Rote Hilfe Zeitung zu Data Mining und Rasterfahndung