feature: add more L3 theory notes
This commit is contained in:
@@ -179,3 +179,189 @@
|
|||||||
```python
|
```python
|
||||||
new_names = old_names.str.replace('[^a-zA-Z0-9_]', '_', regex=True)
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user