Formel- und Algorithmensammlung
Kompakte Sammlung aller Formeln und Algorithmen aus den EKI-Kapiteln (Hochschule Darmstadt) - direkt aus den Kapiteltexten uebernommen, ohne Erfindungen.
Formeln
EKI02 - Maschinelles Lernen: Klassifikation
Entropie einer Menge ; = relativer Anteil der Klasse . Maximal bei 50/50, 0 bei reiner Klasse.
Entropieverlust (Information Gain) eines Splits "Feature < Wert"; = Ausgangsmenge, = Teilmengen. Split mit groesstem Verlust waehlen.
EKI03 - Maschinelles Lernen: Regression
Accuracy = Anteil korrekter Vorhersagen; TP/TN/FP/FN aus der Konfusionsmatrix.
Positiver Vorhersagewert; Anteil der als positiv Klassifizierten, die auch positiv sind.
Trefferquote (true positive rate); Wahrscheinlichkeit, einen Positiven auch zu erkennen.
Harmonisches Mittel von precision und recall; besser als Accuracy bei unausgewogenen Datensaetzen.
NPV = Anteil korrekter Negativvorhersagen; Specificity = Anteil erkannter tatsaechlich Negativer.
Mean Absolute Error; = Vorhersage, = wahrer Wert, = Anzahl Faelle.
Mean Squared Error; bestraft grosse Fehler staerker.
Rooted MSE; hat die gleiche Einheit wie die Zielgroesse.
k-fache Kreuzvalidierung: Mittelwert der Guete ueber alle Iterationen.
EKI06 - Computer Vision
Gewichtete Summe der Eingaenge eines Neurons; = Eingang, = Gewicht; .
Aktivierung des Neurons mit der Sigmoid-Funktion; = Ausgabe (Axon-Signal).
Sigmoid-Funktion und ihre Ableitung; die Ableitung wird in der Backpropagation gebraucht.
Kostenfunktion = Summe der quadrierten Abweichungen zwischen Ziel- und Ist-Ausgabe.
Gradientenabstieg: Gewichtsanpassung in Richtung des negativen Gradienten; = Lernrate.
Backpropagation Schritte 2/3: Fehler und Korrekturwert eines Neurons der letzten Schicht.
Backpropagation Schritt 4: Korrekturwert eines Neurons aus den Deltas der nachfolgenden Schicht.
Backpropagation Schritt 5: Gewichtsupdate mit Lernrate , Delta und Ausgabe des Vorgaengerneurons.
Ausgabegroesse einer Faltung bei Eingabegroesse , Filtergroesse , Schrittweite ohne Padding (ergaenzend, nicht Teil des Decks). Beispiel: (5x5-Bild mit 3x3-Filter -> 3x3 feature map).
EKI07 - Natural Language Processing
Gewicht eines Terms in Dokument des Korpus ; Produkt aus Worthaeufigkeit und inverser Dokumenthaeufigkeit.
Inverse Dokumenthaeufigkeit; = Anzahl Dokumente, Nenner = Zahl der Dokumente, die enthalten (df).
EKI05 - Complex Event Processing
7-Tage-Inzidenz ueber ein 7-Tage Sliding Window; Summe der Tagesinzidenzen , normiert auf 100.000 Einwohner (Population Singapur ca. 5,686 Mio.).
Beispiel-Definition der Kritikalitaet als Stufenfunktion der 7-Tage-Inzidenz.
7-Tage-Kritikalitaets-Score als Minimum der Kritikalitaeten der letzten 7 Tage (glaettende Bewertung).
EKI09 - Unsupervised Learning
Varianz eines Features ; = Mittelwert, = Anzahl Datenpunkte. Basis der PCA (Varianz = Information).
Curse of Dimensionality (R. Bellman): Einheitsobjekt hat Volumen 1, aber Raumdiagonale ; Volumen waechst exponentiell.
Zufallsprojektion von nach mit einer zufaelligen Matrix .
Euklidischer Abstand zweier Punkte ; Distanzmass von k-Means.
Min-Max-Normalisierung auf ; noetig vor k-Means, damit keine Skala dominiert.
k-Means Zuordnung: jeder Punkt kommt in das Cluster mit naechstem Zentrum .
k-Means Update des Zentroids als Mittelwert der zugeordneten Punkte.
k-Means++: Abstand eines Punktes zum naechsten bereits gewaehlten Zentrum.
k-Means++: Wahrscheinlichkeit, als naechstes Zentrum zu waehlen (proportional zu ).
PCA-Eigenwertgleichung; = Kovarianzmatrix, = Eigenvektor (Hauptkomponente), = Eigenwert (erklaerte Varianz).
Algorithmen (Pseudocode)
Entscheidungsbaum-Aufbau (Information Gain) - EKI02
buildTree(T):
wenn alle Labels in T gleich (H(T) = 0) oder Abbruchkriterium:
erzeuge Blatt mit der (Mehrheits-)Klasse und return
bestGain = -unendlich
bestFeature = keines
bestWert = keiner
fuer jedes Feature f:
fuer jeden Schwellwert v (Split "f < v"):
T_lower = { Datensaetze in T mit f < v }
T_upper = { Datensaetze in T mit f >= v }
Gewinn = H(T)
- (|T_lower| / |T|) * H(T_lower)
- (|T_upper| / |T|) * H(T_upper)
wenn Gewinn > bestGain:
bestGain, bestFeature, bestWert = Gewinn, f, v
erzeuge inneren Knoten mit Bedingung (bestFeature < bestWert)
buildTree(T_lower) // rekursiv fuer Ja-Zweig
buildTree(T_upper) // rekursiv fuer Nein-Zweig
k-fache Kreuzvalidierung - EKI03
1. Spalte den Datensatz in k Teildatensaetze (Folds) auf, z.B. k = 5.
2. Fuehre das Training mit k-1 Teildatensaetzen durch und benutze
1 Teildatensatz fuer die Validierung.
3. Iteriere k-mal, jeweils mit einem anderen Teildatensatz zur
Validierung -> Performance(1), ..., Performance(k).
4. Berechne das durchschnittliche Ergebnis ueber alle Iterationen:
Performance = (1/k) * SUM_{i=1..k} Performance_i
k-Means - EKI09
1. Waehle zufaellig k Datensaetze als initiale Clusterzentren
m_1, ..., m_k.
2. Ordne jeden Datensatz demjenigen Cluster zu, dessen Zentrum am
naechsten liegt (kleinster euklidischer Abstand):
C_i = { X_j : ||X_j - m_i||^2 = min_{p=1..k} ||X_j - m_p||^2 }
3. Berechne fuer jedes Cluster sein Zentrum neu als Mittelwert der
zugeordneten Punkte:
m_i = (1 / |C_i|) * SUM_{X_j in C_i} X_j
4. Wiederhole Schritte 2 und 3, bis sich die Clusterzentren nicht
mehr veraendern (Konvergenz).
k-Means++ Initialisierung - EKI09
1. Waehle (gleichverteilt) ein zufaelliges Clusterzentrum m_1 aus dem
Datensatz.
Fuer j = 2, ..., k:
2. Bestimme fuer jeden Punkt X den Abstand zum naechsten bereits
bekannten Clusterzentrum:
D(X) = min_{i=1..j-1} ||X - m_i||
3. Waehle das naechste Clusterzentrum m_j aus allen Punkten mit einer
Wahrscheinlichkeit proportional zu D^2(X):
P(X_j) = D^2(X) / SUM_{i=1..n} D^2(X_i)
(Danach: normales k-Means mit Zuordnung und Zentroid-Update.)
PCA (5 Schritte) - EKI09
1. Normalisiere (zentriere) die Features, sodass der Erwartungswert
(Mittelwert) jedes Features null ist.
2. Berechne aus den n normalisierten Features die Kovarianzmatrix.
-> symmetrische n x n Matrix
3. Berechne die n Eigenvektoren dieser Matrix und ihre zugehoerigen
Eigenwerte: M x = lambda x, x != 0
4. Sortiere die Eigenvektoren nach absteigender Groesse ihrer Eigenwerte.
5. Bilde Linearkombinationen aus den Bestandteilen der Eigenvektoren
und der Features:
- Eigenvektor mit groesstem Eigenwert -> Koeffizienten a_i -> PC1
- Eigenvektor mit zweitgroesstem Eigenwert -> Koeffizienten b_i -> PC2
- ...
- Eigenvektor mit kleinstem Eigenwert -> letzte Hauptkomponente
Backpropagation (Schritte) - EKI06
1. Leite die Trainingsdaten vorwaerts durch das Netzwerk:
sum_i = SUM_j in_j * w_{j,i}
out_i = 1 / (1 + e^{-sum_i})
2. Berechne den Fehler zwischen tatsaechlicher und gewuenschter Ausgabe
in der letzten Schicht:
e = SUM_i (target_i - out_i)^2
3. Berechne fuer jedes Neuron der letzten Schicht seinen Korrekturwert:
Delta_i = f'(sum_i) * (target_i - out_i)
4. Iteriere rueckwaerts bis zur Eingabeschicht; nutze die Deltas der
naechsten Schicht:
Delta_i = f'(sum_i) * SUM_j w_{i,j} * Delta_j
5. Korrigiere jedes Gewicht mit dem zugehoerigen Korrekturwert:
w_{j,i} = w_{j,i} + eta * Delta_i * out_j
CEP Sliding-Window-Auswertung - EKI05
Fuer jede neue Fensterposition (Sliding Window der Dauer n,
Versatz m):
1. Betrachte die juengsten n Ereignisse des Stroms
(aktuelles Fenster).
2. Werte die persistente Regel ueber diesem Fenster aus, z.B.
7-Tage-Inzidenz:
7 inc = SUM_{i=1..7} inc_i * 100000 / population
3. Leite (iterativ) ein hoeheres Ereignis ab, z.B. Kritikalitaet:
crit(7 inc) = 4 falls 7 inc > 400
3 sonst falls 7 inc > 200
2 sonst falls 7 inc > 100
1 sonst falls 7 inc > 50
0 sonst
7 crit = min_{i=1..7} ( crit(7 inc_i) )
4. Gib das Ausgabeereignis aus (decision support); es kann erneut
als Eingabe dienen (low-level -> high-level).
5. Ruecke das Fenster um m weiter und wiederhole.