Baumdiagramm: Unterschied zwischen den Versionen

Aus FLBK-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
[[Datei:Baumstruktur.png|mini]]
[[Datei:Baumstruktur.png|mini]]


== Wahrscheinlichkeitsrechnung: Ereignisbäume (Entscheidungsbäume) ==
== Wahrscheinlichkeitsrechnung: Ereignisbäume ==


In der Wahrscheinlichkeitsrechnung werden Bäume oft als [[Baumdiagramm (Wahrscheinlichkeitsrechnung)|'''Ereignisbäume''' oder '''Wahrscheinlichkeitsbäume''']] verwendet, um eine Sequenz von Ereignissen und deren mögliche Ausgänge sowie die zugehörigen Wahrscheinlichkeiten zu visualisieren und zu berechnen.
In der Wahrscheinlichkeitsrechnung werden Bäume oft als [[Baumdiagramm (Wahrscheinlichkeitsrechnung)|'''Ereignisbäume''' oder '''Wahrscheinlichkeitsbäume''']] verwendet, um eine Sequenz von Ereignissen und deren mögliche Ausgänge sowie die zugehörigen Wahrscheinlichkeiten zu visualisieren und zu berechnen.
Zeile 20: Zeile 20:
* '''Risikobewertung:''' Analyse von Pfaden und Wahrscheinlichkeiten, die zu einem bestimmten Risikoereignis führen können.
* '''Risikobewertung:''' Analyse von Pfaden und Wahrscheinlichkeiten, die zu einem bestimmten Risikoereignis führen können.


---
== Maschinelles Lernen ==
 
== Entscheidungsfindung: Entscheidungsbäume ==
 
'''Entscheidungsbäume''' sind eng mit den Wahrscheinlichkeitsbäumen verwandt, fokussieren sich aber stärker auf die Unterstützung rationaler Entscheidungen unter Unsicherheit. Sie helfen dabei, den optimalen Aktionsplan zu finden, indem sie mögliche Entscheidungen, deren Konsequenzen und die damit verbundenen Wahrscheinlichkeiten und Werte abbilden.
 
=== Struktur ===
* '''Entscheidungsknoten (Quadrate):''' Punkte, an denen eine Entscheidung getroffen werden muss.
* '''Zufallsknoten (Kreise):''' Punkte, an denen ein zufälliges Ereignis eintritt.
* '''Äste:''' Repräsentieren Optionen oder mögliche Ereignisse.
* '''Blätter:''' Endergebnisse, oft mit einem monetären Wert oder Nutzen assoziiert.
 
=== Anwendungsbeispiel ===
* '''Investitionsentscheidungen:''' Ein Unternehmen entscheidet, ob es in ein neues Produkt investieren soll.
** '''Startknoten:''' Entscheidung, Produkt A zu entwickeln oder nicht.
** Wenn entwickelt: Zufallsknoten für Markterfolg (hoch, mittel, niedrig), jeweils mit einer Wahrscheinlichkeit und einem erwarteten Gewinn.
** Wenn nicht entwickelt: Möglicher Verlust durch verpasste Gelegenheit.
** Der Baum hilft, den erwarteten Wert (Expected Monetary Value, EMV) jeder Entscheidung zu berechnen und die Option mit dem höchsten EMV zu wählen.
* '''Projektmanagement:''' Auswahl des besten Vorgehens bei Risiken.
* '''Geschäftsstrategie:''' Planung von Marketingkampagnen basierend auf potenziellen Kundenreaktionen.
 
---
 
== Maschinelles Lernen: Entscheidungsbäume und Baum-Ensembles ==


Im Maschinellen Lernen sind Bäume eine der grundlegendsten und leistungsstärksten Modelltypen, sowohl für Klassifikations- als auch für Regressionsprobleme.
Im Maschinellen Lernen sind Bäume eine der grundlegendsten und leistungsstärksten Modelltypen, sowohl für Klassifikations- als auch für Regressionsprobleme.
Zeile 49: Zeile 26:
=== Entscheidungsbäume (als Modell) ===
=== Entscheidungsbäume (als Modell) ===
* '''Struktur:''' Hierarchische Struktur, bei der interne Knoten "Tests" auf Merkmale der Daten repräsentieren (z.B. "Ist Alter > 30?"). Jeder Ast repräsentiert das Ergebnis dieses Tests, und jeder Blattknoten repräsentiert eine Klassenzuordnung (bei Klassifikation) oder einen Wert (bei Regression).
* '''Struktur:''' Hierarchische Struktur, bei der interne Knoten "Tests" auf Merkmale der Daten repräsentieren (z.B. "Ist Alter > 30?"). Jeder Ast repräsentiert das Ergebnis dieses Tests, und jeder Blattknoten repräsentiert eine Klassenzuordnung (bei Klassifikation) oder einen Wert (bei Regression).
* '''Lernen:''' Der Baum wird durch rekursive Partitionierung der Daten gelernt, indem an jedem Knoten das Merkmal ausgewählt wird, das die Daten am besten trennt (z.B. basierend auf Gini-Impurity oder Entropie).
* '''Lernen:''' Der Baum wird durch rekursive Partitionierung der Daten gelernt, indem an jedem Knoten das Merkmal ausgewählt wird, das die Daten am besten trennt (z.B. basierend auf Entropie).


=== Anwendungsbeispiel ===
=== Anwendungsbeispiel ===
* '''Kreditwürdigkeit:''' Entscheidung, ob einem Kunden ein Kredit gewährt werden soll, basierend auf Einkommen, Alter, Kredit-Historie etc. Ein Blatt könnte "Kredit gewähren" oder "Kredit ablehnen" sein.
* '''Kreditwürdigkeit:''' Entscheidung, ob einem Kunden ein Kredit gewährt werden soll, basierend auf Einkommen, Alter, Kredit-Historie etc. Ein Blatt könnte "Kredit gewähren" oder "Kredit ablehnen" sein.
* '''Krankheitsdiagnose:''' Klassifikation von Patienten in "krank" oder "gesund" basierend auf Symptomen.
* '''Krankheitsdiagnose:''' Klassifikation von Patienten in "krank" oder "gesund" basierend auf Symptomen.
=== Baum-Ensembles (Random Forests, Gradient Boosting Trees wie XGBoost, LightGBM) ===
* Diese leistungsstärkeren Modelle basieren auf der Kombination vieler einzelner Entscheidungsbäume.
* '''Random Forests:''' Erstellen eine Vielzahl von Entscheidungsbäumen auf zufälligen Teilmengen der Daten und Merkmale und aggregieren deren Vorhersagen (durch Mehrheitsvotum bei Klassifikation, Durchschnitt bei Regression). Dies reduziert Überanpassung (Overfitting) und verbessert die Generalisierung.
* '''Gradient Boosting (z.B. XGBoost):''' Erstellt Bäume sequenziell, wobei jeder neue Baum versucht, die Fehler des vorhergehenden Baumes zu korrigieren. Dies führt zu sehr genauen Modellen.
=== Anwendungsbeispiel ===
* '''Kaggle-Wettbewerbe:''' Häufig die Gewinner-Algorithmen in strukturierten Daten-Wettbewerben.
* '''Betrugserkennung:''' Identifizierung betrügerischer Transaktionen.
* '''Kundenabwanderung:''' Vorhersage, welche Kunden wahrscheinlich ihren Vertrag kündigen werden.
---


== Suche: Suchbäume und Baumtraversierung ==
== Suche: Suchbäume und Baumtraversierung ==

Version vom 16. Mai 2025, 11:49 Uhr

Ein Baum ist ein spezieller Typ von Graph. Im Kontext der Informatik, Mathematik und Datenanalyse ist der Begriff "Baum" eine fundamental wichtige Datenstruktur, die hierarchische Beziehungen darstellt. Er kommt in vielen Bereichen zur Anwendung.

Wahrscheinlichkeitsrechnung: Ereignisbäume

In der Wahrscheinlichkeitsrechnung werden Bäume oft als Ereignisbäume oder Wahrscheinlichkeitsbäume verwendet, um eine Sequenz von Ereignissen und deren mögliche Ausgänge sowie die zugehörigen Wahrscheinlichkeiten zu visualisieren und zu berechnen.

Struktur

  • Knoten: Repräsentieren Ereignisse oder Entscheidungspunkte.
  • Äste/Kanten: Repräsentieren die möglichen Ausgänge eines Ereignisses oder die getroffenen Entscheidungen, denen Wahrscheinlichkeiten zugeordnet sind.
  • Blätter (Endknoten): Repräsentieren die Endergebnisse oder finalen Zustände.

Anwendungsbeispiel

  • Medizinische Diagnostik: Ein Arzt kann einen Ereignisbaum verwenden, um die Wahrscheinlichkeit verschiedener Diagnosen basierend auf Symptomen und Testergebnissen zu bestimmen.
    • Startknoten: Patient hat Symptom X.
    • Äste: Test A ist positiv (Wahrscheinlichkeit P(Pos|X)) oder negativ (Wahrscheinlichkeit P(Neg|X)).
    • Nächste Knoten: Basierend auf Testergebnis, weitere Tests oder Diagnosen.
    • Blätter: Wahrscheinlichkeiten für Krankheiten A, B, C.
  • Glücksspiele: Berechnung der Wahrscheinlichkeiten für verschiedene Ausgänge bei mehreren Würfen einer Münze oder eines Würfels.
  • Risikobewertung: Analyse von Pfaden und Wahrscheinlichkeiten, die zu einem bestimmten Risikoereignis führen können.

Maschinelles Lernen

Im Maschinellen Lernen sind Bäume eine der grundlegendsten und leistungsstärksten Modelltypen, sowohl für Klassifikations- als auch für Regressionsprobleme.

Entscheidungsbäume (als Modell)

  • Struktur: Hierarchische Struktur, bei der interne Knoten "Tests" auf Merkmale der Daten repräsentieren (z.B. "Ist Alter > 30?"). Jeder Ast repräsentiert das Ergebnis dieses Tests, und jeder Blattknoten repräsentiert eine Klassenzuordnung (bei Klassifikation) oder einen Wert (bei Regression).
  • Lernen: Der Baum wird durch rekursive Partitionierung der Daten gelernt, indem an jedem Knoten das Merkmal ausgewählt wird, das die Daten am besten trennt (z.B. basierend auf Entropie).

Anwendungsbeispiel

  • Kreditwürdigkeit: Entscheidung, ob einem Kunden ein Kredit gewährt werden soll, basierend auf Einkommen, Alter, Kredit-Historie etc. Ein Blatt könnte "Kredit gewähren" oder "Kredit ablehnen" sein.
  • Krankheitsdiagnose: Klassifikation von Patienten in "krank" oder "gesund" basierend auf Symptomen.

Suche: Suchbäume und Baumtraversierung

Im Bereich der Suche und Datenstrukturen sind Bäume fundamental, um Daten effizient zu speichern und zu durchsuchen.

Suchbäume (z.B. Binäre Suchbäume, B-Bäume, AVL-Bäume, Rot-Schwarz-Bäume)

  • Struktur: Jeder Knoten enthält einen Schlüssel (Wert), und die Anordnung der Kinderknoten folgt einer bestimmten Ordnungsregel (z.B. im Binären Suchbaum ist der linke Kindknoten kleiner als der Elternknoten, der rechte größer).

Anwendungsbeispiel

  • Datenbanksysteme: Indizierung von Daten für schnellen Zugriff. B-Bäume werden häufig in Datenbanken und Dateisystemen verwendet, um Daten auf Festplatten zu organisieren und zu durchsuchen.
  • Wörterbücher/Lexika: Schnelles Auffinden von Wörtern.
  • Implementierung von Sets und Maps: Effizientes Speichern und Abrufen von Elementen.

Baumtraversierung (Durchlaufen von Bäumen)

  • Algorithmen wie Tiefensuche (Depth-First Search, DFS) und Breitensuche (Breadth-First Search, BFS) werden verwendet, um alle Knoten eines Baumes systematisch zu besuchen.

Anwendungsbeispiel

  • Dateisysteme: Das Durchsuchen von Ordnern und Unterordnern auf einer Festplatte (was eine Baumstruktur hat).
  • Web-Crawler: Durchlaufen von Links auf Webseiten, um Inhalte zu indexieren (das Web kann als Graph mit Baum-ähnlichen Strukturen betrachtet werden).
  • Künstliche Intelligenz (AI): In Spielen wie Schach oder Go werden Spielzustände oft als Bäume modelliert. Suchalgorithmen wie Minimax oder Alpha-Beta-Pruning werden verwendet, um den besten Zug zu finden, indem der Spielbaum durchsucht wird.
  • Compilerbau: Die Syntax eines Programmcodes wird oft als Abstrakter Syntaxbaum (AST) dargestellt, der dann durchlaufen wird, um den Code zu analysieren und zu optimieren.