289 lines
8.7 KiB
Markdown
289 lines
8.7 KiB
Markdown
# 1. Teilgebiete von AI
|
||
|
||

|
||
|
||
1. **Machine Learning (ML)** – Ein System lernt aus Daten, Muster zu erkennen und Vorhersagen zu treffen, ohne explizit programmiert zu sein.
|
||
|
||
- **Supervised Learning**: Trainiert mit gelabelten Daten (z. B. Klassifikation & Regression).
|
||
- **Unsupervised Learning**: Findet Muster in ungelabelten Daten (z. B. Clustering, Anomalie-Erkennung).
|
||
- **Reinforcement Learning (RL)**: Agent lernt durch Belohnungen und Strafen (z. B. AlphaGo, Robotik).
|
||
2. **Deep Learning (DL)** – Eine Unterkategorie von ML, die neuronale Netzwerke mit vielen Schichten nutzt. Besonders leistungsfähig bei Bild-, Sprach- und Textverarbeitung (z. B. CNNs für Bilder, RNNs für Sprache).
|
||
|
||
|
||
Jede dieser Disziplinen entwickelt sich rasant weiter und wird oft kombiniert eingesetzt.
|
||
# 2. Machine Learning
|
||
![[Pasted image 20250129121715.png]]
|
||
## Supervised Learning
|
||
- Klassifikation
|
||
- Training: Objekt: Label gegeben
|
||
- Test: Objekt: Label zuordnen
|
||
- Methoden
|
||
- Regression
|
||
- >Training
|
||
- >X: Datenpunkt Y gegeben
|
||
- Test: X: Y vorhersagen
|
||
### Examples
|
||
**Klassifikation**
|
||
- K-Nearest-Neighbors
|
||
- Naïve Bayes
|
||
- Support Vector Machines
|
||
- Decision Trees
|
||
|
||
**Regression**
|
||
- Polynomregression
|
||
- Lineare Regression
|
||
- Random Forrest Regression
|
||
- Support Vector Regression
|
||
|
||
## Unsupervised Learning
|
||
- Clustering
|
||
- Anomalieerkennung
|
||
- Visualisierung
|
||
- Dimensionsereduktion
|
||
- Lernen von Assoziationsregeln
|
||
|
||
## Semi-supervised Learning
|
||
![[Pasted image 20250129121927.png]]
|
||
|
||
## Others
|
||
**Batch-Learning**
|
||
- Einmal hin alles drin
|
||
|
||
**Online-Learning**
|
||
- Stück für Stück, mit Web scraper
|
||
- Immer mal wieder kommt was neues
|
||
|
||
# 3. Daten ( -> Herausforderungen )
|
||
## Datenmenge
|
||
Deep Learning braucht viel Daten, skaliert aber extrem gut bis ins unendliche (Eher fehlt die Rechenleistung)
|
||
- Mindestdatenmenge muss erreicht sein
|
||
|
||
## Datenqualität
|
||
**Wird schlechter durch:**
|
||
- Rauschen (Daten die ungewollt im Datensatz sind)
|
||
- Fehler ( Daten die Falsch sind z.B. sensoren, User geben falsche angaben)
|
||
- Ausreißer: Daten die extrem abweichen
|
||
- Empty Values: z.B. NaN / Null im Datensatz
|
||
|
||
## Datenrepräsentation
|
||
- Korrelation =/= Kausalität
|
||
- zu wenige Daten
|
||
|
||
## Overfitting
|
||
- Alles ist ein Muster
|
||
- Analog: CEO der jeden Müll hyped
|
||
|
||
**Lösung**:
|
||
- Einfacheres Modell
|
||
- Weniger Features
|
||
- Bessere Daten (siehe Datenqualität)
|
||
- (Basically alles weniger komplex machen)
|
||
|
||
## Underfitting
|
||
- Nichts ist ein Muster
|
||
- Analog: Person die die Augen verschließt ("nothing ever happens")
|
||
|
||
**Lösung**:
|
||
- Siehe Overfitting (aber invertiert)
|
||
- Die richtigen Features finden
|
||
|
||
## Data Snooping Bias
|
||
In der Datenvoranalyse (Data Snooping) wird versucht sich ein bild vom Datensatz zu machen und voreilige Schlüsse gezogen. Diese können sich durch die ganze Forschung ziehen und sie negativ beeinflussen.
|
||
|
||
## Stratified Sampling
|
||
- Klustern von Datenpunkten
|
||
- Zufällige Auswahl von Datenpunkten aus den Clustern
|
||
|
||
![[Pasted image 20250129121441.png]]
|
||
## Train-Test Split
|
||
- Trainingsdaten: Modell trainieren
|
||
- Testdaten: Modell testen
|
||
|
||
Normalerweise 70% / 30%
|
||
|
||
## Parameter
|
||
### Hyperparameter
|
||
- Entkoppelt vom Modell
|
||
- Beispiel: Temperature bei LLM's
|
||
|
||
### Modelparameter
|
||
- Wird Trainiert
|
||
|
||
|
||
# 4. Qualitätsmetriken
|
||
## Root Mean Squared Error
|
||
> Es berechnet die Differenz für alle Datenpunkte.
|
||
> Diese Werden Quadriert um größere Differzenzen zu hervorzuheben. ( und auch für positives Vorzeichen )
|
||
> Daraus wird der Durchschnitt berechnet und die Wurzel gezogen (um das Quadrieren rückgängig zu machen).
|
||
|
||
$$ \text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} $$
|
||
|
||
**Variablen:**
|
||
- $y_i$: Tatsächliche Werte
|
||
- $\hat{y}_i$: Vorhergesagte Werte ($f(x_i)$)
|
||
- $n$: Anzahl der Datenpunkte
|
||
|
||
**Schritte:**
|
||
1. Berechne die Differenzen: $y_i - \hat{y}_i$
|
||
2. Quadriere die Differenzen: $(y_i - \hat{y}_i)^2$
|
||
3. Berechne den Durchschnitt: $\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$
|
||
4. Ziehe die Quadratwurzel: $\sqrt{\dots}$
|
||
|
||
## Mittlerer absoluter Fehler MAE
|
||
Siehe RMSE aber ohne Quadrieren.
|
||
> Das Quadrieren wegzulassen bedeutet das die Skala für die Differenzen linear ist und nicht exponentiell. D.h. Ausreißer haben weniger Einfluss auf das Ergebnis.
|
||
**Formel:**
|
||
$$
|
||
\text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|
|
||
$$
|
||
|
||
- $y_i$: Tatsächlicher Wert
|
||
- $\hat{y}_i$: Vorhergesagter Wert
|
||
- $n$: Anzahl der Datenpunkte
|
||
|
||
## Arithmetisches Mittel
|
||
> Summe aller Werte durch die Anzahl der Werte
|
||
$$ \text{AM} = \frac{1}{n} \sum_{i=1}^{n} x_i $$
|
||
|
||
## Median
|
||
> Der Wert der in einer Sortierten Liste in der Mitte steht bei ```ungeraden n```. Bei ```geraden n``` der Durchschnitt der beiden mittleren Werte.
|
||
|
||
$$ \text{Median} = \begin{cases} x[\frac{n+1}{2}] & \text{für ungerade } n \\ \frac{1}{2} (x[\frac{n}{2}] + x[\frac{n}{2}+1]) & \text{für gerade } n \end{cases} $$
|
||
|
||
## Streuungsmasse
|
||
### Mittlere absolute abweichung (MAD)
|
||
> gleiches Konzept wie bei MAE, aber der "gewünschte" Wert ist der Erwartungswert.
|
||
|
||
>INFO: Da hier nicht mit Wahrscheinlichkeiten gerechnet wird, ist der Erwartungswert = der Durchschnittswert. (Weil alle Werte gleich wahrscheinlich sind, und die Verteilung symmetrisch)
|
||
|
||
$$ \text{MAD} = \frac{1}{n} \sum_{i=1}^{n} |x_i - \hat{x}_i| $$
|
||
|
||
### Varianz und Standardabweichung
|
||
> **Varianz**: Durchschnittliche quadratische Abweichung (ohne Wurzel) \
|
||
> **Standardabweichung**: Wurzel der Varianz (Root Mean Squared Error für X mit n-1)
|
||
|
||
$$ \sigma^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \hat{x})^2 $$
|
||
|
||
$$ \sigma = \sqrt{\sigma^2} $$
|
||
## Pearson Korrelationskoeffizient
|
||
$$
|
||
r = \frac{\sum_{i=1}^n
|
||
\bigl(x_i - \overbrace{\bar{x}}^{\text{Mittelwert}}\bigr)
|
||
\bigl(y_i - \overbrace{\bar{y}}^{\text{Mittelwert}}\bigr)}
|
||
{(n - 1)\,\underbrace{s_x \cdot s_y}_{\text{Standardabweichung}}}.
|
||
$$
|
||
- **Zusammenhang zwischen zwei numerischen Variablen**
|
||
|
||
- **$r \in [-1; +1]$**
|
||
- **1**: stark positive Korrelation
|
||
- **0**: keine lineare Korrelation
|
||
- **–1**: stark negative Korrelation
|
||
|
||
- **Nichtlinearer Zusammenhang** trotzdem möglich
|
||
- exponentiell, quadratisch
|
||
|
||
- **Korrelation ≠ Kausalität**
|
||
|
||
|
||
# 6. Regression
|
||
![[Pasted image 20250129121337.png]]
|
||
## Lineare Regression
|
||
**Lineare Regression**
|
||
$$
|
||
\begin{align*}
|
||
\textrm{Lineare Gleichung: }
|
||
\quad &y = c + m \cdot x \\[6pt]
|
||
\textrm{Steigung: }
|
||
\quad &m = \frac{\sum (x - \bar{x}) (y - \bar{y})}{\sum (x - \bar{x})^2} \\[6pt]
|
||
\textrm{Intercept: }
|
||
\quad &c = \bar{y} - m \,\bar{x}
|
||
\end{align*}
|
||
$$
|
||
**R2**
|
||
$$
|
||
\begin{align*}
|
||
\textrm{Bestimmtheitsmaß:} \quad
|
||
&R^2 = \frac{SSR}{SST} \\[6pt]
|
||
\textrm{Sum of Squares Regression (SSR):} \quad
|
||
&SSR = \sum_{i} \bigl(\hat{y}_i - \bar{y}\bigr)^2 \\[6pt]
|
||
\textrm{Total Sum of Squares (SST):} \quad
|
||
&SST = \sum_{i} \bigl(y_i - \bar{y}\bigr)^2
|
||
\end{align*}
|
||
$$
|
||
|
||
|
||
|
||
# 9. Supervised Learning
|
||
## Kunfusionsmatrix
|
||
![[Pasted image 20250129121620.png]]
|
||
|
||
### Precision (Relevanz)
|
||
$precision=\frac{tp}{tp+fp}$
|
||
|
||
### Recal (Sensibilität)
|
||
$recall=\frac{tp}{tp+fn}$
|
||
|
||
### F1
|
||
$f1=2\cdot\frac{precision\cdot recall}{precision+recall}$
|
||
## Logistische Regression zur binären Klassifikation
|
||
|
||
- **Klassifikationsverfahren**
|
||
- **Wahrscheinlichkeit** für die Klassenzugehörigkeit zwischen 0 und 1
|
||
- **Nominalskalierte** Kriterien vorhersagen
|
||
- **Prädiktor** (Merkmal)
|
||
- **Kriterium** (Wahrscheinlichkeit)
|
||
- Je steiler die Kurve, desto besser die Vorhersage
|
||
- **Siehe auch**
|
||
- Multinomiale logistische Regression für mehrere Kriterien
|
||
|
||
**Formel**
|
||
$$
|
||
p(y = 1) \;=\; \beta_0 \,\cdot\,
|
||
\frac{e^{\beta_0 + \beta_1 \cdot x_1}}
|
||
{1 \;+\; e^{\beta_0 + \beta_1 \cdot x_1}}\;=\;
|
||
\\~\\p\!\bigl(\underbrace{y = 1}_{\text{(Zielvariable)}}\bigr)
|
||
\;=\;
|
||
\underbrace{\beta_0}_{\text{(Achsenabschnitt)}}
|
||
\,\cdot\,
|
||
\frac{
|
||
e^{
|
||
\overbrace{\beta_0}^{\text{(Achsenabschnitt)}}
|
||
\;+\;
|
||
\overbrace{\beta_1}^{\text{(Regressionskoeffizient)}}
|
||
\cdot
|
||
\overbrace{x_1}^{\text{(Prädiktor)}}
|
||
}
|
||
}{
|
||
1 + e^{\beta_0 + \beta_1 \cdot x_1}
|
||
}
|
||
$$
|
||
|
||
**Variablen:**
|
||
- $y$: Zielvariable (nimmt Werte 0 oder 1)
|
||
- $\beta_0$: Achsenabschnitt (Intercept)
|
||
- $\beta_1$: Regressionskoeffizient (Gewicht für den Prädiktor)
|
||
- $x_1$: Prädiktor (Eingangsvariable)
|
||
- $e^{\beta_0 + \beta_1 \cdot x_1}$: Exponentialterm, hier als Basis der logistischen Funktion
|
||
- $p(y=1)$: Wahrscheinlichkeit, dass $y=1$ eintritt
|
||
|
||
|
||
# 10. Unsupervised Learning
|
||
## Clustering
|
||
### K-Means
|
||
![[Pasted image 20250129121823.png]]
|
||
### Euclidean Distance
|
||
$d\left( x,y \right)=\sqrt{\sum_{i=1}^{n}\left( x_i-y_i \right)^2}$
|
||
|
||
### Elbow Method
|
||
![[Pasted image 20250129121853.png]]
|
||
- **Optimale Anzahl an Clustern** finden
|
||
>Wenn die **Distanz** zwischen den **Clustern** nicht mehr **signifikant** sinkt, ist die **optimale Anzahl** an Clustern erreicht.
|
||
### Silhouette Coefficient
|
||
$$
|
||
\begin{align*}
|
||
a=\textrm{cohesion}=\textrm{intra cluster distance}\\
|
||
b=\textrm{separation}=\textrm{nearest cluster distance}\\
|
||
s\left( i \right)=\frac{b\left( i\right)-a\left( i\right)}{max\{a\left( i\right),b\left( i\right)\}}
|
||
\end{align*}
|
||
$$
|