Datamining
Datamining Process
Datamining Process
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>
|
Dataminig: Definitionen
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 - 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
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
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
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)