Prof. Dr. phil. Dr. rer. nat. habil. M.Schenke Vorlesung Maschinelles Lernen Basierend auf der Vorlesung und dem Buch »Methoden wissensbasierter Systeme« von Christoph Beierle und Gabriele Kern-Isberner Was ist lernen? – Adaptive Systeme; Aufgaben werden bei Wiederholung effizienter und effektiver abgearbeitet – lernen basiert auf der Verarbeitung von Erlebnissen und Erfahrung – lernen ist das aufnehmen, verarbeiten und nutzen von gegebenen Informationen Welche Lernstrategien? – direkte Eingabe – aus A gilt B → B gilt (wenn ich den Stift los lasse (A), fällt er zu Boden (B)) – neues aus altem lernen – lernen aus Analogie (der Stift fällt hier zu Boden, also auch in Afrika) Entscheidungbäume Grundaufbau eines Entscheidungsbaumes: Wurzel Kante Kante Knoten Blatt Knoten Kante Knoten Blatt Zum Entscheidungsbaum: Entscheidungsbäume mit einer "Ja/Nein" Klassifikation, repräsentieren eine boolsche Funktion. Es gelten also folgende Regeln: Die Blätter des Baumes sind mit dem Wahrheitswert markiert, der als Ergebnis der Funktion zurückgeliefert werden soll, wenn das Blatt erreicht wird. Die inneren Knoten des Baumes sind mit einem Attribut markiert. Eine solche Markierung a repräsentiert eine Abfrage, welchen Wert das betrachtet Objekt für das Attribut hat. Die von einem mit a markierten Knoten ausgehenden Kanten sind mit den zu a möglichen Attributwerten markiert. 1 Aufgrund der folgenden Tabelle, entsteht ein Entscheidungsbaum (S106 ff.). Tabelle: Beispiel Attribute Kat. Land Res. Gruppe Kinobesuch? AC int. ja Freunde ja nein mittel KO int. nein Paar ja nein mittel ja mittel DR int. nein Freunde nein gering € ja mittel ja mittel SF int. nein allein nein X5 mittel € ja mittel nein mittel DR int. nein Paar ja X6 hoch ja schön nein top int. ja Freunde ja X7 mittel € ja schlecht nein mittel KO nat. nein Freunde ja X8 mittel € nein schlecht ja mittel AC int. nein Freunde ja X9 gering € ja schön nein mittel KO nat. nein Freunde nein X10 mittel € ja schön nein mittel KO int. nein Paar nein X11 hoch ja mittel ja top DR int. nein Paar ja X12 mittel € nein schlecht ja mittel AC nat. nein allein nein X13 hoch ja mittel ja mittel SF int. nein allein nein X14 mittel € ja schön ja top DR int. ja Freunde nein X15 mittel € ja schlecht nein mittel AC int. nein Paar ja Attr. Preis Loge Wetter X1 hoch €€ ja schlecht ja top X2 mittel € ja mittel X3 mittel € X4 €€ € €€ Warten Bes. SF Um erst einmal das Grundprinzip des Entscheidungsbaumes zu erläutern werden wir mit dem Attribut "Gruppe" anfangen. Als ersten Schritt kann man, einfach halber, die Attribute in positiv und negativ einteilen. Gruppe +(ja) X1 , X2 , X5 , X6 , X7 , X8 , X11 , X15 -(nein) X3 , X4 , X9 , X10 , X12 , X13 , X14 Nun also der Baum selber: Gruppe Freunde +: 1, 6, 7, 8 -: 3, 9, 14 Paar +: 2, 5, 11, 15 -: 10 allein +: -: 4, 12, 13 Anhand dieses Teilbaums Erkennt man, dass in diesem Beispiel "allein" nicht das Kino besucht wird. Für die Attribute "Freunde" und "Paar" muss man die Entscheidung noch weiter fortführen. Um den Baum also "wachsen" zu lassen, muss man weitere Attribute auswählen. 2 Aber welches ist das passende Attribut? Um dies sinnvoll heraus zu bekommen muss man sich den Informationsgehalt eines Attributes anschauen. Bemerkungen: Exkurs in die Informationstheorie: Wie viel Information bekommt man durch die Wahl eines Attributes? Kinobesuch insgesamt: 7nein ; 8ja daraus folgt eine Verteilung von 7/15 und 8/15 daher kann man sagen, dass das Attribut "Kinobesuch" einen gesamt Informationsgehalt von: H( 7/15 , 8/15) = - 7/15 log 7/15 – 8/15 log 8/15 = ….... zu beachten ist die Basis des Log. Wir nutzen hier keine 10ner Basis, sondern eine 2er Basis. Bemerkungen: Idee: Durch die Auswahl eines Attributes a und Zerlegung der Beispielmenge gemäß den Werten von a, entstehen neue Verteilungen. Wie ist a zu wählen, damit der Entropiegewinn maximiert wird? Ein kleines Beispiel an Hand von Würfeln. Die Wahrscheinlichkeit mit zwei von einander unabhängigen Würfeln eine 5 zu würfeln setzt sich folgendermaßen zusammen: p(s1 + s2 =5) =1/9 unter der Voraussetzung das wir s1 kennen : p( s1 + s2 =5 | s1 =6) = 0. Da der erste Würfel ja bereits schon 6 ist, kann man im gesamt Ergebnis keine 5 mehr erreichen. Für unser Beispiel ergibt sich also eine gesamt Verteilung von: 6 1 1 1 p(s1+s2=5) = ∑ p (s1+ s2 =5| sn= i) p(s1=i) = 4∗ ∗ = 6 6 9 i= 1 3 Bemerkungen: Für unser Beispiel entsteht konkret also folgende Verteilung: Attribut „Gruppe“ - Freunde 4/7, 3/7 - allein 0/3, 3/3 - Paar 4/5, 1/5 I(E|Gruppe) p=(Gruppe=Freunde) I(Freunde) + p(Gruppe=allein) I(allein) + p(Gruppe=Paar) I(Paar) = 7/15 H(4/7; 3/7) + 3/15 H(0/3; 3/3) + 5/15 H(4/5; 1/5) ≈ 0,7004 bit I(E) -I(E|Gruppe) = -8/15 log 8/15- 7/15 log 7/15 ≈ 0,9968 bit Informationsgewinn für das Attribut Gruppe = 0,2964 bit Ist der Informationsgewinn 0, so ist die Information bereits bekannt. (Kurzes Beispiel: wenn ihr, in diesem Beispiel, sagt; ihr geht morgens nicht in das Kino, ist der Informationsgewinn bei der Aussage „Ich gehe morgens nicht ins Kino“, 0. Den die Information ist für euch nichts unbekanntes) Bemerkung: Eigene Rechenbeispiele: 4 Nachdem wir jetzt wissen, wie man den Informationsgehalt eines Attributes errechnet, schauen wir uns den Quellcode für die Erstellung eines solchen Entscheidungsbaumes an. Notizen: Die Funktion „Choose Attribute“ arbeitet mit dem Informationsgehalt eines Attributes. Bemerkungen: 5 Konzepte Definition: Ein Konzept e ist eine Funktion c:M → {0,1} über eine Grundmenge M. e ϵ M gehört zu c, wenn c(e) =1 Problem: Finde h (Hypothese) mit h(e) = c(e) für alle e ϵ E (Beispiele) h:M → {0,1} Ist h(e)=1 für alle Beispiele e mit c(e)=1, so heißt h vollständig (bezüglich E). Ist h(e)=0 für alle Beispiele e mit c(e) =0, so heißt h korrekt. Definition: Ein Konzeptlernproblem hat folgende Bestandteile: - Eine Basissprache LE - Eine Konzeptsprache LC eine Menge von Charakteristischen Funktionen k: LE → {0,1} - Ein zu lernendes Konzept c: LE → {0,1} - Eine Menge P (positive Beispiele) c(e) =1 für alle e ϵ P - Eine Menge N (negative Beispiele) c(e)=0 für alle e ϵ N Bemerkungen: Beispiel: LE= Sportart x Art x Ort x Ebene x Tag Beschreibung der Konzeptsprache: An jeder Stelle des 5 Tupel lassen wir drei Arten von Einträgen zu: - Ø | kein Eintrag zugelassen - Eintrag | ein fester Eintrag - ? | alle Eintragungen zugelassen Bemerkungen: 6 LE als Menge aller 5 Tupel {(V,W,X,Y,Z) | V ϵ {Fußball,...} , W ϵ {Einzel, …}, X ϵ... } LC Konzeptsprache {M | M ⊆ Tiere } Sei T die Menge aller 5 Tupel Wie groß ist die Menge aller Möglichen Konzepte? 1. Schritt: Größe von T T= {Fußball, Hockey , …, Zehnkampf } x {Einzel, Mannschaft} x {draußen, drinnen} x {national, Welt} x {Samstag, Sonntag} Die Größe von T= 5x2x2x2x= 80 2. Schritt: Jedes mögliche Konzept entspricht einer Teilmenge von T. Davon existieren 280 ≈ 1010 Bemerkungen: Die Mächtigkeit einer Konzeptsprache: |Lc| = ( |V| +1 ) x ( |W| +1 ) x ( |X| +1 ) x ( |Y| +1 ) x ( |Z| +1 ) +1 = 6 x 3 x 3 x 3 x 3 +1 = 487 Bsp: { (Z, ∅ , ?, ?, So) } = ∅ leere Menge 7 LE Beispielsprache LC Konzeptsprache P Menge von pos. Bsp. N Menge von neg. Bsp. C Zielkonzept c ist Teilmenge von LE Ist c c⊂ L c ? Wäre x1, x5 positiv x2, x3, x4 negativ, so könnte das tatsächliche Konzept sein: Es werden genau die Sportereignisse mit „Sport“ = „Fußball“ oder „Sport“ = „Zehnkampf“ angeschaut. Dem entspricht eine Teilmenge von T: [(V,W,X,Y,Z) | V= Fußball oder V = Zehnkampf} Dies ist allerdings nicht in LC. In LC müsste es die Form (A,?,?,?,?) mit A=? oder A = ∅ oder A ϵ {Fußball, …, Zehnkampf} , haben. D.h. kann die Teilmenge von T nicht durch die Konzeptsprache LC beschrieben werden. Bemerkungen: 8 Beispielmenge: {F,Z} x W x X x Y x Z als wahres Konzept Spezieller: W = (F,?,?,?,?) und Y = ( Z, ?,?,?,?) allgemeiner, bzw. das kleinste verallgemeinerte Konzept: (?,?,?,?,?) Definition: Seine h1, h 2∈ L C Hypothesen. Dann heißt h1 spezieller als h2 ( h1 ≤ h2 ), genau dann, wenn h1 ⊆ h2 ist. h1 heißt allgemeiner als h2 ( h1 ≥ h2 ), genau dann, wenn h 2⊆ h 1 {F, H,...,Z} {F} {Z} {H} ∅ A ist Sportart ∅⩽{ A} und { A}⩽? a⩽b , b⩽a => a=b a⩽b , b⩽c => a=c Definition: Sei h eine Hypothese (also ein Element unserer Konzeptsprache), dann heißt h vollständig bezüglich der Beispielmenge P∪ N , wenn für jedes b∈ P gilt b∈ h ( b subsetq h ). Ferner heißt h korrekt bzgl. P∪ N , wenn für jedes b∈ N gilt b∉ h ( h∩ N = ∅ ) Die Hypothese h heißt Konsistent mit P∪ N , wenn sie vollständig und korrekt ist. Vermutungen: 01. Zuschauer richtet sich nach "Mannschaft" 02. Zuschauer richtet sich nach "national" 03. Zuschauer richtet sich nach "Samstag" 04. Zuschauer richtet sich nach "Mannschaft", "national" 01. (?,Ma,?,?,?) P⊆ h N ∩ h= ∅ 02. (?,?,? nat, ?) P⊆ h N ∩ h= ∅ 03. (?,?,?,?, Sa) P⊆ h N ∩ h≠ ∅ P⊆ h 04. (?, Ma, ?, nat, ?) Vollständig: 1-4 korrekt: 1,2,4 N ∩ h= ∅ konsistent: 1,2,4 9 Konzepte, die mit x1,...x5 aus dem Sportbeispiel konsistent sind: spezieller (?, Ma, ?, nat, Sa) (?, Ma, ?,?, Sa) (?, Ma, ?,?,?) (?,Ma, ?, nat, Sa) (?,?,?, nat, Sa) (?,?,?, nat,?) allgemeiner innerhalb unserer Konzeptsprache sind diese 6 die möglichen Konzepte, alle anderen sind entweder nicht vollständig oder nicht korrekt. Definition: Eine Hypothese h∈ L c ist eine „spezielle Generalisierung“ einer Beispielmenge B (= N ∪ P ) , wenn gilt 1. h ist konsistent zu B 2. sei h ' ∈ Lc und h' konsistent zu B Dann ist nicht h'< h. Eine Hypothese h∈ L c ist eine „allgemeine Generalisierung“ von B, wenn gilt 1. h ist konsistent zu B 2. Sei h ' ∈ Lc und h' konsistent zu B Dann ist nicht h< h' Das wahre Konzept liegt irgendwo zwischen ( ∅ , ∅ , ∅ , ∅ , ∅ ) und (?,?,?,?,?) Beispiel: ( ∅ , ∅ , ∅ , ∅ , ∅ ) (Fu, Ma, dra, nat, Sa) (Bo, ?, ?, ?, ?) (?, ?, ?, ?, Sa) (?, ?, ?, ?, ?) Bemerkungen: 10 Definition: Der Versionenraum bzgl. der Beispielmenge B ist VB= { h | h∈ L C , h ist korrekt und vollständig bezüglich B} Satz: Seien S= { h | h ist speziellste Generalisierung von B} G= { h | h ist allgemeinste Generalisierung von B} Dann ist VB = { h∈ L C | es existiert h 0∈ S , h1 ∈ G mit h 0⩽h⩽h1 Definition: Ein Element M von LC heißt konsistent mit B= P∪ N gdw. } P⊆ M , M ∩ N = ∅ Definition: Ein Element M von LC heißt speziellste Vereinigung von B wenn: 1. M mit B konsistent 2. Für alle M1, die mit B konsistent sind, gilt nicht M 1≤ M Ein M ∈ LC heißt generellste Verallgemeinerung von B, wenn: 1. M mit B konsistent 2. Für alle M1, damit B konsistent sind gilt nicht M ≤ M 1 Bemerkungen: 11 Beispiel: S 0 (∅ ,∅ ,∅ ,∅ , ∅) G6 (?,?,?,?,?) || S1 (Fu, Ma, dra, nat, Sa) G1=G0 S 2 ( Fu , Ma , dra , nat , Sa)∪ ( Ha , Ma , dra , nat , Sa) → nicht möglich kein Konzept! ebenfalls kein Konzept ist ({Fu, Ha}, dra, nat, Sa) hingegen ist S2 (?, Ma, dra, nat, Sa) → speziellste Verallgemeinerung G2=G0 G3 (?, ein, ?, ?, ?) nicht konsistent G3 (?, Ma, ?, ?, ?) (?, ?, dra, ?, ?) konsistent S3=S2 (?, ?, ?, nat, ?) bis x3 konsistent! x1, x2, x3 S4(?, Ma, ?, nat, Sa) G4(?, Ma, ?, ?, ?) (?, ?, ?, nat, ?) S5=S4 G5=G4 Konzepte im Versionenraum (?, Ma, ?, nat, Sa) (?, Ma, ?, ?, Sa) (?, Ma, ?, nat, ?) (?, Ma, ?, ?, ?) (?, ?, ?, nat, Sa) (?, ?, ?, nat, ?) Bemerkungen: 12 Warenkorbanalyse (Beispiel auf Seite 151 im Beierle) Grundgesamtheit: Elemente heißen Items (Waren: z.B. Shampoo, Duschgel) t≤ I Transaktionen (Einkäufe) { t1, t2, t3, …., tn} =T Menge der Transaktionen Definition: Sei X eine Menge von Items, dann ist I {t i∣ z i ∈ T , x⊆ t i } support ( x)= ∣T∣ Bemerkung: X 1⊆ X 2 => support ( x 2 )⊆ support ( x 1) Warum? x 1⊆ x 2 Für alle ti x 2⊆ t i => x 1⊆ t i x2= { Seife; Shampoo} Definition: Seien X,Y Item-Mengen, dann ist support(X → Y) = X ∩ Y= ∅ Definition: Confidence (X → Y) = support ( X ∪ Y ) ,wobei ∣{t∈ T∣( x∪ y)⊆ t}∣ ( x → y) = support ∣{t ∈ T∣ x⊆ t}∣ ( x) Bemerkungen: 13 Im Algorithmus: 1. Finde Menge mit hohem support (häufige Menge) 2. Finde darunter Regel mit hoher confidence {Shampoo, Duschgel} Shampoo → Duschgel Duschgel → Shampoo Definition: Item-Mengen mit support ( x)≥ minsupp heißen häufige Mengen. Eine häufige Menge M mit |M| =n heißt n-häufige Menge Bemerkung: Teilmengen von häufigen Mengen sind ebenfalls häufig. Obermengen von nicht häufigen Mengen, sind ebenfalls nicht häufig. Für unser Beispiel werden wir alles betrachten das einen minsupp = 0.4 und minconf = 0.7 hat. M 1⊆ M 2 ; M2 ist häufig, d.h. Supp ( M 2≥ min supp ) D.h. support (M 2)≤ support( M 1) Also supp( M 1≥ minsupp) also ist M1 häufig Bemerkungen: Um die vorhergehende Tabelle auszuwerten und daraus die Mengen zu finden, die für uns relevant sind, suchen wir alle C2-Mengen die einen support von min. 0.4 haben. L1= {A, B, C, D, E, J, L} L2 ist ergibt also wie folgt: L2 { {B,C}, {B,D}, {B,J}, {B,L}, {C,J}, {C,L}} Bemerkungen: 14 Nach L2 interessiert uns natürlich noch L3 L3 besteht also nur aus L3={{B,C,J}, {B,C,L}} Eine Menge L4 gibt es nicht, da C 4= L4= ∅ Bemerkungen: Um nun Assoziationsregeln für unseren Warenkorb aufzustellen, nutzen wir folgende Tabelle: Aus dieser Tabelle erfüllen allerdings nicht alle unsere Bedingung von minconf = 0.7. Am Ende bleibt nur eine Tabelle über, die für unser Beispiel stimmen kann. Bemerkungen: 15 Bayessche Netze ( Definition: ) ( ) ( | ) ( ) ( | ) ( ) Satz von ( ) ( | ) ( | ) Bayes ( ) ( ) Seien ( ) paarweise disjunkte (disjunkt = kein gemeinsames Element) Variablenmengen. Dann heißen ( | ) Bemerkung: Ist Allgemein: bedingt unabhängig (modulo c), wenn gilt: ( | ) ( | ). , kommt der ursprüngliche Unabhängigkeitsbegriff heraus. ( ) ( ) ( | ). Unabhängig heißt dann: ( | ) Bei bedingter Unabhängigkeit gilt entsprechend: ( | Definition: Seien ( ). ) ( | ). paarweise disjunkte Variablenmengen. Dann separiert die Variablen in von den Variablen in wenn jeder Weg von einem Knoten (Variable) aus B, einen Knoten aus | , zu einem Knoten aus enthält. Einfache Gesetze Symmetrie: | z.B.: ( | ( Zerlegbarkeit: Beweis: | (ungerichteter Graph) | Kontraktion: | und ) ( A ( | ) )| ( Schwache Vereinigung: | ) ( | )| ) ( | ) | ( | ) | B — D C | und C | | B A D Schnitt: | und | | C A D B 16 Satz: Alle diese Aussagen über übertragen sich auf . Dabei ist für den »Schnitt« die Zusatzbedingung nötig, dass alle Wahrscheinlichkeiten strikt positiv sind. Beispiel: trennende Menge Ausflug Wetter sonnig Gilt | , | ? mit anderen Worten gilt: ( | ) ( | ) ( | ) ( ) Schnitteigenschaft (mit leerem ) impliziert ( Gilt )| ? Mit anderen Worten: Gilt ( | Definition: | . Ein Graph ) ( ) ( )? | heißt Abhängigkeitsgraph, wenn gilt: | | Er heißt Unabhängigkeitsgraph, wenn gilt: | Ist | | | , dann heißt der Graph perfekt. 17 Beispiel: »Münzen und Glocke«(Verteilung ohne perfekten Graphen) Münzwurf 1 | ( Münzwurf 2 Glocke (wenn ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ) Elementarereignisse: Kopf1 Kopf2 Glocke ( ) ( ) ( ) ( ) ̅ ̅ ̅ ̅ ( ( | | ) ) ( | ) ( | ) ( | ) ( | ) (Wenn bekannt ist, wie sich die Glocke verhält, sind und funktional abghängig.) Es gilt | , aber nicht | . Versuch einen perfekten Graph zu zeichnen: C A B 18 Definition: Ein MARKOV-Graph (minimaler Unabhängigkeitsgraph) ist ein Unabhängigkeitsgraph, bei dem keine Kante entfernt werden kann, ohne dass die Eigenschaft Definition: | | verloren geht. Ein vollständiger Graph ist ein Graph, bei dem jedes Punktepaar durch eine Kante verbunden ist. Eine Clique in einem Graphen ist ein maximaler Teilgraph von G, der vollständig ist. Zum Beispiel: Definition: A B D C {{ }{ }{ }{ }} Separatoren sind die Schnitte zwischen den Cliquen. Konstruktion von Markov-Graphen Fange mit vollständigem Graphen an. Nimm alle Kanten heraus, die unabhängige Variablenpaare bezeichnen, d. h. alle Paare ( ) mit | { Beispiel: }. Dabei sei die Menge aller Knoten. Variablen ( ) Berechne ( { } |{ | ) ( | ) ( | ) Das Resultat ist ein Markov-Graph ohne Kanten: 19 Beispiel: »Bestimmung der Markov-Graphen« Knoten: Beginn: vollständiger Graph: A ̅ B ̅ C ̅ Bei jeder Kante muss geprüft werden, ob diese dazugehört. ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ | Genauer: gilt | | ? wenn ja, dann entfernen! | : ( ) ( | ) ( ) ( ) ( ) ( ̅ ) ( ) ( ) (̅ ( ) ( | ) ) ( ) | : zu zeigen 1. Schritt: ( | ) ( | ) ( | ) ( | ̅) ( | ) ( | ) ( ) ( ̅) 20 ( 2. Schritt: ) ( | ) ( ) ( ) ( | ) ( ) ( ) ( | ) ( ) ( ̅) ( | ̅) ( ̅) ( ̅) ( | ̅) (̅ ) ( ̅) ( | ̅) ( ̅) A B Beispiel: C »Infektionen« Direkte Ansteckung ist nur zwischen durch Kanten A B C D verbundenen Individuen möglich. Definition der Wahrscheinlichkeiten daher nur auf Cliquen nötig. Cliquen: { }{ ( ) ( ̅ ) ( ̅) ( ̅ ̅) Man definiere: ( }{ ) }{ ( } ) ( ) Daraus kann die Gesamtwahrscheinlichkeit folgendermaßen berechnet werden: ( ) ̅) ( ( ) ̅) ( ( ( ( ) { ̅ ̅̅ ̅ ( ) { ̅ ̅ ̅ ̅ ) ̅) ( ( ) ) ( ( ) ) 21 entsprechend für bzw. ( ) ( . ( ) ( ) ( ) ( ) ) da: ( Definition: Sei ) eine endliche Menge von Aussagenvariablen. Seien Teilmengen von mit ⋃ Sei { { } | } { {⏟ } ̅ ̅ ̅̅̅ { ⏟ } ̅ ̅ ̅̅̅ . { ̅ ̅ ⏟ } ̅̅̅̅ { ⏟ } ̅ ̅ ̅̅̅ } Dann ist durch ( ) ∏ ( ) eine Verteilung definiert, wobei ∑ Dann heißt ( Satz: Sei ( ) ) eine Potentialdarstellung von . eine strikt positive Verteilung (d.h. alle Elementarereignisse haben ). Dann hat genau dann einen Unabhängigkeitsgraphen, wenn sich durch eine Potentialdarstellung mit Hilfe der Cliquen des Graphen darstellen lässt. Satz: Ist ein triangularisierter Unabhängigkeitsgraph zu einer Verteilung , so hat die Potentialdarstellung ( ) ( ) ( ) 22 Definition: Sei ein Graph. Ein Weg in wobei ( ) ist eine Folge für alle mit von Knoten, . Die Länge des Weges ist . Ist Definition: , so heißt der Weg Kreis. Sei ein Weg in . Dann heißt eine Kante ( und Definition: ) mit eine Sehne des Weges. Ein Weg (Graph) heißt triangularisiert, wenn in jedem Weg mit einer Länge von mindestens 2, eine Sehne existiert. Beispiele: Mit Sehne A B C hat keine Sehne A C triangularisierter Graph D B Dreiecke sind entstanden nicht triangularisiert D E Verfahren (1) Wähle Ordnung auf den Knoten des Graphen. A B C F E G D H Ordnung (Name, ) (2) Der Fill-in bezüglich Weg von nach höher als } A B C ist so definiert: ( ) {( ) | Es gibt einen und alle Knoten auf diesem Weg sind in der Ordnung F E G D H 23 Satz: Seien ( ) ein Graph und Dann ist Ziel: eine Ordnung auf . ( )) triangularisiert. ( Graphen mit möglichst wenig Kanten (d. h. später viel Unabhängigkeit bei den Verteilungen und daher weniger Daten zur Bestimmung der Verteilung nötig). Ziel: D. h. wenn ein triangularisierter Graph vorhanden ist, soll durch Fill-in keine zusätzliche Kante hinzukommen. Dies kann durch geeignete Wahl der Ordnung gewährleistet werden. Das bewirkt die maximal cardinality search. Schleife: Kleinster Knoten willkürlich gewählt. Bestimme unter allen Nachbarn des gegenwärtig kleinsten Knotens mit unmarkierten Nachbarn, denjenigen mit den meisten markierten Nachbarn. Dieser ist der neu einzufügende maximale Knoten. Falls es mehrere gibt, wähle willkürlich einen. 5 A 3 B C 1 7 4 F E G D 2 willkürlich gewählt 6 H 8 Satz: Ist triangularisiert und wird die Ordnung auf den Knoten durch maximal cardinality search konstruiert, dann ist der Fill-in leer, ( ) . 24 Triangularisierung nach MCS 1. Wahl der Ordnung A B C D 2. Einfügen von ( E Definition: Sei ) ein Graph. Der morale Graph von , wird dadurch konstruiert, dass folgende Knoten eingefügt werden. Für jeden knoten Satz: Sei werden die Elternknoten zu einer Clique gemacht. ein triangularisierter Unabhängigkeitsgraph zu einer Verteilung , so A B C Cliquen: { F E }{ }{ }{ ( ) ∏ kann diese Verteilung dargestellt werden durch: ( ) ∏ }{ }{ ( ) . } G D Separatoren: { }{ }{ }{ }{ } H ( Nach Satz ist dann ) ( ) ( ( Darstellungsgewinn: Linke Seite ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ) ( ) Rechte Seite Gerichtete Graphen ( Definition: ) Ein Weg durch einen gerichteten Graphen ist eine Folge mit 1. 2. Für alle mit Ein Zyklus ist ein Weg mit ist ( ) . Ein DAG (Directed acyclic graph)ist ein gerichteter Graph ohne Zyklus. 25 Beispiel: »Holmes und Watson I« Glatte Straßenverhältnisse Holmes Unfall Watson Unfall Ist die Glätte unbekannt Unfallwahrscheinlichkeit voneinander abhängig Ist die Glätte bekannt Unfallwahrscheinlichkeit voneinander unabhängig Beispiel: »Holmes und Watson II« Regen R Watsons Garten nass W Erst Gartensprenger S Holmes Garten nass H unabhängig von . Wenn der Status von bekannt ist, werden und abhängig (nur Korrelation, keine kausale Abhängigkeit). Bayes-Netze A C Eltern: ( ) B E D Nachkommen von { Definition: Nicht-Nachkommen von ( ) ( ) heißt Bayessches Netz gilt ( Sei } } Für alle Satz: { ( )| ( ) ) Paar aus Graphen und Wacheinlichkeitsverteilung ( ) ein Bayessches Netz. Dann lässt sich die gemeinsame Verteilung wie folgt berechnen: ( ) ∏ ( | ( )) 26 Satz: Sei eine Triangularisierung des moralen Graphen. Es seien die Cliquen von . wählen wir eine Clique ( ) mit { } Zu jedem Dann sei ( ( )) ∏ ( ( Dann ist ( ) eine Potentialdarstellung von . {A } B ( ) ( )) ( ) ( ) ( ). ( ). ( ) C D E Moraler Graph (ungerichtet) A B C D E Maximum cardinality search 1 A 2 B C Triangularisierung des moralen Graphen 3 D 4 E 5 { } { ( ) } ( ) ( ) ( ) ( ) ( | ) ( | ) ( ( ) ( | ) ( | ) ) ( ) ( ) ( ) Cliquenbaum des Graphen: { } } { { } { } { { } } { { { ( | ) } { } { } } } { } { } ( | ) 27 Behauptung: Diese elf Werte reichen für die Berechnung aller Wahrscheinlichkeiten aus. ( ) ( | ) ( | ̅) ( | ) ( |̅̅̅) ( | ) ( | ̅) ( | ) ( | ( |̅ ) ̅) ( | ̅ ̅) Konjunktion 1 { } { ( ) } ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅̅ ̅̅ ̅ 2 { } { } { } ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ ̅ 3 { } { } { } ̅ ̅ ̅ ̅ 28 Definition: Seien Teilmengen von (=Menge der Knoten) mit ⋃ Dieses Mengensystem hat die (laufende Durchschnittseigenschaft) „running intersection property“ (RIP), wenn gilt: (⋃ ) ( ) Beispiel: (⋃ Und für alle ex. mit ) und (⋃ Satz: ) Bayessches Netz mit RIP. Dann gilt ( | ) Beispiel: A F E B G D C ( | ) H { } { { } { } { } { } { } { } { { } } { { } } } { } | | { } { } Problem, da | nicht triangularisiert { { } } { } { } { } { } 29 mit triangularisiertem Graph A F E B G D C H { } { { } { } { } | { } { } { } | { } { } { } { } { } { } { } { } { Hilfssatz: } } { } . Dann gilt ( Bezeichnungen wie oben | | | ) ( ∑ ) ( ) Beispiel: { } { } { } ( ) ( | ) ( | { } { { } { } } ( | ) ) ( | ) Nebenrechnung: ∑ ( ) ∑ ( | ) ( | ) ( ̅| ) { } ( ) ∑ ( ) ( | ) ( ) ( | ) ( | ) 30 Satz: Bezeichnungen wie oben. ( Es sei ). Das ist möglich aufgrund der RIP. ( ) Dann sei ( ) ( ) { und so ist ( ∑ ( ) ) eine Potentialdarstellung R S W H 1. Moraler Graph R S W H 2. Ordnung Einen Fill-in-Graph gibt es nicht, da der Graph triangularisiert ist { { 3. } } { } 4. { } 5. Cliquenbaum | 6. ( ) ( ) ( ) ( ) 7. ( ) ∏ ( | ( )) ( | ( ) ( | ) ( ) ∏ ( ) ( | ( )) ( ) ( | ) ( )) ( | ( ) ( )) ( | ( )) ( ) ( | ( | ( )) ( )) ( ) 31 Erzeugung des permanenten Cliquenbaums mit Potentialdarstellung Sei ( ) 1. Bilden den moralen Graphen von ( ) 2. Triangulation von : Bestimme mittels MCS eine (lineare) Ordnung ( ) von Knoten in und berechne den Fill-in-Graphen . 3. Ordnung der Cliquen: Bestimme die Cliquen von auf den und ordne sie nach den jeweils größten (gemäß der Ordnung ) in ihnen vorkommenden Knoten. Sei ( ) diese Ordnung. Sie erfüllt die fortlaufende Schnitteigenschaft RIP. 4. Bestimmung der Mengen und für : ( Bestimme für jedes ein ) so, dass (möglich wegen RIP). Gibt es mehrere mögliche , wähle eines von ihnen (beliebig, aber fest). wird dann Elternclique von genannt. 5. Bilde anhand der im vorigen Punkt festgelegten Eltern-Kind-Beziehungen einen Cliquenbaum. 6. Bestimme zu jedem eine Clique ( ) mit { } mit { } ( ) ( ). 7. Definiere für ( ) ∏ ( | ( )) ( ) 32 Cluster(-analyse) t LKW Limousine Sportwagen km/h Die Anzahl der Features (hier und ) entspricht auch der Anzahl an Dimensionen. Mit diesen Features können Durchschnitte berechnet und Abstände gemessen werden. Abstandsmessung: ( ) ( ) ) √∑( √( ) ( ) ( ) Definition: Sei eine Menge. Eine Abbildung heißt Metrik (Abstand) auf 1. ( ) 2. ( ) 3. ( wenn gilt: ) Dreiecksgleichung: ( ) ( ) ( ) Fortsetzung der Thematik ab Seite 38! 33 Metriken allgemein Norm-Metriken √ (1,2) 2 √ 1 1 EUKLIDISCHE NORM ‖( )‖ √ ‖( √∑ )‖ ( ) ‖ Das ist die eigentliche EUKLIDISCHE NORM ‖ ) √∑( Bemerkungen: Wenn Längen gemessen werden können, dann auch Abstände.. ( Voraussetzung: ) ‖ ‖ Differenzen müssen gebildet werden können. Einheitskreise City-Block, ‖( )‖ (∑ ‖( )‖ ∑| | ‖( )‖ ) Euklidisch, Tschebytschew, ( ) 34 Nominalskaliert Ausschlaggebend sind zwei Merkmale: ( ) √ Chaotische Metrik ( ) { Cluster repräsentiert durch Centroide ̅ ( ) ̅ ( ) Definition des Centroids für das Cluster ( 2 12 1 11 21 1 Division definiert sind. Sonst sei ̅ willkürlich aus )̅ ( ) ∑ , falls Addition und gewählt. 35 Typen von Algorithmen 1. bottom up · Initial: Jedes Objekt ist eigenes Cluster · Berechne das Centroid Gewicht des Clusters Beispiel: ( ( ( ( ) ) ) ( ( ) ) ( ) ) Suche Minimalabstand. Fasse die beiden Cluster mit diesem Minimalabstand zusammen. zu ( ( zusammengefasst: ) ( ) ( ) . ) Berechne die neuen Abstände für jedes ( ) ( ( ) ( )) Möglichkeiten für : 1) Normaler Mittelwert ( ) ( ) 2) ( ) ( ) 3) ( ) ( ) 4) ( ) √ 36 2. -means Verfahren Ziel: Initial: Objekte in Cluster packen. Centroide ̅ ̅ 1. Verfahren Für jedes Menge der suche das Centroid ̅ , das am dichtesten bei liegt. ist die , die am dichtesten bei ̅ liegen. Bilde zu jedem Cluster das neue Centroid ̅ und höre erst auf, wenn sich die Cluster nicht mehr verändern. 2. Verfahren Für jeden Punkt bestimme den Abstand zu den Centroiden und sieh nach, ob er im richtigen Cluster ist. Gegebenenfalls den Cluster wechseln (in den Cluster, dessen Centroid am nächsten liegt) und aufhören, wenn kein Wechsel mehr stattfinde 37 Clusteranalyse (Fortsetzung) Verfahren aus der deskriptiven Statistik, welches genutzt wird, wenn sehr wenig über die Daten bekannt ist. Ziel: Bildung von Klassen von Elementen mit ähnlichen Eigenschaften. Ähnlichkeit der Elemente wird über einen zu definierenden Abstand oder eine Ähnlichkeitsmatrix festgelegt. Grundlegendes Modell Gegeben Beobachtungen . Eine Gruppierung , bestehend aus Clustern, ist ein -Tupel. ( ) disjunkte Teilmengen von { wobei } mit ⋃ { } ist. definiert die Indizes der Beobachtungen im -ten Cluster. Die Menge aller Gruppierungen, bestehend aus Clustern, bezeichnen wir mit . Beispiel: ( Beobachtungen Für jedes Cluster a) Im ) } { } { } ist ein Repräsentant ̅ zu bestimmen. : Centroid (Clustermittelwert) des -ten Clusters ̅̅̅ | { | | ist die Anzahl der Beobachtungen in b) Nicht im | ∑ , oder wird als Repräsentant ̅ ausgewählt : eine Beobachtung Für die Durchführung der Clusteranalyse benötigt man zu jedem Paar Beobachtungen einen Abstand von . Dieser Abstand beschreibt die „Unähnlichkeit“ beider Beobachtungen. Die Abstände werden in der ( ) zusammengefasst. Die Distanzmatrix ist eine symmetrische Matrix, bei der auf den Hauptdiagonalen Nullen stehen. a) Beobachtungen stammen aus und sind metrisch skaliert: Abstandsbestimmung mit Hilfe einer Metrik bzw. Verallgemeinerungen. ( ) ( ) 38 ) ⃗( Verschiedene Spezialfälle: 1) Euklidischer Abstand ( ⃗ ⃗⃗) √( ⃗ ⃗⃗) ( ⃗ ⃗⃗) für ⃗ ⃗⃗ 2) Gewichteter Euklidischer Abstand ( ⃗ ⃗⃗) Mit √( ⃗ ⃗⃗) ⃗⃗) für ⃗ ⃗⃗ (⃗ ( ) (*) heißen dann Gewichte der einzelnen Komponenten. 3) Mahalanobis-Abstand Abstand (*) mit und ist die empirische Kovarianzmatrix Beobachtungen der Gruppierung ( der ), d.h. ̅ )( ∑ ∑( ̅) 4) City-Block-Metrik ( ⃗ ⃗⃗ ) | für ⃗ ⃗⃗ ∑| 5) Quadrierter euklidischer Abstand ( ⃗ ⃗⃗) für ⃗ ⃗⃗ ) ∑( 6) Tschebytschew-Metrik ( ⃗ ⃗⃗) | ̅ | ( für ⃗ ⃗⃗ ̅ ) Für Einheitliche Skalierung wie in 2) bzw. 3) kann auch durch Standardisierung der Variablen erreicht werden. 39 b) Beobachtungen nominalskaliert Wir betrachten speziell nur Variable, die die Werte annehmen. Absolute Häufigkeiten unter den Komponenten der Vektoren ⃗ und ⃗⃗: 1) Varianz als additive, relative Distanz ( ⃗ ⃗⃗) ( ⃗ ⃗⃗) mit ( ) 2) Quadrierter euklidischer Abstand ( ⃗ ⃗⃗) ( ⃗ ⃗⃗) mit ( ) 3) Euklidischer Abstand ( ⃗ ⃗⃗) ( ⃗ ⃗⃗) mit √ √ ( ) 4) Musterdifferenz als multiplikative, relative Distanz ( ⃗ ⃗⃗) ( ⃗ ⃗⃗ ) mit ( ) 5) Distanzmaß von Lance and Willams ( ⃗ ⃗⃗) ( ⃗ ⃗⃗) mit ( ) c) Beobachtungen stammen nicht aus Werte sind so festzulegen, dass die folgenden drei Eigenschaften erfüllt sind: (1) (2) ̅ (3) und ( ̅ ist Repräsentant des Clusters ) . 40 Allgemeines Ziel der Clusteranalyse: ( Für vorgegebenes suchen wir eine Gruppierung Summe ), so dass die der Distanzen in den Clustern ( ) ∑∑ ̅ Für ( ), minimal wird. Bei großen Datenmengen ist die Suche nach globalem Minimum nicht realisierbar. Man begnügt sich mit einem lokalen Minimum. Als Vergleichswert kann dann die Gesamtsumme der Distanzen ∑ ∑ verwendet werden. Hierarchische Clusteranalyse Ziel: Aufbau einer Hierarchie von Gruppierungen, wobei von oben nach unten die Anzahl der Cluster wächst. Die Zahl der zu erzeugenden Cluster wird vorgegeben. Gruppierung zu Beginn Agglomerative Verfahren Divisive Verfahren Jede Beobachtung bildet ein Ein Cluster, in dem alle Cluster Beobachtungen enthalten sind Ziel jedes Schrittes Zusammenfassen zweier Aufsplittung eines Clusters in Cluster zwei neue Cluster Das Verfahren bricht ab, wenn die Zahl der Cluster erreicht ist. Agglomerative Verfahren besitzen höhere Praxisrelevanz und nur solche Verfahren werden im Weiteren betrachtet. bezeichne die Menge der Indizees der verbliebenen Cluster. Der Index des Clusters entspricht dem kleinsten Index der Beobachtungen dieses Clusters. 41 Algorithmus 1) { belegen, } { } { } 2) Suche nach dem minimalen Wert der Distanzmatrix einem Paar ( für , konkret: Suche nach ), so dass { } Wird das Minimum für mehrere Paare ( für das und ggf. auch ) angenommen, dann Wahl des Paares, am kleinsten. 3) Fusion der Cluster und zum Cluster , Löschen des Clusters : { } 4) Neuberechnung der Abstände Formel für für in Abhängigkeit von entsprechend dem konkreten Verfahren 5) Neuberechnung des Gewichtes des Clusters l: 6) Falls | | , dann beende das Verfahren, andernfalls gehe zu 2). Es entsteht die Gruppierung ( ). Formel für Schritt 4) bei speziellen Verfahren neu berechneter Abstand a) Nächster-Nachbar-Methode (Simple Linkage) { } Neigt zur Kontraktion von Clustern b) Entferntester-Nachbar-Methode (Complete Linkage) { } Neigt zur Dilatation (zum Auseinanderziehen) von Clustern c) Mittelwertmethode (Average Linkage) ( ) d) Methode des gewichteten Mittelwerts (Weighted Average Linkage) 42 weitere Verfahren nur für Daten aus und quadrierte euklidische Distanz, es werden Clusterzentren als Repräsentanten der Cluster angesehen, Neuberechnung der Distanzen daher als Distanzen zwischen den Clusterzentren e) Median-Verfahren ( ) Neues Zentrum des -ten Clusters ist der Median (ungewichteter Mittelwert) der alten Clusterzentren f) Centroid-Verfahren , wobei . Neues Zentrum des -ten Clusters ist der neue Schwerpunkt (gewichteter Mittelwert) des Clusters g) Ward-Verfahren (Minimalvarianzmethode) Führt zu einer minimalen Zunahme der Summe der Distanzen in den Clustern Das Dendrogramm stellt grafisch die Verschmelzung jeweils zweier Cluster in jedem Schritt und das Verschmelzungsniveau dar (Beispiel unten). Das Verschmelzungsniveau kann als oder als mittlere Distanz zwischen Beobachtungen des Clusters unddenen des Clusters festgelegt werden. 43 Beispiel: Simple-Linkage-Algorithmus für vorgegebene Distanzmatrix ( 1) ) ({ } { } { } { } { }) Jedes der 5 Elemente ein Cluster: ( 2) ({ } { } { ) } { }) { } ( 3) ({ } { } { }) { ( { } ( ) { } ( ) { } ( ) { } ) ) } ( ) 44 Partionierende Verfahren Unterschied zu den agglomerativen Verfahren: es wird nur eine Gruppierung erzeugt. Gegebenenfalls nach der Durchführung eines partionierenden Verfahrens ein hierarchisches Verfahren durchführen, um Abhängigkeit der erhaltenen Cluster zu bestimmen. Anfangsgruppierung erforderlich – eventuell durch hierarchisches Verfahren erstellen. Daten: mit . Wir behandeln nur die -means-Methode nach Forgy 1965. Algorithmus: ) 1) Start mit einer Gruppierung ( ̅ 2) Bestimmung der Centroide ̅ 3) Für wird der minimale Abstand zu den Centroiden bestimmt: ̅) ( { ( ̅ )} und Der minimale Abstand wird für Centroid ̅ erreicht. Ist hier für das entsprechende , dann weiter mit 5). 4) Suche in 3) war erfolglos. Verfahren wird beendet und ( gesuchte Gruppierung 5) wird dem -ten Cluster neu zugeordnet: { } ) ist die { } fortsetzen mit 2). Die Bedingung in Schritt 3) ist dann erfüllt, wenn der Abstand von zu einem fremden Centroiden ̅ kleiner ist als zum eigenen Centroiden ̅ . Dann ist eine Neuzuordnung erforderlich. Das Ergebnis hängt von der Anfangsgruppierung ab. Das Verfahren kann mit verschiedenen Anfangsgruppierungen mehrfach durchgeführt werden – Gruppierung mit kleinstem ( ) liefert Ergebnis. Für jeden Iterationsschritt gilt: ( ) ( ). Damit liefert das Verfahren ein lokales Minimum von ( ). Der -Means-Algorithmus neigt dazu, annähernd kugelförmige Cluster zu bilden. 45 Diskriminanzanalyse Ziel: Zuordnung von Objekten zu vorher festgelegten Gruppen Realisierung in zwei Schritten: 1) Mit Hilfe einer Lernstichprobe (Daten mit bekannter Gruppenzuordnung) wird optimale Diskriminanzfunktion ermittelt. 2) Wert der Diskriminanzfunktion für das einzuordnende Objekte liefert die gewünschte Zuordnung Anders als bei der Clusteranalyse werden die Gruppen vor der Zuordnung in Form einer Lernstichprobe vorgegeben, es ist die Verteilung der einzelnen Gruppen bekannt. Anwendungsbeispiele: Bilderkennung, Gesichtserkennung Barcode scannen Kreditwürdigkeit eines Kunden einer Bank einschätzen Herausfiltern von Spam-Mails Erkennen von Krankheiten Allgemeines Klassifikationsmodell für zwei Populationen Wir berücksichtigen hier Fehlklassifikationskosten ⃗ zufälliger Vektor aus zur 1.Gruppe, Dichte ⃗⃗ zufälliger Vektor aus ⃗ zufälliger Vektor aus zur 2.Gruppe, Dichte , der beobachtet wurde und zugeordnet werden soll Region der -ten Gruppe, disjunkt, Zuordnungsvorschrift: ⃗ ⃗ wird 1.Gruppe zugeordnet, ⃗ ⃗ wird 2.Gruppe zugeordnet. 46