Random Forest Flashcards
Was ist der Effekt von der Forest Größe T?
Durch erhöhen der Anzahl von Bäumen wird das sich ergebende Entscheiungskriterium besser/genauer und nichtlinear, obwohl das Entscheiungskriterium in den Knoten linear sind.
Wie ist ein Entscheidungsbaum aufgebaut?
Was wird an den Knoten/nodes der entscheidungsbäume gemacht?
Ein Entscheidungsbaum ist quasi ein Klassifikator:
Input –> Knoten, die die Datensets aufteilen –> Blätter, die den Datenpunkten (durch Wahrscheinlichkeitsverteilung der Klassen im Training) eine Klasse zuteilen –> Output
Der Datenset wird gesplitet an jedem Knoten und die Entropie versucht zu reduzieren (Klassenverteilung)
Was ist und worauf basiert der Random Forest?
Algorithmus des supervised lernens (bekanntes Ergebnis als Zielgröße) neue mathematische Repräsentation auf ungelabelte Daten angewendet werden und Vorhersagen treffen.
basierend auf Entscheidungsbäumen (Algorithmen), die gelernt werden: mit Regeln, dieder „wenn dann“-Entscheidungen folgen –> Variablen (Feature) werden an Ästen/Knoten aufgeteilt
Was muss man bei einem komplexen Klassifikator/Entscheidungsbaum beachten?
Man benötigt viele Daten, um eine gewisse Tiefe (deep) zu erreichen.
Wie lernen die Splitfunktionen?
Dadurch,dass der Informationsgewinn maximiert wird: die Größe der Entropie, die wir nach dem Splitten bekommen reduzieren.
Wovon wollen wir die Entropie bestimmen, um den Informationsgewinn zu errechnen?
Entropie von einer bestimmten Verteilung von Daten über Klassen
Effekt der Foresttiefe D ?
–> under/overfitting?
Die Generalisierungsleistung hängt von der Tiefe der Bäume relativ zur Trainingsdatenanzahl ab
–> zu tief: overfitting
Was wird zufällig ausgewählt?
Features (horizontal/vertikale Teilung),
Datenset
Basics?
Wie erreichen wir eine gute Generalisierung?
Mehr Trainingsdaten –> je tiefer/komplexer können wir den Baum machen.
Durch mitteln über die Bäume im Wald.
Wie Trainieren wir? 2 Schritte
jeden Baum einzelnd mit zufällig gewählten Teilmengen von Parametern/Featuren
- Splitknoten/funktionen lernen (basierend auf den Entropien –> anders als: auf Klassifikatoren gucken: einen Fehler berechnen durch backpropagation im neurol network, eine fehlerfunktion, die versucht wird zu minimieren) –> Baum errichtet, wenn wir alle Splitfunktionen haben
- Entscheidung am Ende: Datenpunkte/set nochmal durchschicken –> und gucken wo diese hingeführt werden wo sie enden werden in den Blättern. –> Zählen die Klassen an den Blättern und durch die Verteilung machen wir eine Entscheidung
Ablauf vom Testing?
und mit mehreren Bäumen?
ein Datenpunkt, den wir nicht kennen durch den Baum und am Blatt/Ende wird der Datenpunkt mit der Klasse gelabelt, die am meisten vertreten ist. (durch Training haben wir eine Klassenverteilung an den Blättern bekommen)
- für jeden Baum haben wir für jeden Testdatenpunkt eine Klasse zugewiesen bekommen. Also wird jeder testdatenpunkt durch jeden Baum geschickt.
–> End-Wahrscheinlichkeitsverteilung: Summe der Wahrscheinlichkeitsverteilung der Klassen oder gemittelte Verteilung
Wahrscheinlichkeiten solange wie möglich behalten und dann die netscheidung am Ende machen
Worauf beim Entscheiden während des Testens achten?
Wahrscheinlichkeiten solange wie möglich behalten, mitteln und dann die Entscheidung am Ende über den ganzen wald machen,
nicht für jeden Baum einzelnd eine netscheidung treffen und dann Entscheidung treffen