Onderwijsenquête Resultaten en gevolgen Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 1 Dus… • informele transparanten + simplistische uitleg – Vandaag: formules! • te grote opdrachten – Kleinere opdrachten 2 en 3 ipv grote opdracht 2 • duidelijkere beschrijving – hopelijk ;-) • “Vlugge vragen” – Studenten aanwijzen Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 2 Opdracht 1 • Ter herinnering: 22 mei 2007 – een week van vandaag! • De bedoeling: – de redeneerder(s) kunnen met jullie stellingen omgaan! • Hebben jullie vragen? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 3 Het verwerven van kennis Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 4 Kennissysteem Softwaresysteem, die kennis verwerft, op een expliciete manier voorstelt, over deze kennis redeneert en gebruikt om een opdracht uit te voeren. Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 5 Waar zijn we beland? machinaal leren niet gesuperviseerd leren scheidend clustering Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 6 Huiswerk 14 • Een belangrijk probleem is het clusteren van XML documenten. • Welke technieken zou je ervoor gebruiken? • Aanbevolen: – “Clustering XML documents by structure” van Theodore Dalamagas, Tao Cheng, Klaas-Jan Winkel, and Timos Sellis • In te leveren ten laatste op 29 mei 2007 Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 7 Onelijkheidsmaat: objecten (1) • “Gelijke objecten moeten samen zijn” • In welke mate zijn twee objecten gelijk? • Soms: expliciet aangegeven: Gelijkenisgraad: 7.00 6.67 • Bepaald door studenten van politieke wetenschappen 7.08 6.92 3.83 • 1 – gelijk, 10 – verschillend 2.17 3.42 3.92 6.25 Intro Grafentheorie 7.33 K gemiddelde en varianten • symmetrisch Hoe bepaal je k? 8 Maar soms is de ongelijkheidsmaat niet expliciet… Element Zink Massa Smelt. 65.37 420 Kook 907 Aantal isotopen Ontdekker 5 Marggraf Jaar 1746 Aluminium 26.982 660.32 2519 Argon 39.948 -189 -185,7 8 3 Wöhler Ramsey 1827 1895 Helium 2 Ramsey 1895 Intro 4 Grafentheorie -272,2 -268,9 K gemiddelde en varianten Hoe bepaal je k? 9 Als de ongelijkheidsmaat niet expliciet is • Moeten we ons op de eigenschappen van de objecten baseren: – welke eigenschappen van deze twee objecten zijn voor ons van belang? – in welke mate zijn de eigenschappen gelijk? – hoe combineer je de (on)gelijkenissen van de eigenschappen tot een maat? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 10 Voorbeeld: eigenschappen Eleme nt Zink Smelt. Massa °K 65.37 420 Kook °K 907 Alumini 26.982 660.32 2519 um Argon 39.948 -189 -185,7 Helium 4 -272,2 -268,9 Intro Grafentheorie K gemiddelde en varianten Aantal isotopen Ontdekker 5 Marggraf Jaar 1746 8 Wöhler 1827 3 2 Ramsey Ramsey 1895 1895 Hoe bepaal je k? 11 Ongelijkheidsmaten: getallen • Absolute afstand – d(x,y) = |x – y| Smeltpunten • Euclidische afstand – d(x,y) = (x – y)2 Aantal isotopen • we schrijven ook ||x - y|| • Correlatie – zie les Statistiek Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 12 Ongelijkheidsmaat: namen • Fout – d(x,x) = 0 – d(x,y) > 0 • vaak: d(x,y) = 1 zodra x y Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? Ontdekkers 13 Ongelijkenismaat: objecten (2) • Objecten x en y – waarden van de gekozen eigenschappen: x1, …, xn en y1, …, yn: n D( x, y ) wi * d ( xi , y i ) i 1 n waar wi 1 i 1 Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 14 Element Smelt. °K Zink Aluminium Argon Helium 420 660.32 -189 -272,2 ongelijkheidsmaat |x – y| Aantal isotopen Ontdekker 5 8 3 2 (x – y)2 Marggraf Wöhler Ramsey Ramsey 0, als x = y 1, anders Voor welke elementen x, y is D(x,y) het kleinst? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 15 Scheidend clustering met minimaal opspannende boom 1) Voorbeelden vormen een kliek met ongelijkheidsmaten als gewichten van kanten 2) Bereken de minimaal opspannende boom Intro Grafentheorie K gemiddelde en varianten 3) Verwijder k-1 langste kanten 4) Stukjes zijn clusters Hier k = 2 Hoe bepaal je k? 17 B 3 1 5 A 5 4 5 5 1 D 4 wie zit dan in dezelfde cluster? Intro Grafentheorie K gemiddelde en varianten Als we minimaal C opspannende boom gebruiken 5 voor 2 clusters… E A. A en B B. D en E Hoe bepaal je k? 18 Ter herinnering: Maximale snede • Gegeven een graaf G = (V,E), een paar (V1,V2) is een maximale snede als – V1 V2 = V en – de som van de gewichten verbonden aan de kanten tussen V1 en V2 zo groot mogelijk is • Vinden van een maximale snede is NPvolledig! Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 19 B 3 5 A 5 4 5 1 D A. B. C. D. Intro 4 1 C Wat is het grootste gewicht van de 5 5 kanten tussen de twee delen E van een snede? 25 26 27 geen enkele antwoord is juist Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 20 Max-Cut 1) Voorbeelden vormen een kliek met ongelijkenismaten als gewichten van kanten Intro 4) Als het aantaal delen kleiner is dan 2) Bereken de k, kies een deel en maximale ga naar stap 2). snede 3) Verwijder de Anders, stop. kanten van de snede Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 21 B 3 1 C 5 A 5 4 5 5 5 3 D 4 wie zit dan in dezelfde cluster? Intro Grafentheorie K gemiddelde en varianten E Als we maximale snede gebruiken voor k = 2… A. A en B B. D en E Hoe bepaal je k? 22 Maximale snede • Splitsend clustering: – 1 cluster 2 clusters 3 clusters… – We kunnen een dendrograam van maken: C1 C2 C3 C4 Intro Grafentheorie C5 K gemiddelde en varianten Hoe bepaal je k? 23 Hiërarchisch clustering • Kan ook top-down! – ook verdelend clustering genoemd • Kan bereikt worden door – In 2 clusters verdelen (hoe dan ook) – een van de clusters kiezen – en herhalen… Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 24 Scheidend clustering • grafenteoretisch – minimale opspannende boom – maximale snede Wij zijn hier • statistisch – k gemiddelde, – k centroïden, – vage k gemiddelde – hoe bepaal je het aantal clusters? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 25 K gemiddeld Voorbeeld 1) Kies randomaal K clustercentra Intro Grafentheorie 2) Bepaal voor ieder voorbeeld het dichtstbijzijnde clustercentrum K gemiddelde en varianten Hoe bepaal je k? 26 K gemiddeld 3) Herbereken de clustercentra als massamiddelpunten van de bijbehorende voorbeelden Intro Grafentheorie K gemiddelde en varianten 4) Herhaal tot de clustercentra niet meer veranderen Hoe bepaal je k? 27 Welke van de volgende stellingen zijn juist? A. Eindclusters zijn onafhankelijk van de oorspronkelijke keuze van de clustercentra B. Clusters voor een grotere k verfijnen clusters voor een kleinere k C. Nog A nog B is juist Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 28 Toepassing: beeld- en signaalcompressie Splits het beeld op in blokjes 2*2 pixels Sir Ronald A. Fisher (1890-1962) N*N pixels, iedere pixel m-bit grijswaarde, N=1024, m = 8 Ieder blokje is een vector in R4 Gebruik K-gemiddelde clustering. Vervang ieder blokje bij “zijn” clustercentrum K = 200 Intro Grafentheorie K gemiddelde en varianten K=4 Hoe bepaal je k? 29 Compressie? • Oorspronkelijk: N2 * m • Voor ieder blokje – zijn clustercentrum – N2/4 blokjes – per clustercentrum: log2(K) bits (kan beter…) – dus, N2/4 * log2(K) • Compressie is dus: log2(K)/(4m) • Gecomprimeerd beeld: – 23,9% (K = 200, m = 8) – 6,3% (K = 4, m = 8) Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 30 Wanneer 1. minimale opspannende boom of maximale snede wel kunnen gebruikt worden 2. terwijl k gemiddeld niet? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 31 Antwoord • K gemiddeld is niet van toepassing… – op niet numerieke eigenschappen – als de ongelijkheid met de “nieuwe” punten niet te bepalen is • bijv. als die expliciet aangegeven is in een tabel – als de ongelijkheidsmaat asymmetrisch is Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 32 Wij willen… • Kwaliteit van K gemiddeld • maar ook toepasbaar voor – niet numerieke eigenschappen – expliciete ongelijkheidsmaten Centrum ligt buiten het echte cluster • en minder gevoelig voor de “abnormale” voorbeelden: Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 33 Oplossing: k centroïden (1) • Centroïde (ook wel medoïde genoemd) van een cluster K = voorbeeld x zodanig dat som van de afstanden van andere voorbeelden van K tot x is minimaal Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 34 7.00 6.67 0.00 3.83 Gegeven een cluster van België, Frankrijk en Israël, de centroïde is 7.08 6.92 3.83 0.00 A.België 3.42 3.92 6.25 7.33 B.Frankrijk 2.17 0.00 6.67 6.92 C.Israël Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 35 k centroïden (2) 1) Bepaal willekeurig de initiële plaatsing van de centroïden. 2) Verdeel voorbeelden bij de dichtstbijzijnde centroïden. 3) Herbereken de centroïden 4) Herhaal 2) en 3) tot de verdeling niet meer veranderd. Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 36 2.17 0.00 6.67 6.92 7.00 6.67 0.00 3.83 7.08 6.92 3.83 0.00 3.42 3.92 6.25 7.33 Beginnende met België en Frankrijk als centroïden, welke clusters produceert het algoritme? In hoeveel stappen? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 37 k centroïden, k = 2 2 stappen Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 38 Wat gebeurt er als een voorbeeld bij meerdere clusters kan horen? • Vaagheid: in welke mate maakt het voorbeeld deel van een cluster? – Ter herinnering: vage predicaat is een functie van een meeting naar een graad [0,1] van het predicaat – Hier: “is element van” is vaag! • Vage K (of vage c) gemiddelde! Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 39 K gemiddelde vs. Vage K gemiddelde (1) • K gemiddelde minimaliseert Euclidische afstand n X Centrumi 2 i 1 X Cluster( Centrumi ) • Vage K gemiddelde minimaliseert n u m X ,i i 1 X Voorbeelden Intro Grafentheorie K gemiddelde en varianten X Centrumi Hoe bepaal je k? 2 40 K gemiddelde vs. Vage K gemiddelde (2) • K gemiddelde past aan: Centrumi • Vage K gemiddelde past aan: Centrumi en u X ,i • K gemiddelde stopt: als de centra niet meer veranderen • Vage K gemiddelde stopt als de u X ,i “bijna” niet meer veranderd (tot e) Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 41 1. Kies Centrum en u X ,i op een willekeurige i manier. m 2. Herhaal: u X ,i X Centrumi en u X Voorbeelden m X ,i X Voorbeelden old _ u X ,i u X ,i 1 u X ,i X Centrumi k 1 X Centrumk n 2 m 1 max u old _ u e X , i X , i X , i 3. Stop als Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 42 m Vage K gemiddelde in actie e voorbeelden Intro Grafentheorie K gemiddelde en varianten Clustercentra en En het resultaat is: de u-waardes worden eerst willekeurig gekozen Hoe bepaal je k? 43 • Parameters voor vage k gemiddelde: vaagheid (m), nauwkeurigheid (e) • Initiële lidmaatschapsfunctie u X ,i • Voor welke waarden van deze parameters wordt “vage k gemiddelde” gewone “k gemiddelde”? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 44 Wat gebeurt als de voorbeelden on-line komen? • Geen enkele techniek werkt! • Zelforganiserend netwerk – K gemiddelde – maar • voorbeeld per voorbeeld • de clustercentra worden in een rooster georganiseerd • ook goed als de voorbeelden te veel eigenschappen hebben Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 45 Het idee • Kies clustercentra. • Klasseer voorbeeld X bij het dichtstbijzijnde clustercentrum Centrumi • Voor alle clustercentra z.d. Centrumk Centrumi r pas aan Centrumk Centrumk ( X Centrumk ) Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 46 Parameters Grenswaarde Centrumk Centrumi r Leertempo Centrumk Centrumk ( X Centrumk ) Beide parameters dalen naar mate het leerproces vordert. Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 47 Kariboe, Noordam. rendier. Leven in kuddes. Verplaatsen zich veel tussen kuddes. Vind subpopulaties in een radiogemarkeerde kudde. Welke clusteringtechniek zal je gebruiken? Waarom? A. minimaal opspannende boom B. maximale snede C. k gemiddelde D. k centroïden E. vage k gemiddelde F. zelforganiserende netwerken Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 48 Tot nu toe • Alle technieken konden k clusters vinden. • Maar hoe bepaal je het aantal clusters? – Soms is het gegeven: • verzekeringsmaatschappij met k makelaars • ieder makelaar moet zo mogelijk uniforme klanten hebben – Anders: zoveel dat de clusters goed zijn. Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 49 Wanneer is een clusterverdeling goed? • Verschilmaat voor een clusterverdeling: 1 W (k ) 2 i 1.. k D( X , Y ) X Clusteri Y Clusteri • Voor k gemiddelde geeft het 1 W (k ) 2 i 1..k Intro Grafentheorie X Centrum X Clusteri K gemiddelde en varianten Hoe bepaal je k? i 50 Bepalen van k • Bereken clusters voor 1, …, Kmax. • Scenario – Aanname: in de werkelijkheid zijn er K* clusters – Als k < K* (en de clustering met de werkelijkheid overeenkomt) dan W(k) – W(k+1) “vrij groot” – Als k > K* dan is W(k) – W(k+1) “nogal klein” – Dus, kijk naar de helling van de grafiek W(k) Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 51 In de praktijk… J. Debenham, G. Clarke en J. Stillwell 2002 Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 52 Problemen • Komen de gevonden clusters overeen met de echte? • Wat betekent “vrij groot”? • W(k) – W(k+1) is niet genormaliseerd – vergelijking met andere datasets is onmogelijk! Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 53 Kunnen we beter doen? • Vergelijk met een “referentie data set” – uniforme verdeling binnen de min-max grenzen Voorbeelden Intro Grafentheorie Voorbeelden met Monte Carlo grenzen aangeduid simulatie K gemiddelde en varianten Hoe bepaal je k? 54 Hoe gaan we vergelijken? • Bereken W(k) voor k = 1, …, K • Kies B referentie data sets (b = 1, …, B) • Cluster ieder van de data sets tov iedere kwaarde. Bereken W(k,b). 1 Gap(k ) log( W (k , b)) log( W (k )) B b • Bereken de “standaardafwijking” sk (verborgen) • Kies de kleinste k z.d. Gap(k ) Gap(k 1) sk 1 Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 55 Wat betekent het in de praktijk? standaard afwijkingen log(W(k,b)) log(W(k)) Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 56 Wat hebben we besproken? • Scheidend clustering – grafenteoretisch • min. opspannende boom • maximale snede – statistisch • k gemiddelde • k centroïden • vage k gemiddelde – hoe bepaal je het aantal clusters? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 58 Vragen voor de toekomst? • Hoe kan ik een aantal dimensies (eigenschappen) verkleinen? – kies de interessante – als je het a priori niet weet? • Bewerk het dataset voor de clustering – normaliseer? (gemiddelde = 0, st.afwijking =1) – logaritme? Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 59 Opdracht 2 • Doel: relevante groepen objecten te vinden. • Middelen: – datasets: staan on-line (kies één) – software: implementeer zelf • In te leveren tot 5 juni: – software – verslag Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 60 Opdracht 2: Software • Invoer: een willekeurige tab-separated bestand – – • Omgeving: – – • Intro Het eerste colom: namen, alle andere – eigenschappen (reële getallen). mijn laptop zorg, indien nodig, voor de installatiegids Ik ben wel bereid om een kwartiertje te wachten op een clusteringprogramma maar zeker geen uur! Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 61 Opdracht 2: Verslag • • Welke dataset hebben jullie gekozen? Voor welke clusteringtechniek(en) hebben jullie gekozen? Waarom? • Welke ongelijkheidsmaat hebben jullie gebruikt? • NB: ongelijkheidsmaat moet gebaseerd worden op ten minste twee eigenschappen per voorbeeld • Hoe wordt het aantal clusters bepaald? • Intro Hoe hebben jullie de bovengrens gekozen voor het aantal clusters (K)? Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 62 Opdracht 2: Verslag • Wat zijn de resultaten van de clustering? • Welke objecten horen samen? • Kunnen jullie de clusters omschrijven in termen van de eigenschappen? • Wat is de verschilmaat van de clusterverdeling (W)? • Kunnen jullie in deze clusters bepaalde bekende groepen herkennen? • Bespreek het ontwerp en de implementatie. Intro Grafentheorie K gemiddelde en varianten Hoe bepaal je k? 63