From e397f031cc3c6dada63ed0c42f3d5774a366f2f2 Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 28 May 2026 14:32:36 +0200 Subject: [PATCH] feature: add more L3 theory notes --- SL/notizen/L3_Notizen.md | 186 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) diff --git a/SL/notizen/L3_Notizen.md b/SL/notizen/L3_Notizen.md index 4beb4fe..82b9f57 100644 --- a/SL/notizen/L3_Notizen.md +++ b/SL/notizen/L3_Notizen.md @@ -179,3 +179,189 @@ ```python new_names = old_names.str.replace('[^a-zA-Z0-9_]', '_', regex=True) ``` + +## Dekomposition + +- Informatik: Kernmethode um grosse Probleme in kleine, handhabbare Teilaufgaben aufzuteilen +- Wirtschaft und Mathematik: Analyse von Daten und Prozesse in einzelne Komponenten aufteilen, Trends, Zeitreihenanalyse und Restrauschen +- In der Datenanalyse: + - Saisonbereinigung vs. Trend + - Prognose/Forecasting -> Aus Trend und Saisonalität kann Zukunft abgeleitet werden + - Fehleranalyse -> Ist das "Restrauschen" normal oder hat es plötzliche Ausschläge? + +### Beispiel: Eisverkauf + +- Saisonalität ist eindeutig +- Wird die Saisonalität herausgerechnet, sieht man den Trend +- Zufälle: Bspw Firmenfeier oder Schulabschluss + +## Merkmals-Dekomposition + +- Standardverfahren zur Dimensionsreduktion + - Viele Features können zu wenigen aussagekräftigen Hauptfaktoren zusammengelegt werden +- Die wichtigsten Algorithmen + - PCA (principlan component analysis) + - Sucht nach den Richtungen (Achsen) in denen die Daten die grösste Varianz aufweisen + - t-SNE (t-distributed Stochastic Neighbor Embedding) + - Besonders gut darin nicht lineare Daten abzubilden + - Faktorenanalyse + - Geht davon aus, dass es latente Variablen gibt + +### PCA + +- Zentrierung: Man schiebt die Datenwolke (Pixelhaufen) so, dass ihr Mittelpunkt genau bei Null liegt +- Berechnung der Hauptkomponenten + - Die 1. Hauptkomponente PC1 ist die Linie die so mitten durch die Daten gelegt wird, dass die Punkte so weit wie möglich darauf verteilt sind + - Die 2. Hauptkomponente PC2 steht im rechten Winkel zur ersten und fängt den rest der Infromation ein +- Vereinfacht einen riesigen Datensatz so, dass +- nur die wichtigsten Merkmale bleiben +- ohne das Gesamtbild zu verlieren +- Visualisierung + - Daten mit 10 oder 50 Merkmalen kann man nicht zeichnen + - Nach PCA hat man 2 Hauptkomponenten und + - man kann sie als Punkte darstellen +- Geschwindigkeit: KI-Modelle lernen viel schneller wenn sie statt 1000 nur noch 10 komprimierte Merkmale verarbeiten müssen +- Rauschunterdrückung: Kleine unwichtige Schwankungen (Rauschen) gehen verloren! +- Voraussetzungen + - keine Missing values + - keine numerischen Daten + - bereinigung anderer möglichen Anomalien + - Features -> X + - Target -> Y + ```python + from sklearn.decomposition import PCA + model = PCA() + pred = model.fit_transform(X) # train and apply trainer on data + print(pred[:3,:]) # check result + ``` +- Interessant: Scatterplot PC1 vs PC2 + +## Stichproben + +- Eie Stichprobe ist ein vollständiges, verkleinertes Spiegelbild der Grundgesamtheit. + - Sie gibt damit auch alle wesentlichen Eigenschaften der Grundgesamtheit wieder +- Mit eine Probeziehung wird ein repräsentativer Teil einer Population ausgewählt um Rückschlüsse auf die Gesamtheit zu ziehen +- Repräsentativ + - Eine Stichprobe ist dann repräsentativ wenn alle Beobachtungen der Grundgesamtheit die gleiche Chance besessen haben, Teil dieser Stichprobe zu werden + +### Stichprobengrösse + +- Maschinelles Lernen: Als Faustregel gilt, dass Sie mindestens zehnmalso viele Datenpunkte/Beobachtungen benötigen, wie Ihr Datensatz Features enthält +- Art des Ziehens + - Mit oder ohne zurücklegen + +### Einfache Stichprobe (Zufallsstichprobe) + +- Rein zufällige Features werden gezogen +- Jede Beobachtung hat die gleiche Chance gezogen zu werden +- Vorteil + - Ist die Zufallsstichprobe gross genug werden automatisch alle Beobachtungen in der Stichprobe auftauchen + +### Geschichtete Stichprobenziehung (Stratifizierung) + +- Ziel + - Die Grundgesamtheit so genau wie möglich darzustellen +- Anforderungen an die Schichten + - Sie sollten sich gegenseitig ausschliessen und gemeinsam erschöpfend sein +- Vorgehen + - relevante Variablen identifizieren + - alter, geschlecht, einkommen, standort + - Grundgesamtheit wird auf Grundlage dieser Variablen in Untergruppen (schichten) eingeteilt + - Zufallsstichprobe aus jeder Schicht wählen: + - Proportional -> entsprechend dem Anteil der Schicht an der Grundgesamtheit + - Disproportional -> etwa Gleich grosse Stichproben aus jeder Schicht + +### Proportionale Stratifizierung + +- Die schichten werden originalgetreu gewichtet +- Vorteile + - Repräsentativität -> die Grundgesamtheit ist in der Stichprobe gut abgebildet + - Präzise Schätzungen möglich +- Nachteile + - Aufwand + - Komplexität + +### Disproportionale Stratifizierung + +- Die Schichten werden unterschiedlich stark gewichtet +- Verwendung wenn + - bestimmte Schichten von besonderem Interesse sind + - Kosten der Datenerhebung in den veschiedenen Schichten variieren +- Ziel: Ausreichende Anzahl von Elementen jeder Schicht zu haben +- Gewichtung: Faktor der die ursprüngliche Verteilung der Grundgesamtheit berücksichtigt +- Vorteile: + - Genauigkeit + - Effizienz + - Berücksichtigt Heterogenität + - Detailiertere Analyse der unterschiedlichen Schichten möglich +- Nachteile: + - Verzerrte Ergebnisse + - Aufwändige Analyse + +### Klumpenstichprobe + +- Grundgesamtheit zunächst hinsichtlich eines Merkmals in natürliche Klumpen einteilen + - Wie bspw. Klassen in einer Schule +- Klumpen untereinander Homogen + - Jeder Klumpen ist ein verkleinertes Abbild der Population + - Alle Klumpen können sich stark ähneln + +## Algorithmen + +- Wichtig + - Distanzmasse + - Overfitting + - Training vs Anwenden + +## Euklidisches Distanzmass + +- Wird am häufigsten verwendet in der Clusteranalyse +- "Luftlinie", die den geometrischen Abstand zwischen zwei Punkten in einem Koordinatensystem misst +- Für zwei Punkte P und Q in einem mehrdimensionalen Raum berechnet sich die Distanz nach dem Satz des Pythagoras +- Optische Verzerrung + - Nicht alle Features fallen gleich stark ins Gewicht + - Lösung: Standardisierung + +## Manhattan-Distanz (Taxi Prinzip) + +- Summe der absoluten Differenzen ihrer Einzelmasse und keine "Luftlinie" +- Wenig anfälliger für Ausreisser + +## Overfitting + +- Ein ML-Model lernen die Trainingsdaten zu gut auswendig und lernt + - Zufallsschwankungen und Rauschen +- Es wirkt intelligent aber in Wahrheit ist es nicht mehr generalisierungsfähig +- Modell sieht Muster wo keine sind +- Passiert wenn das Modell + - zu komplex ist + - zu wenig Daten hat + - zu lange trainiert wure + - Rauschen in den Daten als echtes Muster interpretiert wird +- Ein Entscheidungsbaum könnte so stark wachsen, dass er jeden einzelnen Trainingspunkt perfekt trennt, sogar Ausreisser +- Wie verhindert man das? + - Cross-Validation + - bei kleinen Datensätzen wichtig + - Teilung des Datensatz in bestimmte Mengen + - Bspw: Ten-fold cross validation (10:1 Trainings zu Testdaten) + - Regularisierungen (L1,L2) + - Frühzeitiges Stoppen + - Pruning bei Entscheidungsbäumen + - Mehr Trainingsdaten + - Dropout bei neuronalen Netzen + - Modell vereinfachen +- Wenn sich Test Error und Training Error stark unterscheiden + - Ist das fast immer ein Zeichen für Overfitting + +## Modeltraining vs Modelanwendung + +- Modelltraining + - Input + - Daten + - Antworten (Zielvariable) + - Algorithmus aussuchen + - Algorithmen lernen Regeln + - Auswählen des Algorithmus der am besten performed +- Modelanwendung + - Das Modell bekommt neue unbekannte Daten + - Macht eine Vorhersage basierend auf den Trainingsdaten