Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 26 additions & 20 deletions docs/1intro/def.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Definition von Künstlicher Intelligenz
======================================

Was ist die **Künstliche Intelligenz (KI)**?

Künstliche Intelligenz (KI) bezeichnet die Fähigkeit eines Computers oder einer
Maschine, menschenähnliche kognitive Funktionen auszuführen. Dazu gehören
Aufgaben wie Lernen, Problemlösung, Mustererkennung und Entscheidungsfindung.
Expand All @@ -17,12 +19,13 @@ Die Entwicklung der KI lässt sich in mehrere Phasen einteilen:
* Erste Algorithmen zur symbolischen Verarbeitung und regelbasierten Systeme
wurden entwickelt.
* Alan Turings berühmter `Turing-Test
<https://de.wikipedia.org/wiki/Turing-Test>`_ stellte eine frühe Methode
zur Bewertung der Intelligenz einer Maschine vor.
<https://de.wikipedia.org/wiki/Turing-Test>`_ stellte eine `frühe Methode
zur Bewertung der Intelligenz einer Maschine
<https://de.wikipedia.org/wiki/Turing-Test#/media/Datei:Turing-Test_ger_ABC.png>`_ vor.
* In den 1960er Jahren entstanden erste Expertensysteme, die regelbasierte
Entscheidungsfindung ermöglichten.

1980er–1990er: Erste Fortschritte und Rückschläge**
1980er–1990er: Erste Fortschritte und Rückschläge
* KI erlebte durch das Aufkommen von neuronalen Netzen und maschinellem
Lernen einen Aufschwung.
* Aufgrund hoher Rechenkosten und begrenzter Datenverfügbarkeit flachte das
Expand All @@ -39,8 +42,11 @@ Unterschiedliche Formen der Künstlichen Intelligenz

KI kann auf verschiedene Art und Weisen in verschiedene Kategorien unterteilt
werden. Eine Möglichkeit ist die Kategorisierung nach ihrem Funktionsumfang und
ihren Anwendungsmöglichkeiten, wie von Prof. Arend Hintze definiert, Forscher
und Professor der Integrative Biology an der Michigan State University:
ihren Anwendungsmöglichkeiten, wie von Prof. Arend Hintze, Forscher
und Professor der Integrative Biology an der Michigan State University, in dessen
`Understanding the four types of AI, from reactive robots to self-aware beings
<https://theconversation.com/understanding-the-four-types-of-ai-from-reactive-robots-to-self-aware-beings-67616>`_
definierte:

#. Reaktive KI (Reactive AI)

Expand Down Expand Up @@ -98,9 +104,9 @@ Prädiktive vs. Generative KI
----------------------------

Die aktuell in der Industrie gängigen Formen der KI lassen sind insbesondere in
**prädiktive KI** und **generative KI** unterscheiden:
**prädiktive KI** (Predictive AI) und **generative KI** (Generative AI) unterscheiden:

#. Prädiktive KI
1. Prädiktive KI

* Diese KI nutzt historische Daten, um **zukünftige Ereignisse
vorherzusagen**.
Expand Down Expand Up @@ -138,20 +144,20 @@ Bedeutung dieser Unterscheidung
Anwendungsfälle von KI
----------------------

KI findet heute in zahlreichen Bereichen Anwendung, darunter:
KI findet heute in zahlreichen Bereichen Anwendung, hier sind nur eine Beispiele aufgelistet:

Gesundheitswesen
Gesundheitswesen:
Diagnosestellung durch KI-gestützte Bildverarbeitung,
Medikamentenentwicklung.
Finanzwesen
Finanzwesen:
Automatische Betrugserkennung, algorithmischer Handel.
Industrie
Industrie:
Automatisierung von Prozessen, Qualitätskontrolle in der Fertigung.
Autonome Systeme
Autonome Systeme:
Selbstfahrende Autos, Drohnen, Robotersteuerung.
Sprachverarbeitung
Sprachverarbeitung:
Sprachassistenten wie Siri, Alexa oder Google Assistant.
Kreative Anwendungen
Kreative Anwendungen:
Generierung von Texten, Musik und Kunst durch KI.

Ethische Fragestellungen in der KI
Expand All @@ -160,15 +166,15 @@ Ethische Fragestellungen in der KI
Mit der rasanten Entwicklung der KI gehen auch bedeutende ethische Fragen
einher:

Bias und Diskriminierung
KI-Modelle können bestehende Vorurteile aus Trainingsdaten übernehmen.
Arbeitsplatzverdrängung
Bias und Diskriminierung:
KI-Modelle können bestehende Vorurteile aus den gegebenen Trainingsdaten übernehmen.
Arbeitsplatzverdrängung:
Automatisierung kann menschliche Arbeitsplätze gefährden.
Transparenz und Erklärbarkeit
Transparenz und Erklärbarkeit:
Viele KI-Modelle, insbesondere Deep Learning, sind schwer zu interpretieren.
Verantwortung und Haftung
Verantwortung und Haftung:
Wer ist verantwortlich, wenn eine KI fehlerhafte oder schädliche
Entscheidungen trifft?
Datenschutz
Datenschutz:
KI-Anwendungen erfordern oft große Datenmengen, was Datenschutzprobleme
aufwirft.
110 changes: 104 additions & 6 deletions docs/1intro/evaluation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,96 @@ Evaluation von ML-Modellen
Warum ist die Modellbewertung wichtig?
--------------------------------------

* Die Evaluation von ML-Modellen stellt sicher, dass das Modell zuverlässig und
generalisierbar ist.
* Ein gut evaluiertes Modell verhindert Overfitting und hilft, die besten
Algorithmen und Parameter auszuwählen.
* Die Evaluation von ML-Modellen stellt sicher, dass das Modell zuverlässig und generalisierbar ist.
* Ein gut evaluiertes Modell verhindert Overfitting und hilft, die besten Algorithmen und Parameter auszuwählen.

Wichtige Metriken für Klassifikationsprobleme
---------------------------------------------

Wichtige Metriken und Tools für Klassifikationsprobleme
----------------------------------------------------------

Die einfachste Form der Klassifikation ist die binäre Klassifikation (binary classification) und besteht aus zwei Zuständen.

Beispiel Covid-Schnelltest: Wir wollen untersuchen, wie gut der Infektionsstatus eines Patienten durch Corona-Schnelltests wiedergespiegelt wird.
Hier würde der Corona-Schnelltest als der Klassifikator von genau zwei Zuständen dienen: infiziert oder nicht-infiziert.

Aus diesen zwei Klassen können sich genau 4 Kombinationen ergeben, je nach dem, was das Modell vorhergesagt hat und ob das mit der Realität übereinstimmt:

* **True Positive (TP)**:
Der Schnelltest klassifiziert die Person als infiziert (Positive) und ein anschließender PCR-Test bestätigt dieses Ergebnis (True prediction). Somit war der Schnelltest korrekt.
* **False Positive (FP)**:
Der Schnelltest klassifiziert die Person als infiziert (Positive), jedoch ergibt ein anschließender PCR-Test, dass die Person nicht infiziert ist (False prediction).
* **True Negative (TN)**:
Der Schnelltest klassifiziert die Person als nicht-infiziert (Negative) und die Person ist tatsächlich nicht infiziert (True prediction).
* **False Negative (FN)**:
Der Corona-Schnelltest klassifiziert die Person als nicht-infiziert (Negative), jedoch ist die Person infiziert und sollte somit einen positiven Schnelltest haben (False prediction).


Konfusionsmatrix / Wahrheitsmatrix (Confusion Matrix)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*siehe auch*: `confusion matrix IBM <https://www.ibm.com/de-de/topics/confusion-matrix>`_,
`Wahrheitsmatrix <https://de.wikipedia.org/wiki/Beurteilung_eines_bin%C3%A4ren_Klassifikators#Wahrheitsmatrix:_Richtige_und_falsche_Klassifikationen>`_

Ein weiteres Tool, um diese 4 Kombinationen leicht sichtbar zu machen, ist die Konfusionsmatrix:

.. list-table:: Confusion Matrix
:header-rows: 1
:align: center

* - True Class ↓ / Predicted Class →
- Positive
- Negative
* - Positive (Actual Positive)
- True Positive (TP)
- False Negative (FN)
* - Negative (Actual Negative)
- False Positive (FP)
- True Negative (TN)

Anhand unseres Corona-Schnelltest-Beispiels:

Nehmen wir an, wir haben 100 Personen für den Testdatensatz an Corona-Schnelltests erfasst und
die sind wiefolgt aufgeteilt:

.. list-table:: Confusion Matrix
:header-rows: 1
:align: center

* - True Class ↓ / Predicted Class →
- Positive
- Negative
* - Positive (Actual Positive)
- 60 (TP)
- 20 (FN)
* - Negative (Actual Negative)
- 10 (FP)
- 10 (TN)

Daraus lässt sich folgendes "ablesen":

* True Positive (TP) = 60:
60 Personen sind laut Schnelltest infiziert (Positive) und sind tatsächlich infiziert (True).
* False Positive (FP) = 10:
10 Personen sind laut Schnelltest infiziert (Positive), sind in Wirklichkeit aber nicht infiziert (False).
* True Negative (TN) = 10:
10 Personen sind laut Schnelltest nicht-infiziert (Negative), und sind in Wirklichkeit auch wirklich gesund (True).
* False Negative (FN) = 20:
20 Personen sind laut Schnelltest nicht-infiziert (Negative), sind aber tatsächlich infiziert (False).

Die Konfusionsmatrix hilft stark dabei festzustellen, welche Art des Fehlers beim Klassifikator häufig(er) vorkommt.

In unserem Beispiel ist der Corona-Schnelltest in 70 % der Fälle korrekt ((60 + 10) / 100), was erst mal kein schlechter Wert ist.

Jedoch kommt in 10 % (20 / 100) aller Fälle ein False Negative Fehler vor.
Das bedeutet, dass in 10 % aller Fälle, die Person als gesund ausgewiesen wird, obwohl sie eigentlich krank und ansteckend ist.

Im Fall einer Viruserkrankung ist also nicht nur die Genauigkeit entscheidend, sondern vor allem die **False Negative Rate**.


Die wichtigsten (und meist genutzten) Metriken
-----------------------------------------------

In der Industrie werden aktuell für Klassifikationsprobleme vor allem folgende Metriken genutzt (basierend auf den oben genannten Konzepten):

Accuracy (Genauigkeit)
~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -60,6 +143,19 @@ ausgewogenes Maß zu erhalten:
Der F1-Score ist besonders nützlich bei unausgewogenen Datensätzen (engl.:
*unbiased data sets*).

False Negative Rate (FNR)
~~~~~~~~~~~~~~~~~~~~~~~~~~

Die False Negative Rate (FNR) wird in der Business-Welt nicht so häufig verwendet,
sondern vor allem in spezifiellen Domänen wie in unserem Beispiel der medizinischen Tests:

.. math::
\text{FNR} = \frac{\text{FN} }{\text{TN} + \text{FN}}

Die FNR ist also beim Evaluieren eines Tests einer hoch-ansteckenden Viruserkrankung ein wichtiger Indikator,
da es fatale Konsequenzen haben könnte, wenn zu viele *False Negatives* ausgelassen werden.


Wichtige Metriken für Regressionsprobleme
-----------------------------------------

Expand Down Expand Up @@ -89,6 +185,8 @@ R²-Koeffizient (Bestimmtheitsmaß)
* Zeigt, wie gut das Modell die Varianz der Zielvariable erklärt.
* Wertebereich: 0 (keine Erklärung) bis 1 (perfekte Erklärung).

*siehe auch*: `Bestimmtheitsmaß-Wiki <https://de.wikipedia.org/wiki/Bestimmtheitsma%C3%9F>`_

Praktische Anwendung: Evaluierung eines Modells in Python
---------------------------------------------------------

Expand Down
49 changes: 39 additions & 10 deletions docs/1intro/linear-regression.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ Praktische Einführung: Lineare Regression
Was ist Lineare Regression?
---------------------------

- Die **Lineare Regression** ist eines der grundlegendsten Modelle des maschinellen Lernens.
* Die **Lineare Regression** ist eines der grundlegendsten Modelle des maschinellen Lernens.
* Sie wird verwendet, um eine abhängige Variable (Zielvariable) anhand einer oder mehrerer unabhängiger Variablen vorherzusagen.
* Bei der linearen Regression ist die Voraussetzung, dass das `Skalenniveau <https://datatab.de/tutorial/skalenniveau>`_ der abhängigen Variable `intervallskaliert <https://de.statista.com/statistik/lexikon/definition/71/intervallskaliert/#:~:text=Eine%20Skala%20ist%20intervallskaliert%2C%20wenn,den%20Werten%205%20und%206.>`_ ist, sowie eine Normalverteilung vorliegt.
* Ist die abhängige Variable kategorisch, wird eine logistische Regression verwendet.

- Sie wird verwendet, um eine abhängige Variable (Zielvariable) anhand einer oder mehrerer unabhängiger Variablen vorherzusagen.

- Die Gleichung einer einfachen linearen Regression lautet:
* Die Gleichung einer einfachen linearen Regression lautet:

.. math::
y = wX + b
Expand All @@ -23,6 +24,26 @@ Was ist Lineare Regression?

- `b` der Achsenabschnitt (Bias).


Interpretabilität von Linearen Regressions-Modellen
----------------------------------------------------

Wie viele Modelle müssen für die Lineare Regression einige Voraussetzungen in den Daten erfüllt sein,
damit die Ergebnisse der Regressionsanalyse interpretiert werden können.

* Linearität:
Es muss ein linearer Zusammenhang zwischen der abhängigen und den unabhängigen Variablen bestehen.
* Homoskedastizität:
Die Residuen müssen eine konstante Varianz haben.
* Normalität:
Normalverteilte Fehlerkomponente
* Keine Multikollinearität:
Keine hohe Korrelation zwischen den unabhängigen Variablen
* Keine Autokorrelation:
Die Fehlerkomponente sollte keine Autokorrelation aufweisen.

*siehe auch:* `datalab-tutorial<https://datatab.de/tutorial/lineare-regression>`_

Beispiel mit scikit-learn
-------------------------

Expand All @@ -31,14 +52,22 @@ Schritte zur Implementierung eines ML-Modells

1. **Daten laden und vorbereiten**

- Import von Bibliotheken und Laden eines Datensatzes.
* Import von Bibliotheken und Laden eines Datensatzes.
* Untersuchung der Datenverteilung, Korrelationen und möglicher Ausreißer.
* Aufteilung der Daten in Trainings- und Testsets.

2. **Datenvorbereitung**

- Aufteilung der Daten in Trainings- und Testsets.
* Umwandlung kategorischer Merkmale (One-Hot-Encoding).
* Normalisierung und Skalierung numerischer Merkmale.
* Aufteilung in Trainings- und Testdaten.

2. **Modell erstellen und trainieren**
3. **Modell erstellen und trainieren**

- Ein Lineares Regressionsmodell aus `scikit-learn` erstellen und trainieren.
* Ein Lineares Regressionsmodell aus `scikit-learn` erstellen und trainieren.
* Verwendung von Metriken zur Bewertung der Modellgüte (z.B. MSE, R²).

3. **Modell evaluieren**
4. **Modell evaluieren und Interpretation**

- Vorhersagen treffen und mit Metriken wie dem mittleren quadratischen Fehler (MSE) bewerten.
* Bewertung der Modellperformance auf dem Testdatensatz.
* Interpretation der wichtigsten Einflussgrößen.
Loading
Loading