Überwacht (Supervised)
- Mit Labels/Zielwerten
- Regression: Lineare/Logistische Regression → Preisvorhersage, Wahrscheinlichkeiten
- Klassifikation: Entscheidungsbäume, SVM, Diskriminanzanalyse → Spam-Erkennung, Gruppenzuordnung
- Ensemble: Random Forest, Boosting → Komplexe Vorhersagen Unüberwacht (Unsupervised)
- Ohne Labels
- Clustering: K-Means, Hierarchisches Clustering → Kundensegmentierung
- Assoziationsanalyse: Apriori, FP-Growth → Warenkorbanalyse
- Dimensionsreduktion: PCA → Feature-Reduktion Merksatz: Überwacht = Antworten bekannt, Unüberwacht = Muster finden
xs = [1, 2, 4, 5, 6, 7]
xs[0], xs[-1] # Erstes, Letztes
xs[:2], xs[2:], xs[2:4] # [1,2], [4,5,6,7], [4,5]
xs[:2] + [3] + xs[2:] # Einfügen: [1,2,3,4,5,6,7]
len(xs), sum(xs) # Länge, Summelist("Hello") # ['H','e','l','l','o']
"Price:EUR".replace("Price:", "") # "EUR"
word.startswith('S') # True/Falsecountries = ['DE', 'NL']
sales = [1000, 500]
list(zip(countries, sales)) # [('DE',1000), ('NL',500)]def avg(xs): return sum(xs) / len(xs)
def words_with(xs, w): return [x for x in xs if w in x]
def max_words(xs):
max_len = max(len(x) for x in xs)
return [x for x in xs if len(x) == max_len][x**2 for x in range(1,11)] # Quadrate
[x for x in xs if x > 0] # Filtern
[x for x in words if x.startswith('S')] # String-Filterrange(1, 11) # 1 bis 10
list(range(1, 11)) # [1,2,3,...,10]
len(xs), sum(xs) # Länge, Summe
max(xs), min(xs) # Maximum, Minimum
set([1,2,2,3]) # {1,2,3} - keine Duplikate
isinstance(zahlen, list) # True
zip(['DE','NL'], [1000,500]) # [('DE',1000), ('NL',500)]- Form: Gerade Linie/Ebene
- Zusammenhang: Konstante Veränderungsrate
- Interpretation: Einfach - fester Effekt pro Einheit
- Beispiel: Gehalt steigt um 1000€ pro Berufsjahr
- Form: Gekrümmte Linie
- Zusammenhang: Variable Veränderungsrate
- Interpretation: Komplex - Effekt ändert sich
- Beispiel: Lernkurve (anfangs schnell, dann langsamer)
- Linear: Konstante Beziehungen, einfache Interpretation
- Nicht-linear: Komplexe Muster, Sättigung, Beschleunigung
1. Trainingsphase:
- Modell lernt aus bekannten Daten
- Abhängige Variable ist bekannt 2. Testphase:
- Güteprüfung mit separaten Testdaten
- Bewertung der Modellqualität 3. Prognosephase:
- Anwendung auf neue, unbekannte Daten
- Vorhersage der abhängigen Variable Kreuzvalidierung:
- Daten in k Teile aufteilen
- (k-1) Teile trainieren, 1 Teil testen
- k-mal wiederholen
- Optimiert Modellgüte
| Kriterium | Regressionsanalyse | Diskriminanzanalyse |
|---|---|---|
| Abhängige Variable | Metrisch (kontinuierlich) | Nominal (Gruppen/Klassen) |
| Unabhängige Variablen | Metrisch + nominal | Nur metrisch |
| Ziel | Wirkungsbeziehungen quantifizieren | Gruppenunterschiede analysieren |
| Fragestellung | "Wie hoch wird Y?" | "Zu welcher Gruppe gehört X?" |
| Methode | Kleinste Quadrate | Diskriminanzkriterium maximieren |
| Output | Prognosewerte | Klassifikation |
| Gütemaß | R², RMSE | Γ, Klassifikationsgenauigkeit |
| Beispiel | Umsatzprognose | Kreditwürdigkeit (gut/schlecht) |
| Kernunterschied: Regression sagt kontinuierliche Werte vorher, Diskriminanzanalyse ordnet in Kategorien ein. |
Zweck: Vorhersage der Wahrscheinlichkeit der Zugehörigkeit zu einer Gruppe/Klasse Abhängige Variable: Nominal skaliert (meist binär: ja/nein, 0/1) Unabhängige Variablen: Können nominal oder metrisch skaliert sein Anwendungsbereich: Klassifikationsverfahren Typische Beispiele:
- Kaufentscheidung (ja/nein)
- Kundenabwanderung (bleibt/geht)
- Kreditausfall (ja/nein) Ausgabe: Wahrscheinlichkeitswerte zwischen 0 und 1
Formel:
- Optimale Diskriminanzfunktion:
$Y=-1,98+1,031x_{1}-0,565x_{2}$ - X₁ = Streichfähigkeit, X₂ = Haltbarkeit
- Gruppe A:
$Ȳₐ = -0,914$ - Gruppe B: $Ȳᵦ = 0,914
Schritt 2: Distanzkonzept
Formel:
$Di^2_{i}=(Y_{i}-Ȳ_{g})^2$ Neuer Kunde:$x_{1}=6;x_{2}=7$ $Y=-1,98+1,0316-0,5657=0,215$ Distanz zu A:$Di^2_{A}=(0,215+0,914)^2=1,275$ Distanz zu B:$Di_{B}^2=(0,215-0,914)^2=0,489$ -> Zuordnung Gruppe B (kleinere Distanz) Schritt 3: Bayes-Klassifikator (ohne A-Priori)$$P(A|Y_{i})=\frac{\exp(-Di_{A}^2|2)}{\exp(-Di_{A}^2|2)+\exp(-Di_{B}^2|2)}=0,364$$ $$P(B|Y_{i})=\frac{\exp(-Di_{B}^2|2)}{\exp(-Di_{A}^2|2)+\exp(-Di_{B}^2|2)}=0,636$$ -> Zuordnung Gruppe B (63,6% Wahrscheinlichkeit) Schritt 4: Bayes-Klassifikator (mit A-Priori)$P_{i}(A)=0,4;P_{i}(B)=0,6$ $$P(A|Y_{i})=\frac{\exp(-Di_{A}^2|2)*P_{i}(A)}{\exp(-Di_{A}^2|2)*P_{i}(A)+\exp(-Di_{B}^2|2)*P_{i}(B)}=0,296$$ $$P(B|Y_{i})=\frac{\exp(-Di_{B}^2|2)*P_{i}(B)}{\exp(-Di_{A}^2|2)*P_{i(A)}+\exp(-Di_{B}^2|2)*P_{i(B)}}=0,704$$ -> Zuordnung Gruppe B (70,4% Wahrscheinlichkeit)
Regel: Entscheidung wird der Gruppe g mit minimalen erwarteten Kosten zugeordnet
Beispiel:
| Rückzahlung | Ausfall | |
|---|---|---|
| 1: Vergabe | -100 | 1000 |
| 2: Ablehnung | 100 | 0 |
| $E_{1}(K)=-1000,8+10000,2=120$ | ||
| $E_{2}(K)=1000,8+00,2=80$ | ||
| Entscheidung: Kredit immer ablehnen (80€<120€) |
- Dendrogram mit Baumstruktur
- Feste Zuordnung - einmal gebildete Cluster nicht mehr auflösbar
- Agglomerativ (Bottom-up) oder Divisiv (Top-down)
- Clusteranzahl nachträglich bestimmbar
- Beispiele: Single/Complete/Average/Centroid Linkage
Schritt 1: Distanzberechnung quadrierte euklid. Distanz
Formel:
| - | 13 | 5 | 25 | 41 | |
| - | 34 | 2 | 100 | ||
| - | 52 | 18 | |||
| - | 130 | ||||
| - | |||||
| Schritt 3: Iterative Bestimmung der Cluster | |||||
|
|
|||||
| Schritt 4: Neue Distanzmatrix (immer neu machen, nach Clusterbildung) |
| - | min(13/25) ->13 |
5 | 41 | |
| - | min(34/52) ->34 |
min(100/130) ->100 |
||
| - | 18 | |||
| - | ||||
| ... | ||||
|
|
||||
|
|
||||
| Schritt x: Dendogramm zeichnen | ||||
| ![[WhatsApp Bild 2025-06-19 um 00.09.39_4e96bd85.jpg]] |
Formel:
Centroid Linkage:
- Abstand zwischen den Schwerpunkten (Zentroiden) der Cluster
- Schwerpunkt-Berechnung: x̄ = 1/n ∑ᵢ₌₁ⁿ xᵢ
- Distanz: d(C₁, C₂) = ||x̄₁ - x̄₂||²
- Nicht konsistent - Clusterzentren ändern sich bei jedem Merge
- Nach jedem Merge wird neuer Schwerpunkt berechnet Average Linkage:
- Durchschnitt aller paarweisen Distanzen zwischen Punkten zweier Cluster
- Distanz: d(C₁, C₂) = 1/(n₁·n₂) ∑ᵢ₌₁ⁿ¹ ∑ⱼ₌₁ⁿ² d(xᵢ, yⱼ)
- Konsistent - Distanzen zwischen Clusterpunkten bleiben konstant
- Berücksichtigt alle Punkt-zu-Punkt-Abstände Gemeinsame Eigenschaften:
- Beide erfordern Neuberechnung aller Distanzen bei jedem Merge
- Rechenaufwendiger als Single/Complete Linkage
- Centroid: instabil durch sich ändernde Zentren
- Average: stabiler durch konstante Punktdistanzen
- Flache Partition der Daten
- Flexible Zuordnung - Objekte verschiebbar zwischen Iterationen
- k vorab festgelegt
- Iterative Optimierung einer Zielfunktion
- Problem: oft nur lokale Optima
- Beispiele: k-Means, k-Means++, k-Medoids
- Partitionierendes Clustering-Verfahren (auch Lloyd-Algorithmus genannt)
- Zerlegt Datensatz in genau k Cluster (k muss vorab festgelegt werden)
- Nicht-hierarchisch - erzeugt eine einzige Partition der Daten Grundprinzip:
- Minimiert die Summe der quadratischen Abweichungen (Varianz) innerhalb der Cluster
- Jeder Cluster wird durch seinen Schwerpunkt/Zentroid repräsentiert
- Objekte werden dem nächstgelegenen Zentroiden zugeordnet
Formel:
- a = durchschnittliche Distanz zu allen anderen Objekten im selben Cluster (Intra-Cluster-Distanz)
-
b = kleinste durchschnittliche Distanz zu allen Objekten im nächstgelegenen Nachbarcluster (Inter-Cluster-Distanz)
Vorgehen: Alle Distanzen eines Clusters mit cp machen (siehe Distanzmaß)
$s=0$ -> liegen zw. 2 Cluster$1>s>0$ -> passend zum Cluster$0>s>-1$ -> falsches Cluster
Schritt 1: Berechnung der Kriterien für die Attributsauswahl
Gesamtdaten: 14 Instanzen, davon 9x ja, 5x nein (Kaufen)
Gesamtentropie (vor Split)
Overfitting Risiko:
- Zu kleiner Datensatz → Modell zu spezifisch
- Schlechte Generalisierung Modellverbesserungen:
- Pruning, mehr Daten, Cross-Validation Pre-Pruning:
- Stoppt Baumwachstum frühzeitig
- Verhindert unnötige Verzweigungen
- Reduziert Komplexität → bessere Generalisierung
- Gefahr: Underfitting Beispiel: 100% Training vs. 75% Test = Overfitting Parameter setzen für Gegenmaßnahme Overfitting:
- max_depth: Maximale Baumtiefe
- min_samples_split: Mindestanzahl Samples für Split
Trainingsweise: Bagging (Bag) parallel vs. Boosting (Boo) sequenziell Methode:
- Bag: Verschiedene Datensamples, Mittelung der Vorhersagen
- Boo: Nachfolgende Modelle korrigieren Fehler der vorherigen Ziel:
- Bag: Varianzreduktion
- Boo: Biasreduktion Fehlergewichtung:
- Bag: Gleichverteilung
- Boo: Fokus auf Fehler Modellstruktur:
- Bag: Unabhängige Bäume
- Boo: Abhängigkeitskette Robustheit: Bag hoch vs. Boo geringer (bei Ausreißern) Beispiel:
- Bag: 100 Bäume mit verschiedenen Trainingsdaten kombinieren
- Boo: Schwache Lerner machen grobe Vorhersagen, weitere verbessern schrittweise Fazit: Boo kann stärkere Modelle liefern, ist aber anfälliger für Überanpassung und Ausreißer.
+Interpretierbarkeit: leicht verständlich und visuell darstellbar +Keine Annahmen über Datenverteilung: funktionieren mit versch. Datentypen ohne Normalverteilungsannahmen -Hohe Varianz: kleine Änderungen in Trainingsdaten können zu völlig unterschiedlichen Bäumen führen -Neigung zu Overfitting: Besonders bei tiefen Bäumen, die sich zu stark an Trainingsdaten anpassen
Random Forest:
- Viele Entscheidungsbäume mit zufälligen Feature-Auswahlen
- Reduziert Varianz durch Mittelung
- Verhindert Overfitting durch Diversität Boosting:
- Sequenzielle Bäume korrigieren Fehler der Vorgänger
- Reduziert Bias und Varianz
- Beispiele: AdaBoost, Gradient Boosting Prinzip: Beide nutzen Bias-Varianz-Trade-off für optimale Balance zwischen Komplexität und Generalisierung
Hard Voting: Mehrheitsentscheid basierend auf finalen Klassenentscheidungen Soft Voting: Durchschnitt der Wahrscheinlichkeiten aller Modelle Beispiel:
- Modell A: "Ja" (90%), "Nein" (10%)
- Modell B: "Nein" (55%), "Ja" (45%)
- Modell C: "Nein" (55%), "Ja" (45%) Hard Voting: 2x "Nein" vs. 1x "Ja" → Ergebnis: "Nein" Soft Voting: Durchschnitt "Ja" = 60% → Ergebnis: "Ja" Vorteil Soft Voting: Berücksichtigt Modellsicherheit (hier hohe 90% von Modell A) Vorteil Hard Voting: Funktioniert mit allen Klassifikatoren, auch ohne Wahrscheinlichkeitsausgabe
Bias (Verzerrung): Systematischer Fehler durch zu einfache Modelle (Underfitting) Varianz: Instabilität bei verschiedenen Trainingsdaten durch zu komplexe Modelle (Overfitting) Irreduzibler Fehler: Unvermeidbares Rauschen in den Daten Beispiele:
- Hoher Bias: Lineares Modell für komplexe Hauspreise erfasst nichtlineare Zusammenhänge nicht
- Hohe Varianz: Tiefes neuronales Netz gibt für dasselbe Haus völlig unterschiedliche Preise (200k€ vs. 350k€) Bias-Varianz-Zerlegung: Gesamtfehler = Bias² + Varianz + Irreduzibler Fehler
- Häufige Itemsets haben hohen Support
- Support hilft irrelevante oder seltene Muster zu eliminieren
- Verwendung: Mindesthäufigkeit festlegen
- Support unterliegt Rare Item Problem -> Selten vorkommende Items werden ignoriert (Minimum-Support-Schranke)
- Support nimmt mit der Länge der Itemsets schnell ab -> Minimum-Support-Schranke bevorzugt daher kurze Itemsets
- misst die bedingte Wahrscheinlichkeit, dass B gekauft wird, wenn A gekauft wurde
- Confidence = 1 => Immer wenn A gekauft wird, wird auch B gekauft
- Confidence ~ 0,2/0,8 => Schwacher/starker Zusammenhang zwischen A und B
- Confidence = 0 => kein Zusammenhang
- Confidence ignoriert die Häufigkeit der abhängigen Variable
- Regeln, deren Korrelation eigentlich gering ist, können dennoch eine hohe Konfidenz aufweisen, wenn die abhängige Variable insgesamt häufig auftritt -> darum Interest (Lift) anschauen
- Lift > 1 => positive Korrelation (Beispiel Lift(Brot -> Butter)=3 -> Kunden, die Brot kaufen, kaufen 3x so häufig Butter)
- Lift = 1 => A und B unabhängig
- Lift < 1 => negative Korrelation
| Tid | Items |
|---|---|
| 10 | A,C,D |
| 20 | B,C,E |
| 30 | A,B,C,E |
| 40 | B,E |
| Schritt 1: Scan | |
| Schritt 2: Eliminieren von Itemsets, die |
|
| Letzter Schritt Itemset/s, die nicht weiter gejoined werden können: |
| Itemset | sup |
|---|---|
| {B,C,E} | 2 |
Schritt 1: FP-Tree zeichnen Schritt 2: Tabelle ausfüllen anhand dem FP-Tree
| Item | Präfixe | Support beachten | Frequent Item |
|---|---|---|---|
| M | K,E:2, K:1 | K:3 | {K,M} |
| O | K,E,M:1, K,E:2 | K,E:3 | {K,E,O}, {K,O}, {E,O} |
| Y | K,M:1, K,E,O:1, K,E,M,O:1 | K:3 | {K,Y} |
| E | K:4 | K:4 | {K,E} |
| K | - | - | |
| Schritt 3: Alle frequent Items auflisten | |||
| Frequent Items I: {K}, {E}, {Y}, {O}, {M} | |||
| Frequent Items II: {K,E}, {K,Y}, {K,O}, {E,O}, {K,M} | |||
| Frequent Items III: {K,E,O} |
1:1 Methode
Wenn blauer P. in Kl. blau -> keine Strafe
Aufgabe: Ist H' := {x ∈ ℝ³ | x₂ = 0} eine Hyperebene? Antwort: JA Normalenvektor: w = (0, 1, 0)ᵀ Stützvektor: a = (0, 0, 0)ᵀ Begründung:
- H' lässt sich als ⟨w, x⟩ + b = 0 schreiben: 0·x₁ + 1·x₂ + 0·x₃ + 0 = 0
- Dies entspricht x₂ = 0 (die xz-Ebene)
- w ≠ 0, daher ist H' eine Hyperebene im ℝ³ Generell: Wenn ein Parameter konstant ist oder wenn zwei Parameter gleich sind, ist es eine Hyperebene
Gerade: 1D-Objekt, existiert in ℝ² oder höher - Beispiel: Linie in der Ebene Ebene: 2D-Objekt, existiert in ℝ³ oder höher - Beispiel: Fläche im Raum
Hyperebene: Immer (n-1)D-Objekt in ℝⁿ - verallgemeinert Gerade/Ebene
Hyperebene-Spezialfälle:
- ℝ¹: Punkt (0D)
- ℝ²: Gerade (1D)
- ℝ³: Ebene (2D)
- ℝⁿ: (n-1)D-Objekt
Datenpunkte:
- Ziel: Optimale Trennhyperebene zwischen Klassen finden
- Maximaler Rand: Größtmöglicher Abstand zwischen Trennlinie und nächsten Datenpunkten
- Support Vectors: Datenpunkte, die direkt am Rand liegen und die Hyperebene bestimmen
- Robustheit: Große Margin führt zu besserer Generalisierung auf neue Daten
- Optimierungsproblem: Minimiere Komplexität bei maximaler Trennung
Parameter C:
- Regulierungsparameter für Soft-Margin
- Hoher C-Wert: Wenige Fehlklassifikationen erlaubt (Hard Margin, Overfitting-Risiko)
- Niedriger C-Wert: Mehr Fehlklassifikationen erlaubt (Soft Margin, Underfitting-Risiko) Parameter d (degree):
- Grad des Polynomkernels
- d=1: Linear, d=2: Quadratisch, d=3: Kubisch
- Höhere Grade: Komplexere Entscheidungsgrenzen möglich Parameter gamma:
- Kontrolliert Reichweite des RBF-Kernels
- Hoher gamma-Wert: Lokaler Einfluss, komplexe Grenzen (Overfitting)
- Niedriger gamma-Wert: Globaler Einfluss, glattere Grenzen (Underfitting)
- Kernel Trick: Transformation in höherdimensionalen Raum ohne explizite Berechnung
- Nicht-lineare Trennung: In höherer Dimension linear trennbar
- Implizite Abbildung: φ(x) bildet Eingabedaten in Feature-Raum ab
- Recheneffizienz: Nur Skalarprodukte K(xi,xj) berechnet, nicht φ(x) selbst
- Dimensionserweiterung: Aus 2D kann unendlich-dimensional werden (RBF-Kernel)