Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
7-1Data Mining
Data Mining
Supervised Machine Learning
Johannes Zschache
Wintersemester 2019
Abteilung Datenbanken, Universität Leipzig
http://dbs.uni-leipzig.de
7-2Data Mining
Ăbersicht
Hochdimensionale Daten
Clustering
Empfehlungs-systeme
Locality Sensitive Hashing
Dimensions-reduktion
Assoziations-regeln
Supervised ML
Graphdaten
Community Detection
PageRank
Web Spam
DatenstrĂśme
Windowing
Filtern
Momente
Web Advertising
7-3Data Mining
Inhaltsverzeichnis
⢠Einfßhrung
⢠Entscheidungsbäume
⢠Support Vector Machines
⢠Neuronale Netze
⢠Ăbung
Literatur: Kapitel 12 und 13 aus âMining of Massive Datasetsâ (v3.0 beta):
http://www.mmds.org
7-4Data Mining
Supervised Learning
⢠Daten zu einem Paar (đ, đŚ)â đ ist ein Vektor aus Merkmalen (Features):
⢠verschiedene Datentypen mÜglich
⢠Beispiel: (Age, Male, Class)
â đŚ ist eine Bezeichnung (Label),
⢠eine reelle Zahl oder eine Kategorie (Klasse)
⢠Beispiel: Survived
⢠Ziel: Auffinden einer Funktion (Modell) đ mit
đŚ = đ(đ)
⢠Vielzahl an Funktionen mÜglich
⢠Bewertung und Auswahl der Funktion ßber Daten
â Aufteilung in Trainings- und Testdaten (z.B. 80% vs. 20%)
â Schätzen der Funktion Ăźber Trainingsdaten: Fehler mĂśglichst gering
â Bewerten der Funktion an Testdaten: Fehler mĂśglichst gering
X Y
Xâ Yâ
Trainings-/
Testdaten
Age Male Class Survived
Child True 1 Yes
Adult True 2 No
Adult False 1 Yes
Child True 3 No
⌠⌠⌠âŚ
7-5Data Mining
Methoden des Supervised ML
⢠Generelles Problem bei
hochdimensionalen Daten:
Overfitting (Funktion passt sich
den zufälligen Fehlern an)
⢠LÜsung z.B.
â Dimensionsreduktion Ăźber
PCA/SVD oder Clustering
â Regularisierung (Ridge, Lasso)
â Informationskriterien, z.B. AIC, BIC,
DIC, WAIC, âŚ
Bewährte Methoden (Ausschnitt)
Lineare Regression
Logistische Regression
Linear Discriminant Analysis
K-Nearest Neighbors
NaĂŻve Bayes
Entscheidungsbäume
Support Vector Machines
Neuronale Netze
7-6Data Mining
Inhaltsverzeichnis
⢠Einfßhrung
⢠Entscheidungsbäume
⢠Support Vector Machines
⢠Neuronale Netze
⢠Ăbung
Literatur: Kapitel 12 und 13 aus âMining of Massive Datasetsâ (v3.0 beta):
http://www.mmds.org
7-7Data Mining
Entscheidungsbäume
⢠Variable đ: numerisch (Regression) oder kategorial (Klassifikation)
⢠Vorhersage von Y durch X ßber eine Baumstruktur
â Folge den Ăsten des Baums
entsprechend den Werten von X
â Vorhersagewert fĂźr Y
an den Blattknoten
A
đđ < đ
C
D E
F H I
Y = 4
đđ{đ, đ, đ }
Y = 1
đđ < đ đđ > đ
7-8Data Mining
Erstellen eines Entscheidungsbaums (Regression)
Ziel: Aufteilung der Variaben aus X in Regionen đ 1, đ 2, ⌠, đ đ˝, so dass
đ=1
đ˝
đâđ đ
đŚđ â ŕˇđŚđ đ2
minimiert wird ( ŕˇđŚđ đ bezeichnet den Vorhersagewert der Region đ đ).
⢠Vorhersagewert ist der Mittelwert der Datenpunkte der Region
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
16 21 26 31
Ber
ufse
rfah
rung
Alter
đ 1 đ 2
đ 3
A
đđĽđđđŤ < đđB
đđ 1 = 4
đđđŤđŽđđŹ âđđŤđđđĄđŤđŽđ§đ < đ, đ
đđ 3 = 1 đđ 2 = 2
7-9Data Mining
Erstellen eines Entscheidungsbaums (Regression)
Ziel: Aufteilung der Variaben aus X in Regionen đ 1, đ 2, ⌠, đ đ˝, so dass
đ=1
đ˝
đâđ đ
đŚđ â ŕˇđŚđ đ2
minimiert wird ( ŕˇđŚđ đ bezeichnet den Vorhersagewert der Region đ đ).
⢠Vorhersagewert ist der Mittelwert der Datenpunkte der Region
⢠Problem: zu viele mĂśgliche Aufteilungen in đ˝ Regionen
⢠Ausweg: Recursive Binary Splitting
â Wiederholte Auswahl einer Variable đđ und eines Schwellenwerts đ , so dass die
beiden Regionen đ 1 đ, đ = {đĽ|đĽđ < đ } und đ 2 đ, đ = {đĽ|đĽđ ⼠đ } die folgende
Summe minimieren:
đ:đĽđâđ 1 đ,đ
đŚđ â ŕˇđŚđ 12+
đ:đĽđâđ 2 đ,đ
đŚđ â ŕˇđŚđ 22
â Stopp, falls z.B. in jede Region weniger als 5 Datenpunkte fallen
7-10Data Mining
Entscheidungsbaum fĂźr Klassifikation
⢠Vorhersagewert ist der häufigste Wert der Datenpunkte einer Region
⢠FehlermaĂ: z.B. Entropie
đŻ đ = â
đŚâDomäne von đ
đđŚ log2 đđŚ
⢠Der Wert đđŚ gibt die Wahrscheinlichkeit der Ausprägung đ = đŚ
â Hohe Entropie: gleichverteiltes Y
â Niedrige Entropie: ungleiche Verteilung
Niedrige Entropie Hohe Entropie
7-11Data Mining
Entropie: Beispiel
⢠đż: Abschluss
⢠đ: mag den Film âCasablancaâ
⢠Schätzen der Wahrscheinlichkeiten
ßber relative Häufigkeiten
â đ đ = đ˝đ =3
8, đ đ = đđđđ =
5
8
â đ đ = đ˝đ|đ = đđđĄâđ =1
4
â đ đ = đđđđ|đ = đđđĄâđ =3
4
⢠Entropie:
đť đ = â3
8log2
3
8â5
8log2
5
8â 0.95
⢠Spezifische bedingte Entropie:
đť đ đ = đđđĄâđ = â1
4log
1
4â3
4log
3
4â 0.81
X Y
Mathe Ja
Geschichte Nein
Informatik Ja
Mathe Nein
Mathe Nein
Informatik Ja
Mathe Nein
Geschichte Nein
7-12Data Mining
Entropie: Beispiel
⢠Bedingte Entropie:
đť đ đ =
đĽâđđ
đ đ = đĽ đť(đ|đ = đĽ)
đť đ đ =1
2â 0.81 +
1
4â 0 +
1
4â 0 = 0.4
⢠Ziel: Auswahl des Attributs X mit niedrigstem đť(đ|đ)
X Y
Mathe Ja
Geschichte Nein
Informatik Ja
Mathe Nein
Mathe Nein
Informatik Ja
Mathe Nein
Geschichte Nein
đĽ đ(đ = đ) đť(đ|đ = đ)
Mathe 1
2
0.81
Geschichte 1
4
0
Informatik 1
4
0
7-13Data Mining
Beste Aufteilung eines Knotens
⢠AnschlieĂend
â X ist numerisch: Auswahl des Schwellenwertes
â X ist kategorisch: Auswahl von Kategorien
⢠Beispiel:
â Aufteilung: đ = đđđĄâđ vs. đ â đđđĄâđ
⢠đť(đ|đ = đđđĄâđ) = 0.81 und đť(đ|đ â đđđĄâđ) = 1
⢠Spezifische bedingte Entropie gewichtet nach der Anzahl der Einträge pro Kindsknoten: 1
2â đť(đâđ = đđđĄâđ) +
1
2đť(đ|đ â đđđĄâđ) = 0.9
â Aufteilung: đż = đ°đđđđđđđđđ vs. đż â đ°đđđđđđđđđ
⢠đť đ|đ = đźđđđđđđđĄđđ = 0 und đť đ|đ â đźđđđđđđđĄđđ = 0.65
â˘1
4â đť đ đ = đźđđđđđđđĄđđ +
3
4đť đ|đ â đźđđđđđđđĄđđ = đ. đđ
â Aufteilung: đ = đşđđ đâđđâđĄđ vs. đ â đşđđ đâđđâđĄđ
⢠đť đ|đ = đşđđ đâđđâđĄđ = 0 und đť đ|đ â đşđđ đâđđâđĄđ = 1
â˘1
4â đť đ đ = đşđđ đâđđâđĄđ +
3
4đť đ|đ â đşđđ đâđđâđĄđ =
3
4
A
C
D F
Y = 4
đđ < đ
đđ{đ´đđđđ}
7-14Data Mining
Entscheidungsbäume
⢠Leicht zu verstehen, implementieren und interpretieren
⢠Parallelisierbar:
â B. Panda, J. S. Herbach, S. Basu, and R. J. Bayardo. PLANET: Massively parallel
learning of tree ensembles with MapReduce. In Proc. VLDB 2009.
â J. Ye, J.-H. Chow, J. Chen, Z. Zheng. Stochastic Gradient Boosted Distributed
Decision Trees. In Proc. CIKM 2009.
⢠Sowohl fßr kategoriale als auch metrische Ergebnisvariable Y geeignet
⢠Problem: Overfitting (Ăberanpassung des Modells an die Daten)
â Overfitting bei zu vielen Ebenen
â Doch bei wenigen Ebenen kĂśnnen nur wenige Attribute verwendet werden und die
Vorhersagegenauigkeit ist oft gering
7-15Data Mining
Bagging und Random Forests
⢠Ausweg: Kombination mehrerer Entscheidungsbäume geringer Tiefe
⢠Ăber z.B. Bagging
â Ziehen mehrerer Zufallsstichproben aus den Daten (mit ZurĂźcklegen)
â Ein Entscheidungsbaum geringer Tiefe pro Stichprobe
â Mittelwert/häufigster Wert Ăźber alle Bäume ergibt Vorhersage
⢠Random Forest:
Zusätzlich zum Bagging
wird beim Lernen der
Bäume an jedem Knoten
nur eine kleine (zufällige)
Auswahl der Attribute
betrachtet
7-16Data Mining
Inhaltsverzeichnis
⢠Einfßhrung
⢠Entscheidungsbäume
⢠Support Vector Machines
⢠Neuronale Netze
⢠Ăbung
Literatur: Kapitel 12 und 13 aus âMining of Massive Datasetsâ (v3.0 beta):
http://www.mmds.org
7-17Data Mining
Klassifizierung Ăźber Hyperebene
⢠Numerischer Merkmalsvektor đ = (đĽ1, ⌠đĽđ)
⢠Binäre Variable đŚ â â1,+1
- ---
-
- --- -
-
+1
-1
7-18Data Mining
Klassifizierung Ăźber Hyperebene
⢠Numerischer Merkmalsvektor đ = (đĽ1, ⌠đĽđ)
⢠Binäre Variable đŚ â â1,+1
⢠Eine Hyperebene des âđ teilt diesen Raum in 2 Bereiche
⢠Die Gewichte đ = đ¤0, đ¤1, ⌠, đ¤đ â âđ+1 beschreiben eine
Hyperebene H Ăźber
đť = đĽ â âđ|đ¤0 +
đ=1
đ
đ¤đ đĽđ = 0
⢠Klassifizierung ßber Hyperebene:
ŕˇđŚ = +1, falls đ¤0 + Ďđđ¤đđĽđ > 0
ŕˇđŚ = â1, falls đ¤0 + Ďđđ¤đđĽđ < 0
7-19Data Mining
Klassifizierung Ăźber Hyperebene
Ziel: Finden der Parameter đ, so dass der Raum der Merkmalsvektoren in
zwei Teile aufgespalten wird und Punkte mit dem gleichen Label auf der
gleichen Seite sind
- ---
-
- --- -
-đĽđ¤0 +
đ=1
đ
đ¤đ đĽđ = 0
đĽ+đ¤0 +
đ=1
đ
đ¤đ đĽđ+ > 0
đĽâ
đ¤0 +
đ=1
đ
đ¤đ đĽđâ < 0
7-20Data Mining
Auswahl der Hyperebene
--
-
-
--
-
Welche Hyperebene ist die beste?
7-21Data Mining
Maximal Margin Classifier
Verwendung der Hyperebene mit maximalen Abstand đ¸ zu den Daten
đ¸
7-22Data Mining
Maximal Margin Classifier
Ziel: Suche nach Gewichten đ = đ¤0, đ¤1, ⌠, đ¤đ mit minimalem Wert fĂźr
Ďđ˘=đđ§ đ°đ˘
đ, so dass, fĂźr alle Daten (đ,đŚ), gilt:
đŚ đ¤0 +
đ=1
đ
đ¤đ đĽđ ⼠1
đ¤0 +
đ=1
đ
đ¤đ đĽđ = +đ
đ¤0 +
đ=1
đ
đ¤đ đĽđ = âđ
đ¸
đ¤0 +
đ=1
đ
đ¤đ đĽđ = 0
7-23Data Mining
đâ˛
đ
đĽ
Maximal Margin Classifier
Sei đ°â˛ = (đ¤1, ⌠, đ¤đ). FĂźr đ+ gilt:
1 = đ¤0 +
đ=1
đ
đ¤đ đĽđ+
= w0 +đ°â˛ â đ+
= đ¤0 + đ°â˛ đâ˛
= w0 + đ°â˛ đ + đž= w0 + đⲠđ + đⲠđž= w0 +đⲠâ đ + đⲠđž= 0 + đⲠđž
Also: 1 = |đâ˛|đž
Rand đž ist maximal, wenn
đⲠ= Ďđ˘=đđ§ đ°đ˘
đ minimal
Orthogonale Projektion von đĽ+ auf đ¤â˛
đĽ+
đâ˛
đ¸
7-24Data Mining
Linear nicht trennbare Daten
⢠Falls Daten nicht linear trennbar, Einfßhrung einer Bestrafung fßr falsche
Zuordnungen:
minđ
đ˘=đ
đ§
đ°đ˘đ + đŞ â (# đđđĽđŹđđĄđ đđŽđ¨đŤđđ§đŽđ§đ đđ§)
⢠Optimaler Wert fßr den Parameter C
kann Ăźber Testdaten ermittelt werden
â đŞ groĂ: wichtig ist die Trennung der
Daten (soweit mĂśglich)
â đŞ klein: wichtig ist ein groĂer Rand
++
++
+
+
-
-
-
-
--
-
+-
-
đŞ groĂ
đŞ klein
7-25Data Mining
Linear nicht trennbare Daten
⢠Nicht alle falschen Zuordnungen sind
gleich wichtig
⢠Bestrafung đđ
minđ
đ˘=đ
đ§
đ°đ˘đ + đŞ â
đ
đđ
⢠Hinge Loss fĂźr Datenpunkt (đđ , đŚđ) :
đđ â max 0,1 â đŚđ đ¤0 +
đ=1
đ
đ¤đ đĽđđ
â đđ = 0 falls đĽđ auf ârichtiger Seiteâ der Ränder
â đđ ⤠1 falls đĽđ auf ârichtiger Seiteâ der Hyperebene
â đđ > 1 falls đĽđ auf âfalschen Seiteâ der Hyperebene
++
+
+
+
++ -
-
---
+
j
-i
7-26Data Mining
Support Vector Classifier
⢠Zielfunktion:
minđ
đ˘=đ
đ§
đ°đ˘đ + đŞ â
đ
max 0,1 â đŚđ đ¤0 +
đ=1
đ
đ¤đ đĽđđ
⢠Schätzung der Parameter: (Stochastic) Gradient Descent
⢠Als Support-Vektoren bezeichnet man die Punkte des Datensatzes,
welche direkt auf den Rändern oder auf der falschen Seite des
zugehĂśrigen Randes liegen â nur Support-Vektoren beeinflussen die
Klassifizierung neuer Datenpunkte
⢠Sei đ die Menge der Support-Vektoren und đźđ â â, đ â đ, dazugehĂśrige
Parameter. Der Klassifizierer lässt sich in folgender Form schreiben:
đ đĽ = đ¤0 +
đ âđ
đźđ đĽ â đĽđ
7-27Data Mining
Support Vector Machine
⢠Erweiterung des (linearen) Support Vector Classifier ßber Kernel:
đ đĽ = đ¤0 +
đ âđ
đźđ đž đĽ, đĽđ
Polynomial Kernel
đž đĽ, đĽđ = 1 + đĽ â đĽđ đ
Radial Kernel
đž đĽ, đĽđ = exp âđ
đ=1
đ
đĽđ â đĽđ đ2
7-28Data Mining
Vergleich
Support Vector Machines Entscheidungsbäume
Klassifikation: gewĂśhnlich 2 Klassen
(erweiterbar auf mehrere Klassen)
Regression & Klassifikation (mehrere
(~10) Klassen)
Attribute sind numerisch bzw. binär Attribute sind numerisch oder
kategorial
Verwendung tausender, spärlich
besetzter Attribute
Beschränkung auf wenige, dicht
besetzte Attribute
Schwer interpretierbar Gut interpretierbar
Beispiele:
⢠Textklassifikation (Genre,
Sentiment Analysis, Spamfilter)
⢠Gesichtserkennung
Beispiele:
⢠Kundenklassifikation
(Segmentierung)
⢠Operations Research
(Entscheidungen in Unternehmen)
7-29Data Mining
Inhaltsverzeichnis
⢠Einfßhrung
⢠Entscheidungsbäume
⢠Support Vector Machines
⢠Neuronale Netze
⢠Ăbung
Literatur: Kapitel 12 und 13 aus âMining of Massive Datasetsâ (v3.0 beta):
http://www.mmds.org
7-30Data Mining
Lineare Klassifizierung
Klassifizierung Ăźber Hyperebene:
ŕˇđŚ = +1, falls đ¤0 + Ďđđ¤đđĽđ > 0
ŕˇđŚ = â1, falls đ¤0 + Ďđđ¤đđĽđ < 0
0 ?
w0
w1
w2
w3
w4
+1
-1
đđ
đđ
đđ
đđ
đ
7-31Data Mining
Erweiterte lineare Klassifizierung
0 ?
w10
+1
-1
đđ
đđ
đđ
đđ
đ
0 ?
+1
-1
w20
0 ?
u1
u2
đ
u0
+1
-1
w11
w12
w13
w14
w21
w22
w24
w23
7-32Data Mining
Neuronale Netze
Neuronale Netze bestehen aus, in Schichten angeordnete, Knoten, wobei
die Ausgabe einer Schicht die Eingabe der nächsten Schicht darstellt
⢠Eingabeschicht
⢠Mehrere versteckte Schichten
⢠Ausgabeschicht
Quelle: http://cs231n.github.io/neural-networks-1/
7-33Data Mining
Entwurf neuronaler Netze
1. Wie viele versteckte Schichten?
2. Wie viele Knoten pro Schicht?
3. Berechnungen in den Knoten?
4. Kostenfunktion zur Bewertung der Ergebnisse?
5. Optimierungsalgorithmus zum Lernen der Gewichte?
6. Wie sind die Knoten einer Schicht zu den Knoten der nächsten
Schicht verbunden?
7-34Data Mining
Berechnungen in den Knoten
Seien đĽ =
đĽ1âŚđĽ4
, đ¤đ =
đ¤đ1
âŚđ¤đ4
fĂźr đ = 1,2, đ˘ =đ˘1đ˘2
und
đ đĄđđ đ§ = á1 , falls đ§ ⼠0â1 , sonst
â1 0 ?
w10
+1
-1
đđ
đđ
đđ
đđ
đ
â2 0 ?
+1
-1
w20
ŕˇđŚ 0 ?
u1
u2
đ
u0
+1
-1
w11
w12
w13
w14
w21
w22
w24
w23
7-35Data Mining
Berechnungen in den Knoten
Dann gilt:
âđ = đ đĄđđ đ¤đđđĽ + đ¤đ0 fĂźr đ = 1,2 und,
mit â =â1â2
,
ŕˇđŚ = đ đĄđđ(đ˘đâ + đ˘0)
â1 0 ?
w10
+1
-1
đđ
đđ
đđ
đđ
đ
â2 0 ?
+1
-1
w20
ŕˇđŚ 0 ?
u1
u2
đ
u0
+1
-1
w11
w12
w13
w14
w21
w22
w24
w23
7-36Data Mining
Aktivierungsfunktion
⢠Lernen der Gewichte ßber Gradient Descent
⢠Gute Funktionen fßr Gradient Descent:
1. Stetig und (fast Ăźberall) differenzierbar
2. Ableitung wird nicht zu klein (Ăźber dem erwarteten Wertebereich)
3. Ableitung wird nicht zu groĂ (Ăźber dem erwarteten Wertebereich)
⢠Funktion đ đĄđđ(đ§) erfĂźllt die letzten beiden Kriterien nicht
⢠Alternativen
â Sigmoid
â Hyperbolic Tangent
â Rectified Linear Unit
â Exponential Linear Unit
-1
0
1
-2 -1 0 1 2
đ đĄđđ(đ§)
đ§
7-37Data Mining
Aktivierungsfunktionen
Sigmoid
đ đĽ =đđĽ
1 + đđĽ
Hyperbolic Tangent
đĄđđâ đĽ =đđĽ â đâđĽ
đđĽ + đâđĽ
7-38Data Mining
Aktivierungsfunktionen
ReLU (Rectified Linear Unit)
đ đĽ = max(0, đĽ)
ELU (Exponential Linear Unit)
đ đĽ = áđĽ , đĽ ⼠0
đź(đđĽ â 1) , đĽ < 0
7-39Data Mining
Kostenfunktion zur Bewertung der Ergebnisse
⢠Variable đ: numerisch (Regression)
⢠Sei N die Anzahl der Datenpunkte, đŚđ die tatsächlichen Bezeichnungen
und ŕˇđŚđ die, durch das Neuronale Netz vorhergesagten, Bezeichnungen
⢠Mean Squared Error:
đđđ¸ =1
đ
đ=1
đ
đŚđ â ŕˇđŚđ2
⢠Gradient
â ŕˇđŚđđđđ¸ =đđđđ¸
đ ŕˇđŚđ=1
đ2 ŕˇđŚđ â đŚđ
7-40Data Mining
Optimierungsalgorithmus zum Lernen der Gewichte
⢠Anpassung der Gewichte (đ¤đđ und đ˘đ) mit dem Ziel der Minimierung der
Kostenfunktion
⢠Effizientes Verfahren: Gradient Descent mit Backpropagation
â1 =đ()
w10
đđ
đđ
đđ
đđ
đ
â2 =đ()
w20
ŕˇđŚ =đ()
u1
u2
đ
u0
w11
w12
w13
w14
w21
w22
w24
w23
7-41Data Mining
Berechnungsgraph
⢠Darstellung der Teilberechnungen eines (Abschnittes des) Neuronalen
Netzes
⢠Einfßgen von Variablen fßr Teilberechnungen
⢠Lernen der Gewichte ßber entgegengesetzte Richtung des
Berechnungsgraphen (von hinten nach vorne)
â1 =đ()
â2 =đ()
ŕˇđŚ =đ()
u1
u2
đ
u0
â
đ˘
ĂđŁ
+đ§
đŕˇđŚ
đ˘0
đđđ¸
đŚ
7-42Data Mining
Gradienten fĂźr jeden Teilschritt
⢠Ein Datenpunkt â1, â2đ , đŚ
⢠Gradienten fĂźr đ˘ =đ˘1đ˘2
und đ˘0
1. đťŕˇđŚđđđ¸ = 2 ŕˇđŚ â đŚ
2. đťđ§ ŕˇđŚ = đťđ§đ đ§ = ŕˇđŚ(1 â ŕˇđŚ)
3. đťđ˘0đ§ = đťđ˘0 đŁ + đ˘0 = 1 und đťđŁđ§ = đťđŁ đŁ + đ˘0 = 1
4. đťđ˘đŁ = đťđ˘ đ˘đâ =đđŁ
đđ˘1,đđŁ
đđ˘2
đ=
â1â2
und
đťâđŁ = đťâ đ˘đâ =đđŁ
đâ1,đđŁ
đâ2
đ=
đ˘1đ˘2
â
đ˘
ĂđŁ
+đ§
đŕˇđŚ
đ˘0
đđđ¸
đŚ
1.2.3.4.
7-43Data Mining
Backpropagation
⢠Ein Datenpunkt â1, â2đ , đŚ
⢠Gradienten fĂźr đ˘ =đ˘1đ˘2
und đ˘01. đťŕˇđŚđđđ¸ = 2 ŕˇđŚ â đŚ
2. đťđ§đđđ¸ = đťđ§ ŕˇđŚ đťŕˇđŚđđđ¸ = ŕˇđŚ(1 â ŕˇđŚ)2 ŕˇđŚ â đŚ
3. đľđđđ´đşđŹ = đťđ˘0đ§ đťđ§đđđ¸ = ŕˇđŚ(1 â ŕˇđŚ)2 ŕˇđŚ â đŚ
4. đľđđ´đşđŹ = đťđ˘đŁ âđŁđ§đťđ§đđđ¸ =â1 ŕˇđŚ(1 â ŕˇđŚ) 2 ŕˇđŚ â đŚ
â2 ŕˇđŚ(1 â ŕˇđŚ) 2 ŕˇđŚ â đŚund
đťâđđđ¸ = đťâđŁ âđŁđ§đťđ§đđđ¸ =đ˘1 ŕˇđŚ(1 â ŕˇđŚ) 2 ŕˇđŚ â đŚ
đ˘2 ŕˇđŚ(1 â ŕˇđŚ) 2 ŕˇđŚ â đŚ
â
đ˘
ĂđŁ
+đ§
đŕˇđŚ
đ˘0
đđđ¸
đŚ
1.2.3.4.
7-44Data Mining
Backpropagation
Weiterreichen in nächste Schicht:
â1 =đ()
w10
đđ
đđ
đđ
đđ
đ
â2 =đ()
w20
w11
w12
w13
w14
w21
w22
w24
w23
đĽ
đ¤1
ĂđŁ
+đ§
đâ1
đ¤10
đĽ
đ¤2
ĂđŁ
+đ§
đâ2
đ¤20
đťâ1đđđ¸
đťâ2đđđ¸
ŕˇđŚ =đ()
u1
u2
đ
u0
7-45Data Mining
Gradient Descent
⢠FĂźr N Datenpunkte mit (đĽ1, đŚ1), ⌠, (đĽđ, đŚđ): arithmetisches Mittel der
Gradienten: z.B.
đťđ˘đđđ¸ =1
đ
đ=1
đ âđ1 ŕˇđŚđ(1 â ŕˇđŚđ) 2 đŚđ â ŕˇđŚđ
âđ2 ŕˇđŚđ(1 â ŕˇđŚđ) 2 đŚđ â ŕˇđŚđ
⢠FĂźr jeden Parametervektor đ (d.h. Gewichte đ¤1, đ¤10, đ¤2, đ¤20, đ˘, đ˘0):
đ â đ â đâđđđđ¸
⢠Wiederholung bis Konvergenz
⢠Stochastic Gradient Descent fĂźr groĂe Datensätze: Verwendung einer
zufälligen Stichprobe aus den Datenpunkten pro Iteration
7-46Data Mining
Entwurf neuronaler Netze
1. Wie viele versteckte Schichten?
2. Wie viele Knoten pro Schicht?
3. Berechnungen in den Knoten?
4. Kostenfunktion zur Bewertung der Ergebnisse?
5. Optimierungsalgorithmus zum Lernen der Gewichte?
6. Wie sind die Knoten einer Schicht zu den Knoten der nächsten
Schicht verbunden?
â Bisher: vollständig vernetzte Schichten (jeder Knoten ist verbunden zu allen Knoten
der benachbarten Schichten)
â Nachteil: Sehr viele Parameter bei groĂen Netzen oder hochdimensionalen
Eingabedaten (z.B. Bilder/Texte)
7-47Data Mining
⢠Filter = Einteilung einer Schicht in Partitionen und Zuordnung jeder
Partition zu nur einem Knoten der folgenden Schicht
⢠Filter verwendet die selben Gewichte fßr jede Partition
⢠Mehrere Filter pro Schicht
⢠1-dimensionale Eingabe
und 2 Filter:
â21 =đ()
â22 =đ()
w21
w22
w22w21
w22
Convolutional Neural Networks (CNN)
â11 =đ()
đđ
đđ
đđ
đđ
â12 =đ()
w11
w12
w12
w11
w12
w11
â13 =đ()
w23
w23
7-48Data Mining
Convolutional Neural Networks (CNN)
⢠Filter fßr 2-dimensionale Eingabe:
⢠CNN eignen sich besonders fßr die Verarbeitung fßr Bildern
⢠Filter der ersten versteckten Schicht kÜnnen darauf trainiert werden
bestimmte einfache Formen zu erkennen, z.B. eine Ecke/Gerade
⢠Nachfolgende (Convolutional) Schichten kÜnnen diese dann zu
komplexeren Formen zusammensetzen, z.B. ein Kopf, eine Ampel,âŚ
7-49Data Mining
CNN: Beispiel
Erkennen handgeschriebener Zahlen
Quelle: https://en.wikipedia.org/wiki/MNIST_database
7-50Data Mining
CNN: Beispiel
Erkennen von Kleidung (Bildsegmentierung)
Quelle: https://towardsdatascience.com/stuart-weitzman-boots-designer-bags-and-outfits-with-mask-r-cnn-92a267a02819
7-51Data Mining
CNN: Beispiel
Erkennen von frei werdenden Parkplätzen / Zählung von Menschen
Quellen:
⢠https://medium.com/@ageitgey/snagging-parking-spaces-with-mask-r-cnn-and-python-955f2231c400
⢠https://nanonets.com/blog/crowd-counting-
review/?utm_source=reddit&utm_medium=social&utm_campaign=drcrco&utm_content=dl
7-52Data Mining
Recurrent Neural Networks (RNN)
⢠Spezielle Netzwerke fßr Verarbeitung von Sequenzen, z.B.
â Text (Sequenz aus WĂśrtern)
â Videos (Sequenz aus Bilder)
⢠Beispiel: Text
â Eingabe đĽ = (đĽ1, ⌠, đĽđ) bezeichnet ein Wort (One-Hot Encoded: Dimension đ ist
die Anzahl der mĂśglichen WĂśrter; genau eine Eins an der Stelle des Wortes,
ansonsten nur Nullen)
â Beachtung der Reihenfolge
der WĂśrter Ăźber zyklische
Verbindung innerhalb einer
Schicht
â Zyklische Schicht kann sich
Zustände âmerkenâ und
beeinflusst die Verarbeitung
des nächsten Wortes
â1 =đ()
w10
đđ
đđ
đđ
đđ
đ
â1 =đ()
w20
ŕˇđŚ =đ()
u1
u2
đ
u0
w11
w12
w13
w14
w21
w22
w24
w23
v11
v22
v12
v21
7-53Data Mining
⢠Klassifizierung von Texten
⢠Positive oder negative Rezensionen
Quelle: https://www.tensorflow.org/tutorials/text/text_classification_rnn
RNN: Beispiel
> sample_predict('The movie was cool.
The animation and the graphics were out
of this world. I would recommend this
movie.â)
[[0.4186573]]
> sample_predict('The movie was not
good. The animation and the graphics
were terrible. I would not recommend this
movie.â)
[[0.05746633]]
7-54Data Mining
RNN: Beispiel
⢠Maschinelle Ăbersetzung
⢠2 hintereinander geschaltete RNN:
Quelle: https://medium.com/analytics-vidhya/a-must-read-nlp-tutorial-on-neural-machine-translation-
the-technique-powering-google-translate-c5c8d97d7587
7-55Data Mining
⢠Textgenerierung: z.B. Gedichte
⢠Eingabe des Nutzers: Thema oder Bild
Quellen:
⢠http://xingshi.me/data/pdf/ACL2017demo.pdf
⢠https://arxiv.org/pdf/1804.08473.pdf
RNN: Beispiel
Mountains
A hundred thousand Morrison formation,
An ancient crown of gold or mountain
chains,
Mountains from the land of elevation,
A northern storm across the hills and
plains.
the sun is a beautiful thing
in silence is drawn
between the trees
only the beginning of light
7-56Data Mining
Inhaltsverzeichnis
⢠Einfßhrung
⢠Entscheidungsbäume
⢠Support Vector Machines
⢠Neuronale Netze
⢠Ăbung
Literatur: Kapitel 12 und 13 aus âMining of Massive Datasetsâ (v3.0 beta):
http://www.mmds.org
7-57Data Mining
Ăbung
Gegeben sind 7 Datenpunkte.
Ziel ist die Vorhersage von đ Ăźber đ1 und đ2.
a) Zeichnen Sie einen Entscheidungsbaum
minimaler GrĂśĂer, welcher alle Daten-
punkte korrekt zuordnet!
b) Leiten Sie den Maximal Margin Classifier her!
c) Welche Anpassungen wären in den beiden
Modellen notwendig, wenn zusätzlich
folgender Datenpunkt beobachtet wird:
đ1 đżđ đ
3 4 Rot
2 2 Rot
4 4 Rot
1 4 Rot
2 1 Blau
4 3 Blau
4 1 Blau
đ1 đżđ đ
3 3 Blau
7-58Data Mining
Ăbung: LĂśsung
a) Zeichnen Sie einen Entscheidungsbaum minimaler GrĂśĂer, welcher alle
Datenpunkte korrekt zuordnet!
0
1
2
3
4
5
0 1 2 3 4 5
X2
X1
X2
X1Blau
Rot X2
Blau Rot
7-59Data Mining
Ăbung: LĂśsung
b) Leiten Sie den Maximal Margin Classifier her!
0
1
2
3
4
5
0 1 2 3 4 5
1 = đ¤0 + 4đ¤1 + 4đ¤2
1 = đ¤0 + 2đ¤1 + 2đ¤2
â1 = đ¤0 + 2đ¤1 +đ¤2
â1 = đ¤0 + 4đ¤1 + 3đ¤2
đ¤0 = 1đ¤1 = â2đ¤2 = 2
7-60Data Mining
Ăbung: LĂśsung
c) Welche Anpassungen wären in den beiden Modellen notwendig, wenn
zusätzlich folgender Datenpunkt beobachtet wird:
0
1
2
3
4
5
0 1 2 3 4 5
X2
X1
X2
X1Blau
Rot X2
Blau Rot
đ1 đżđ đ
3 3 Blau
7-61Data Mining
Ăbung: LĂśsung
c) Welche Anpassungen wären in den beiden Modellen notwendig, wenn
zusätzlich folgender Datenpunkt beobachtet wird:
0
1
2
3
4
5
0 1 2 3 4 5
X2
X1
đ1 đżđ đ
3 3 Blau
1 = đ¤0 + 4đ¤1 + 4đ¤2
1 = đ¤0 + 2đ¤1 + 2đ¤2
â1 = đ¤0 + 3đ¤1 + 3đ¤2
Nicht linear trennbar!