Kennissystemen

advertisement
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
Download