Datamining

Datamining Process

Datamining Process

Martin Holper

Martin Holper

Fichier Détails

Cartes-fiches 58
Langue Deutsch
Catégorie Informatique
Niveau Université
Crée / Actualisé 02.09.2013 / 07.02.2018
Lien de web
https://card2brain.ch/box/datamining
Intégrer
<iframe src="https://card2brain.ch/box/datamining/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was ist Datamining?

Bsp: Kreditrisikovorhersage, ist der Bewerber kreditwürdig?

Lösungen:

Data Mining Lösung: erzeuge Regel wie wahrscheinlich es ist, dass jemand Kreditwürdig ist, auf Basis von historischen Bankdaten.

 

Dataminig: Definitionen

"Fortschrittliche Methoden zum Entdecken und Modellieren von Beziehungen in großen Datenmengen"

"Erforschung von nützlichen Zusammenhängen innerhalb von Daten"

"Prozess der Identifikation von nützlichen Mustern und regelmäßigkeiten in großen Datenkörpern"

 

Mulitdisziplinär (siehe Grafik):

Datamining vs. Data Warehousing

Verschiedenen Ansätze der Datenanalyse:

Data Mining: Beziehungen in Daten erforschen

DataWarehouse/OLAP: mulitdimensionales Modell

SQL: Abfragen auf Rohdaten

Datamining Techniken

  • Predicitve Modelling
  • Cluster analysis
  • Dependency derivation (association rules)
  • web mining
  • Text mining
  • Sequence Matching
  • Time Series Forecasting

Predictive Modelling - Problemformulierung

Historische Daten, Input Variablen (Attribute des Objekts), Zielvariable

Pred.Mod. beinhaltet:

  • erstellen eines Modells von Zielbeziehungen
  • ermittlung der Prognosegüte dieses Modells für unbekannte Daten

Modellierungsmöglichkeiten

  • Klassifikation: für qualitative Ziele
  • Regression: für quantitative Ziele

Methoden/Algorithmen für Pred. Mod.:

  • Lineare Regression
  • Lineare/Nichtlineare Diskriminanzanalyse
  • Logistische Regression
  • Classification u. Regression Trees
  • Neuronale Netze
  • SVM
  • Nichparametrische Verfahren (Nearest Neighbor)

Amwendung: Kreditrisiko, Versicherungsbetrug, Genetik (risiko gruppen vorhersage, vorhersage Chemotherapie..), Produktionsbetriebe (Assement, Qualität)

 

 

 

 

Clustering  - Formulierung

finde Gruppen von Objekten die sich ähnlich sind aber unähnlich zu andern Gruppen. Keine Zielvariable (unüberwachtes Lernen)

 

Anwendung: Customerprofiling, Target Marketing, Bioinformatics (ähnliche Gene, Krankheitstaxonomie ähnlicher Muster)

Clustering - Methoden, Herausforderungen

  • Hierarchisches Clustering
  • K-Means (nichtdeterministisch)
  • SVM..

Herausforderungen:

  • Nicht robust im ermitteln der exakten Anzahl der Cluster
  • Ergebnis hängt von Methoden des Clustering ab

 

Association Rules (Assoziationsregeln)

Aufgabe: eine Gruppe von Artikel finden die häufig gemeinsam gekauft werden

Ergebnisse werden üblicherwiese als Assoziationsregel A->B ausgedrückt, wobei

  • Unterstüzung der Regel = Häufigkeit {A,B}
  • und Vertrauen in die Regel = Pr{B|A} hoch genug ist.
  • Interesanter Parameter der Regel ist lift = Pr(B|A)/Pr(B)
    • Pr(B) = Wahrscheinl. B zu kaufen, Regel liften die Wahrscheinlichkeit B zu kaufen

Herausforderung: finden aller Regeln mit minimaler Unterstützung und minimalem Vertrauen in großer Datenmenge!

Anwendungen: Körbe=Dokumente, Artikel = Wörter; Gemeinsam vorkommende Wörter implizieren für ein Gebiet charakteristische Phrasen; Benutzt zur aut. Textklassifikation

Time Series Forecasting (Zeitreihenprognose)

Eingabedaten: Zeitreihenvariable(n) über den bestimmten gleichen, Zeitspanne

Es wird angenommen das die Daten einen Trend, eine Saisonales Verhalten und Rauschen besitzen.

Prognose wird durch extrapolation von Trends der Vergangenheitswerte durchgeführt.

Anwendung: Stromverbrauch, Verkaufsdaten, Meteorologie

Methoden: ARIMA, Exponential Smoothing Models, AutoRegressive Bäume

Predictive Modelling - Terminologie

Eingabedaten {x1,y1)....(xn,yn)}

1. finden eines Modells des Zusammenhangs zwischen Y und X1,X2,...,Xd

2. Bestimmung der Prognosegüte des Modells für unbekannte Daten

Xi .. Inputvariable (auch: unabhängige Variable, Predictor, Regressor, erklärende Variable, Faktor, oder Covariate genannt)

Y...Zielvariable (auch Antwort genannt)

 

Lineare Methoden zur Regression

Wir suchen Y(X) - unter der Annahme, das der Zusammenhang linear ist

Viele nicht-lineare Probleme können mittel lineare Regression modelliert werden - durch Anwendungen von transformationen auf den Variablen.

Lineare Methoden zur Klassifikation

Regression kann auch zur Klassifikation benutzt werden (logistische Regression)

Linear Annahme ist auch wichtig in Klassifikation (zb. Diskriminanzanalyse, Hyperraum-Trennung (Perceptron))

Statistische Entscheidungstheorie - theoretischer Background

Notation:

  • Eingabedaten: X€Rd
  • Ausgabedaten: Y€Rd
  • Verbundwahrscheinlichkeitsverteilungsfunktion:PR(X,Y)

 

Aufgabe: Finden einer Funktion f(X) zur Prognose des Wertes von Y

Diese Funktion soll den Quadratischen Fehler minimieren - Lösung REgressionsfunktion (siehe Grafik)

Von der Theorie zur Praxis:

Regressionsfunktion f(x) = E(Y|X=x) basiert auf der bekannten Verbundswahrscheinlichkeitsfunktion von X und Y.

Die Bestimmung einerFunktion f anhand der Eingabedaten {x1,y1)....(xn,yn)} kann parametrisch oder nicht-parametrisch passieren.

Lineare Regression

Wir nehmen an, dass f(x)=E(X=x) eine Linearfunktion von X1,X2,...,Xd ist: (siehe Grafik oben)

Als Xj können quantitative Eingabevariablen, nicht-lineare Transformationen der Eingabe (log), numerisch codierte Qualitative Variablen sein.

Anpassung des Modells:

Bestimmung von Beta (ß) basiert auf den Eingabedaten durch Minimierung der Residuen der Summe der Quadrate RSS(ß) (sieh Grafik unten)

Verifikation des Modells:

Güte der Anpassung muss Verifiziert werden bevor Model zur Prognose herangezogen wird.

Prüfung erfolgt mit Hilfe von:

  • Diagnostischen Plots
    • visuell die Linearitäts-Annahme verifizieren (y-Achse Zielvariable, x-Achse Eingabeparamtervariable)
    • sowie x-Achse: Predicted Value, y-Achse Residual (yobserved-ypredicted) - Trend in Plot  zeigt Model ist nicht adequat
  • Hypothesentest (Parametersignifikanz)
    • Test der Hyptohese H0: Bj=0
    • wenn p-Wert <0.05 wird Hypothese verworfen und Parameter ist relevant
  • Messung des Residuenfehlers
    • Root MSE: durschnittl. quadratischer Fehelr in Regression
    • R2 gibt an wieviel der Varianz der Daten erklärt werden konnten. (1 ist Bestwert)

Lineare Regression - beste Regressoren finden

Prolbem: Regression basiert auf allen Merkmalen von X, wie findet man die besten Merkmale?

Vorwärts: hinzufügen von Parametern zu Modell

Rückwärts: mit allen Parametern starten, dann entfernen

Schrittweise: wie Vorwärts, aber Parameter kann auch wieder entfernt werden an Hinzufügung

Regression vs. nichtparamterischen Ansatz

Regression: Annahme Linearfunktion von X1,...Xd

Nichtparametrisch: Nearest Neighbours Methode:

f(x) = Average(yi|xi€Nk(x))

  • Nk(x).. Nachbarschaft von x welchen die k nähesten Point zu x beinhalten
  • Versuch der Bestimmung von f^(x) = E(Y|X=x) direkt aus den Daten.
  • Theorem: wenn n,k-->unendlich, k/n-->0, dann f^(x)-->E(Y|X=x)

 

Klassifikation (Classification)

Notation:

  • X€Rd ..... Eingabevariablen
  • Y€C={c1,c2,...,cM} .... mögliche Y-Werte
  • x€Ci wenn Y(x)=ci (x gehört zur Klasse ci)

Die Annahme ist wie bei Regression, dass Verbundwahrscheinlichkeitsverteilungsfunktion Pr(X,Y) von X und Y bekannt ist.

Loss-Matrix LMxM - zur Betrafung von Misklassifikationensentscheidungen des Klassifizierers f

L(i,j)=0 für x€ci und f(x)=cj und i gleich j
L(i,j)=1 für x€ci und f(x)=cj und i ungleich j

Gesucht wird ein Klassifizierer f(X) welchen den erwarteten Prognosefehler minimiert:

EPE=E(L(Y,f(X)))

Bayes Klassifizierer

Lösung zur minimierung des erwarteten Fehler: Bayes

f(x)=ck für Pr(ck|X=x)=maxPr(c|X=x), wobei c€C

Regel: Klassifiziere x in jene Klasse ck welche am ehesten innerhalb der bedingten Verteilung Pr(Y|X=x) erweist.

Bayes Klassifizierer ist optimal zur Minimierung der Klassifizierungsfehlerwahrscheinlichkeit

Enfache Regel:

Pr(c1|x)>Pr(c2|x) --> klassifziere zur Klasse c1
Pr(c1|x)<Pr(c2|x) --> klassifziere zur Klasse c2

oder für gleichwahrscheinliche Klassen:

Pr(x|c1)>Pr(x|c2) --> klassifziere zur Klasse c1
Pr(x|c1)<Pr(x|c2) --> klassifziere zur Klasse c2
 

Problem: Bestimmung von Pr(ci|x) ist anhand der Daten schwierig, leichter ist die Bestimmung Pr(x|ci)

Bayes Regel: siehe Grafik

Pr(ci|x) bekannt als posteriori Wahrscheinlichkeit

Pr(ci) bekannt als a priori Wahrscheinlichkeit - kann aus Trainingsdaten bestimmt werden - als Frequenzen von Beispielenn verschiedener Klassen

Bayes Fehler

wegen überlappenden Merkmalen

einziger Weg diesen Fehler zu reduzieren ist, mehr Information über zu klassifizierende Daten zu bekommen (d.h. mehr Merkmale)

Um die anhand der Bayes Regel entstanden Merkmalsräume immer in disjunkte Regionen getrennt.

Lineare Methoden in Klassifikation

Wie werden die Entscheidungshyperraum anhand der Trainingsdaten bestimmt?

Analytische Lösung für p(x|ci), i=12,..M bei Normalverteilung LDA, QDA

Iterative Algorithmen zur Anpassung von Hyperebenen bei nicht normal-verteilten Daten

LIneare Diskrimimanzanalyse (LDA)

LDA definiert die Bayes (optimalen) Klassifizierer für p(x|ci) normalverteilt, (mit selber covarianz Matrix in allen Klassen)

Danach werden ß01,...,ßd basierend auf den Durchschnitten und Kovarianzen der Merkmale in verschiedenen Klassen berechnet.

Quadratische Diskriminanzanalyse (QDA)

QDA definiert den Bayes (optimalen) Klassifizierer für den allgemeinen Fall von p(x|ci) normalverteilt.

Logistische Regression

Idee: 

  • Y, diskret zB 0/1
  • p=Pr(Y=1|X=x)
  • Logit(p)=log(p/(1-p))
  • wir modellieren logit(p) als Linearfunktion von Merkmalen

Lineare Methoden in Klassifikation - Separierende Hyperebenen

es wird kein Annahme über eine Verteilung in den Trainingsdaten gemacht

Mittels Perceptron Algorithmus findet man ß,ß0 (siehe Grafik)

Lineare Methoden in Klassifikation - Perceptron Algorithmus

Idee: finde ß durch Lösung einer Optimierungsaufgabe in der die cost J(ß) von falschklassifizierungen minimiert werden.

J(ß) = Summe misklas. |<ß,x>|

ß wird durch iterative Minimierung von J(ß) durch Gradienten Abstiegsmethode

Perceptron für nicht-linear separierbare Daten

nach Transformation der Variablen wir das Problem im neuem Koordinatensystem linear separierbar --> multilayer Perceptron (siehe Grafik)

Mulitlayer Perceptron

jeder Knoten mit Hiddenschicht verbunden, ein Output Knoten, Stuktur siehe Grafik

Neuronale Netze (NN)

Es können auch meherer Output Knoten möglich sein (siehe Grafik)

Quantitave Eingabedaten: ein Neuron pro Eingabevariable

Ordinale/Nomiale Eingabedaten: Variable mit N ebenen wird zu einer N dummy Variable geändert (mit werten 0,1 um die Klassenzugehörigkeit zu dokumentieren)

Nachteil: NN ist ein "Blackbox" System, es ist unmöglich den Prognosevorgang nachzuvollziehen.

 

K-Nearest Neighbours

Idee: Prognosewerte für unbekannte Menge von Eingaben basiert auf k nähesten Nachbarn der Trainingsdatenmenge.

nicht-parametrisches Verfahren

kann als ein ansatz zum Vergleich p(x|c1) vs p(x|c2)  direkt aus den Daten heraus gesehen werden (siehe Grafik)

Distanzmaße:

euklid

Manhattan distance: Summe der absoluten Differenzen zwischen korrespondierenden Werten

Correlation Distanz = 1-cor(v1,v2), wobei cor der Korrelationskoeffizient zwischen Vektor v1, v2 darstellt.

Decision Trees - Entscheidungsbäume

Wurzel: die gesamte Datenmenge

Blätter: entsprechen den Klassifikationsentscheidungen

Rekursive Partitionierung der Daten um die Reinheit zu erhöhen; Partionierung erfolgt solange bis Partionen rein oder klein sind.

Maße der Reinheit: entropy, gini-Index

Algorithmen: CART, C4.5, C 5.0

VT: einfach zu Verstehen

NT: schlechte Robustheit - kleine Änderungen in den Eingabedaten führen zu stark unterschiedlichen Baumstrukturen, daher Random Forest

Decision Trees - Probleme

Wie wählt man ein Attribute welches zum Datensplit verwendet wird, aus?

siehe nächsten drei Karteien

Wie lange soll der Prozess des Splittens andauern?

Regel: stoppe wenn der Knoten rein oder klein ist (min n - parameter des Algorithmus)

Was ist die beste Höhe/Größe des Baums?

Problem des Overfitting/bauen eines zu einfachen Baums

Regel: bestimme Fehler (Fehlklassifikationsfehler) von Trainig und Testdaten

Schrumpfe zu große Bäume um die Kosten zu reduzieren

Decision Trees - Auswahl des Splitattributs Ansatz I

Ansatz I: Basierend auf der Messung des Zusammenhangs von Variablen Xi und Y

Idee: für jedes xi i=1,2,...,d berechne den pWert für Hypothese H0: Xi und Y sind unabhängig

Splitte Knote s unter Verwendung der Variable Xi, wo der pWert der kleinste ist (auf jeden Fall 0.05)

mögliche Test hierfür: Chi-Quare, F oder ANOVA

Decision Trees - Auswahl des Splitattributs Ansatz II

AnsatzII: Maximiere einige Kriterien zur Qualität des Splits (zB. entropy-reduktion, varianz-reduktion,..)

Idee: 

Definiere I(S) als Maß der Unreinheit des Knoten S

wenn split basierend auf Variable A basiert, definiere ein Qualitätsmaß des Splits als:

W(S,A)=I(S)-Summe p(b)I(Sb)

(Summe über alle Teilungen b welche Knoten S p(b) - Wahrscheinlichkeit der Auswahl der Teilung b)

Selektiere Splittung anhand A, maximiere Maß W

Decision Trees - Auswahl des Splitattributs - Definition von I(S)

Entropie (Y€C={c1,c2,..cm})

oder GiniIndex (siehe Grafik)

Beide Maße liefern:

maximalWert für die Gleichverteilungen aller Klassen (=1/M)

0, wenn pi=1 für einige i (alle Daten gehören zu einer einzigen Klasse)

Decision Trees - Auswahl des nächsten Splitattributs

Szenario: 3 konkurriende Splits eines Knotens möglich

Notation: n1/n2 ... Anzahl der Observationen der Klassen "1"/"2" im Knoten

Wir selektieren den Split um W zu maximieren (siehe Grafik)

Bäume vs. Neuronale Netze

Bäume:

Klassifikationsprozess kann nachvollzogen werden und als Menge von Regeln ausgedrückt werden

nicht sehr robust (kleine Änderungen in Eingabedaten, liefern gänzlich andere Strukturen) --> Random Forest

Neuronale Netze

"Black Box" - Klassifikationsprozess kann nicht nachvollzogen werden

robuster als Bäume

Hyperebenen optimal separieren

Aufgabe: finde eine separierende Hyperebene mit der Bedingung maximiere den Rand (Margin)

--> Löse dazu ein Optimierungsproblem (siehe Grafik links)

Lösung: (siehe Grafik rechts)

ß = Summe (i=1 bis N) AlphaiyiXi

mit Alphai ungleich 0 nur für Punkte am Range des separierenden Ebene (Support Vektors)

Support Vector Klassifizierer

Erlauben nicht-linear separierbare Daten

finden des separierenden Hyperebene --> Lösung des vorherigen Optimierungsproblem mit anderen Bedingungen (siehe Grafik links)

Slackvariable erlauben das Ausmaß in welcher die Prognose ß0+<ß,xi> auf der falscher Seite des Randes (Margin) liegen darf

Zur Bindung der Summe der Slackvariablen liegt die Lösung, dass ß nur abhängig von den Supportvektoren ist. (siehe Grafik links unten)

Support Vector Machines

Gebe Lösung für ß in die Defintion von f(x) -> Formel: Grafik oben

Duale Repräsentation: daten nur im Skalarprodukt

Verrauschte oder nicht-separierbare Daten nicht umgehbar

Lösung: Verschiebe Daten in höher-dimensionalen Merkmalsraum und separiere sie dort.  Formel: Grafik mitte

man benötigt nicht die Transformation h() - nür Kernel werden gebraucht (siehe Grafik unten)

Klassifizierer Komplexität und Risko von Overfitting

zu komplexe Klassifizierer verlieren ihre Generalisierungseigenschaft, werden anfällig für Overfitting

Overfitting

Versuch der Minimierung des Traingsfehlers durch Parameter-Tuning

Performanz des Klassfizierers mus auf einer ihm unbekannten Datenmenge erfolgen

Oft ist eine große Lücke zwischen Trainingfehler und Testfehler ersichtlich --> das wird Overfitting genannt

Overfittinggefahr steigt mit Modellkomplexität bzw. Dimensionalität des Problems

Zu simpler Klassifizierer ist nicht fährig den Zusammenhang zwischen Ziel und Eingabedaten herzustellen

Es ist ein Kompromiss zwischen der flexibilität des Klassifizierers und seiner Generalisierungsfähigkeit zu finden!

Vermeidung von Overfitting durch:

Featureauswahl basierend auf hyptothesen-Tests oder PCA

bei geringer Anzahl an Eingabedatenmenge - diese Wiederverwenden (Crossfolds)