CAL3

TL;DR

CAL3 ist eine einfache Erweiterung von CAL2 für nicht-disjunkte (überlappende) Klassen. Statt beim Baumaufbau bei einer Fehlklassifikation sofort zu verzweigen, werden hier zunächst die im entsprechenden Pfad aufgelaufenen Klassensymbole gezählt. Wenn ausreichend viele davon gesehen wurden (Schwelle S1), wird eine Entscheidung getroffen: Wenn eine Klasse in diesem temporären Blatt dominiert (ihre Häufigkeit über einer Schwelle S2 liegt), dann entscheidet man sich in diesem Blatt fest für diese Klasse. Ansonsten (die Häufigkeit aller Klassen in dem Blatt liegt unter S2) nimmt man analog zu CAL2 den nächsten, auf diesem Pfad noch nicht verwendeten Test hinzu.

Videos (YouTube)
Videos (HSBI-Medienportal)
Lernziele
  • (K3) Meta-Algorithmus CAL3 für überlappende Klassen

CAL3: Erweiterung von CAL2 für nicht-disjunkte Klassen

  1. Anfangsschritt: α(0)= (totales Unwissen)

  2. n-ter Lernschritt: Objekt v mit Klasse k

    • Rückweisung (Endknoten mit ): Ersetze durch Vereinigungsklasse /k1/

    • Endknoten mit Vereinigungsklasse:

      • Zähler für k erhöhen, bzw.
      • k mit Anzahl 1 in Vereinigungsklasse einfügen

    Falls nun die Summe aller Klassen am Endknoten größer/gleich S1 (Statistikschwelle):

    • Für genau eine Klasse gilt: P(k|x~)S2: => Abschluss: Ersetze Vereinigungsklasse durch k (für immer!)

    • Für alle Klassen gilt: P(k|x~)<S2: => Differenzierung: Ersetze Vereinigungsklasse durch neuen Test: κxt+1(,,,/k1/,,,)

      xt+1: nächstes Attribut, auf dem aktuellen Pfad x~ noch nicht verwendet Symbol k mit Anzahl 1 an Position i wenn xt+1(v)=i

Beispiel mit CAL3

x1 x2 k
0 0 A
0 1 B
0 1 A
1 0 B
1 1 A
  • S1=4,S2=0.7

Ergebnis: x1(A,x2(B,A))

Trainingsfehler: 1/5=0.2<1S2=10.7=0.3

Hinweis: Bei nicht überlappenden Klassen erzeugt CAL3 u.U. andere Bäume als CAL2 ...

CAL3: Abbruchbedingungen und Parameter

  • Parameter:

    • S1: Statistikschwelle, problemabhängig wählen
    • S2: 0.5<S21.0
    • Klassifikationsfehler kleiner als 1S2
      • kleiner Fehler => großer Baum
      • großer Fehler => kleiner Baum
  • Abbruch:

    • Alle Trainingsobjekte richtig klassifiziert => Kein Fehler in einem kompletten Durchlauf
    • Alle Endknoten mit eindeutigen Klassensymbolen belegt
    • Differenzierung nötig, aber alle Merkmale verbraucht
    • Lernschrittzahl überschritten

Wrap-Up

  • CAL3: Erweiterung von CAL2 für überlappende Klassen
    • Parameter S1 (Anzahl Objekte bis Entscheidung), S2 (Dominanz?)
    • Trainingsfehler wg. überlappender Klassen!
Challenges

Textklassifikation

Betrachten Sie die folgenden Aussagen:

  • Patient A hat weder Husten noch Fieber und ist gesund.
  • Patient B hat Husten, aber kein Fieber und ist gesund.
  • Patient C hat keinen Husten, aber Fieber. Er ist krank.
  • Patient D hat Husten und kein Fieber und ist krank.
  • Patient E hat Husten und Fieber. Er ist krank.

Aufgaben:

  1. Trainieren Sie auf diesem Datensatz einen Klassifikator mit CAL3 (S1=4,S2=0.6).
  2. Ist Patient F krank? Er hat Husten, aber kein Fieber.
Quellen
  • [Unger1981] Lernfähige Klassifizierungssysteme (Classifier Systems Which Are Able to Learn)
    Unger, S. und Wysotzki, F., Akademie-Verlag, 1981.
    Der Vollständigkeit halber aufgeführt (Werk ist leider vergriffen und wird nicht mehr verlegt)