Can you dig it?

Can you dig it? (Foto: Hadal, Wikimedia Commons)

Durch den Hype um “Big Data” einerseits und den NSA-Abhörskandal andererseits sind Begriffe wie Data Mining, Machine Learning & Co. plötzlich in aller Munde. Oft wird aber nur oberflächlich diskutiert, die genauen technischen Abläufe sind unklar, die Möglichkeiten und Konsequenzen moderner Tools werden entweder verharmlost oder verteufelt. Der folgende, voraussichtlich vierteilige Gastbeitrag von “AppGuy” Christoph Henkelmann (Firmenseite, privates Blog) soll dem etwas entgegensetzen und auf möglichst nüchterne Art zwei grundlegenden Fragen nachgehen:

Wie kann man mit Hilfe von Computerprogrammen überhaupt aus Daten einen Sinn erarbeiten?

Warum kann dieses “sinnvolle” Arbeitsergebnis möglicherweise ungenau, unzuverlässig, gefährlich sein?

Die Idee zu diesem Post entstand nach einem ähnlich gelagerten Vortrag von Christoph auf dem letzten Braincamp, der später noch ausgiebig privat diskutiert und schließlich in Teamarbeit ins oreillyblog überführt wurde.

Teil 1: Data-Mining 101, Data-Mining-Arten, Lernverfahren

Buzzword-Alarm!

Zunächst schalten wir einen Gang zurück und betrachten, was sich hinter den inflationär gebrauchten Fachbegriffen eigentlich verbirgt:

Big Data bedeutet schlicht und ergreifend, dass es sich um viele Daten handelt, die verarbeitet werden. Ansonsten geht es hier v.a. um Implementierung bzw. um eine Reihe von Designprinzipien (z.B. MapReduce) und Tools (z.B. Hadoop), mit denen sich Data Mining auf wirklich große Datenberge anwenden lässt.

Data Mining ist nun eine Mischung aus verschiedenen Disziplinen:

Der wichtigste Teil des Data Mining klingt wie der banalste: Preprocessing (= Vorverarbeitung). Teilweise sehr heterogene Daten müssen zunächst in eine Form gebracht werden, die für das jeweilige Verfahren geeignet ist.

Ein weiterer grundlegender Bestandteil sind Statistische Verfahren. Das kann etwas so Einfaches sein wie ein Durchschnitt oder eine Standardabweichung – oder etwas so Komplexes wie der Pearson-Korrelationskoeffizient.

Neben Statistik ist Machine Learning (ML) von großer Bedeutung, der Computer soll ja etwas aus unseren Daten lernen. Machine Learning ist übrigens auch ein Teilbereich des Forschungsgebiets Künstliche Intelligenz (KI). Wie bei vielen jungen Disziplinen verschwimmen hier oft die Grenzen.

Wir halten fest: Data Mining = Preprocessing + Statistik + ML + KI

Für den Unterschied zwischen Data Mining und Data Intelligence lesen Sie die Packungsbeilage oder fragen Sie Ihren Marketingexperten oder Vertriebler.

Welche Arten von Data Mining gibt es, und wann werden sie angewendet?

Möchte man eine konkrete, datenbezogene Frage lösen, hilft es sehr, sich zunächst darüber klar zu werden, in welche Kategorie “das Problem” fällt. Dadurch wird die Auswahl möglicher Verfahren bereits deutlich eingeschränkt. Diese Sichtweise hilft auch zu verstehen, welche Daten genau man braucht, und wie man sie vorbereiten muss.

Classification

Classification ist der “klassische” ML-Anwendungsfall. Man hat eine Reihe von “Labels” oder Kategorien, die einzelnen Datensätzen zugeordnet werden sollen. Szenarien für Klassifikation können z.B. sein:

- ist eine Email Spam oder nicht?
- in welcher Sprache ist ein Text verfasst?
- welcher Typ Konsument ist ein Kunde: Turbo-Shopper, Gelegenheitskäufer…?

Der Name Klassifikation lässt es schon erahnen: Man kann auch Personendaten in Schubladen stecken:

- sexuelle Orientierung: hetero, schwul, bi
- was wird gewählt?: CDU, SPD, FDP, Grüne, Linke, Piraten
- ist x Terrorist(in)?: ja, nein

Gerade in diesem Zusammenhang ist es wichtig zu erwähnen, dass die Auswahl von Labels von Anfang an feststeht. Was als Label nicht vorkommt, wird nicht erkannt.
Und ebenso wichtig: Es wird immer ein Label vergeben.

Manche Verfahren erlauben es, die Vergabe des Labels mit einem Confidence-Wert zu versehen, d.h. der Algorithmus kann angeben, wie sicher die Aussage ist. Hier liegt die Entscheidungshoheit über das “Richtig” bei der Person, die die Auswertung vornimmt.

Es gibt auch Verfahren, in der mehrere, hiearchische Labels vergeben werden können. Ein Beispiel wäre z.B. ein System, das auf Fotos Tiere erkennt. Es kann ein Lebewesen als “Katze”, “Hund”, “Schaf”, etc. und als “Säugetier” identifizieren. Ist sich die KI weniger sicher, vergibt sie vielleicht nur das Label “Säugetier”.

Clustering

Beim Clustering werden Datensätze Gruppen zugeordnet, d.h. “ähnliche” Datensätze wandern in einen Topf. Je nach Verfahren muss die Anzahl der Gruppen vorgegeben werden oder wird vom Verfahren bestimmt. Die Bedeutung der Gruppierung wird nicht ermittelt, es ist Aufgabe der Datanalysten, hinterher zu bestimmen, ob diese Gruppen eine Bedeutung haben – und wenn ja, welche. Indirekt kann damit natürlich wieder klassifiziert werden. Wer nach dem Durchsehen der Gruppen Gemeinsamkeiten ihrer Mitglieder in der “echten” Welt entdeckt, kann die Zuordnung zu einer Gruppe als Label benutzen.

Clustering ist bei allen Data-Mining-Fragen ein guter erster Schritt, sich einen Überblick über die Daten zu verschaffen.

Outliers / Anomalies Detection

Bei dieser Art von Data Mining geht es um “ungewöhnliche” Datensätze werden ermittelt. Auch hier wird die Frage, was „ungewöhnlich“ bedeutet, nicht durch den Algorithmus beantwortet. Ist eine Banktransaktion “ungewöhnlich”, weil Betrug vorliegt? Oder ist da jemand einfach nur im Summer-Sale-Kaufrausch? Anomalies / Outlier Detection kann man auch wieder als binäres Klassifizierungsproblem auffassen: Wir benutzen als Label einfach “ungewöhnlich” und “nicht ungewöhnlich”.

Outlier Detection ist aber auch verwandt mit Clustering: Bildet ein einzelner Datenpunkt ein eigenes „Mini-Cluster“, dann ist er höchstwahrscheinlich ungewöhnlich. Man sieht daran sehr gut, dass die Grenzen zwischen den Verfahren fließend sein können.

Time-Series Prediction

Hier sollen Daten, die ein zeitliches Element haben, aufgrund bisheriger Daten (und vielleicht zusätzlicher Datenquellen, z.B. Twitter-Nachrichten) vorhergesagt werden. Typische Anwendungsfälle sind Börsenkurse, Wasserpegelstände u.ä. Für den Fall Börsenkurse spricht man heute auch von “Algorithmic Trading”, also komplett automatisiertem Börsenhandel, bei dem Algorithmen entscheiden, wann was gekauft oder verkauft wird (was kann da schon schief gehen?).

Semantic Analysis

Die semantische Analyse ist eins der anspruchsvollsten und schwierigsten Verfahren. Sie soll helfen, Daten semantische Informationen zu entlocken. Das klassische Beispiel ist hier automatisiertes Textverständnis. Nach der Analyse des Satzes “Das ist das Haus vom Nikolaus” soll der Maschine klar werden: DIE ENTITÄT Nikolaus BESITZT jenes Gebäude.

Statistische Analysen

Dies umfasst eigentlich alle klassischen statistischen Verfahren. Man kann z.B. fragen, ob zwischen verschiedenen Datenquellen eine Korrelation vorliegt und wenn ja, wie sie aussieht, ob sie alle Werte betrifft etc. Analysen dieser Art werden u.a. für Recommender Systems genutzt („Andere Kunden, die x kauften, kauften auch y.“).

Lernverfahren

Viele Verfahren im Data Mining kommen – wie schon erwähnt – aus dem Machine Learning. Es muss also der Maschine (dem Algorithmus) etwas beigebracht werden. Die Art und Weise, wie dies geschieht, ist ein typisches Unterscheidungskriterium. Möchte man aus einem Haufen Daten konkrete Erkenntnisse gewinnen, empfiehlt sich stets auch die Frage danach, welche überhaupt Lernart zum Einsatz kommen kann. Man unterscheided meist folgende Typen:

Supervised Learning

Beim überwachten Lernen wird der Maschine erst Datenmenge vorgelegt, für die Labels, Cluster o.ä. bereits feststehen. So lernt das System, zu verallgemeinern – und kann fortan auch neue, unbekannte Daten auswerten.

Unsupervised Learning

Beim nicht überwachten Lernen muss die Maschine sich selbst einen Reim aus den Daten machen, was z.B. bei Clustering-Verfahren Sinn ergibt, die ihre Cluster komplett selbst wählen.

Semi-supervised Learning

Hier handelt es sich einfach um eine Mischung aus überwachtem und nicht überwachtem Lernen.

Reinforcement Learning

Lernen durch Versuch und Irrtum und anschließender Belohnung oder Bestrafung. Das bekannteste Beispiel für dieses Lernverfahren ist das TD-Gammon von Gerry Tesauro, das sich selbstständig bis auf Großmeister-Niveau trainiert hat.

Soweit alles klar? Beim nächsten Mal geht’s weiter mit Data Mining an einem konkreten Beispiel.

Eine Antwort

  1. […] oder Google die Voice Search startet, dann ebenso. Auch denke ich dabei einerseits an Big Data, an Data Mining, oder negativ an die automatische Auswertung von Telekommunikation durch Geheimdienste. Und wenn wir im Rahmen vom Hummingbird an die kontextbasierte Suche denken, an Entitäten, dann […]

Hinterlassen Sie einen Kommentar - eine Freischaltung ist nur beim ersten Mal erforderlich.