omega - liacs

advertisement
Data Mining:
Schatgraven in Gegevensbergen
Peter van der Putten
ALP Group, LIACS & KiQ Ltd
6 April 2004
Agenda (ovb)
•
•
•
•
College:
Pauze:
Practicum:
Bespreken:
1400 -1500
1500 -1515
1515 -1615
1615 -1645
Bronnen van (kunstmatige) intelligentie
• Redeneren versus leren
• Leren uit data:
–
–
–
–
–
–
–
Klantgegevens
Beurskoersen
Pianomuziek
Foto’s van verdachten
Websites op het internet
Robotwaarnemingen
Etc.
Data Mining &
Knowledge Discovery in Databases
• Werkdefinitie
– Het ontdekken van interessante, nuttige en
verborgen kennis in grote hoeveelheden data met
intelligente patroonherkenningstechnieken
• Data mining is een interdisciplinair vakgebied:
– Kunstmatige intelligentie, machine learning,
information retrieval, statistiek, statistische
patroonherkenning, econometrie, cognitieve
psychologie, neuroscience, etc.
Voorbeelden van data mining taken
• Zoeken
– Matching: het zoeken naar best matchende objecten / patronen
• Voorspellen
– classificatie: het toekennen van een bekende klasse aan een object
(‘nominale/categoriale voorspelling’)
– predictie/regressie: het voorspellen van een numerieke kenmerk voor een
object (‘numerieke voorspelling’)
• Beschrijven
– clusteren: het vinden van groepen van objecten (groepen/klassen van te
voren niet bekend)
– rule discovery: het afleiden van interessante regels en verbanden
(‘associatieregels’)
Zoeken in de patroonruimte
Zoeken naar best matchende
patronen / objecten
bvb. inkomen
Elk object is een punt in de
‘patroonruimte’. Dimensies zijn de
eigenschappen van het object,
bvb leeftijd en inkomen voor een
klantendatabase, of aantal keren
‘Matej’ en ‘Kezman’ op een
webpagina. Patroonruimtes zijn
vaak hoogdimensionaal (10 tot
duizenden dimensies)
bvb. leeftijd
Voorbeelden van voorspelalgoritmen
•
•
•
•
•
•
•
Beslisbomen (decision trees)
Nabuuralgoritmen (nearest neighbor)
Neurale netwerken
Good old statistics
Genetische algoritmen / evolutionairy computing
Artificial Immune Systems
…..
Voorbeeld voorspel algoritme 1:
Decision Trees (Beslisbomen)
• Vraag-antwoord spel
20000 klanten
respons 1%
inkomen>150000?
ja
nee
1200 klanten
saldo>50000?
ja
400 klanten
respons 0,1%
18800 klanten
aankopen>10?
nee
800 klanten
respons 1,8%
nee
etc.
Decision trees in de patroonruimte
Doel classifier is onderscheid
te maken tussen klasse ‘cirkel’
en klasse ‘vierkant’ op basis
van leeftijd en inkomen.
bvb. inkomen
Decision tree heeft lijnstukken
loodrecht op assen
beschikbaar
bvb. leeftijd
Elk lijnstuk stelt een beslissing
voor (splitsing in de boom)
Decision trees in de patroonruimte
Lijnstukken loodrecht op
assen beschikbaar
bvb. inkomen
Elk lijnstuk stelt een beslissing
voor (splitsing in de boom)
bvb. leeftijd
Voorbeeld voorspel algoritme 2:
Nearest Neighbour
• Data zelf is het voorspellingsmodel, dus geen
abstracte representatie zoals een boom oid
• Voor een gegeven object x zoek die n objecten
waarvan de klasse bekend is en die het meest
lijken op x
• Voorspel voor object x de klasse die het meest
voorkomt bij de best lijkende objecten
Nearest Neighbor in de patroonruimte
Voorspellen
= nieuw geval
bvb. inkomen
Elk willekeurig complex
scheidingsvlak mogelijk
Voorwaarde: er moet wel
genoeg data aanwezig zijn
bvb. leeftijd
Nearest Neighbor in de patroonruimte
Voorspellen
bvb. inkomen
Elk willekeurig complex
scheidingsvlak mogelijk
Voorwaarde: er moet wel
genoeg data aanwezig zijn
bvb. leeftijd
Voorspel algoritme 3:
Neurale Netwerken
• Geinspireerd door werking neuronen in hersenen (McCullough &
Pitts 1943 (!))
invoer:
bvb. klantkenmerken
uitvoer:
bvb. respons
• Invoer (bvb klantkenmerken) wordt gecodeerd op invoerlaag,
activatie stroomt door netwerk over verbindingen en leidt tot
uitvoer op output laag (bvb interesse in product)
• Netwerk leert verbanden (gewicht verbindingen) aan de hand
van voorbeelden en leerregel
Neurale Netwerken
• Voorbeeld simpel netwerk (2 lagen)
leeftijd
gewichtleeftijd
inkomen
gewichtinkomen
interesse in product
• Interesse in product = leeftijd * gewichtleeftijd + inkomen *
gewichtinkomen
Neurale netwerken in de patroonruimte
Voorspellen
Simpel netwerk: slechts een
lijn beschikbaar
Meerlaags netwerk:
bvb. inkomen
Elk willekeurig scheidingsvlak
mogelijk
bvb. leeftijd
e
Beslisboom demo in WEKA,
Een open source mining tool
Beschrijvende data mining:
Clusteren
• Het vinden van groepen van objecten
• Binnen een groep (cluster, segment) lijken objecten op
elkaar, groepen onderling zijn juist verschillend
• Toepassingen bvb:
– Welke verschillende soorten wodkadrinkers bestaan er?
– Voor een gegeven ziekte, zijn er verschillende groepen
patienten te onderscheiden die elk een verschillende
behandeling nodig hebben?
– Etc.
Clusteren in de patroonruimte
Clusteren is het vinden van
groepen in de patroon ruimte
bvb. inkomen
In 2 of 3 dimensionale
patroonruimtes zou je de data
set kunnen visualiseren en het
herkennen van clusters aan
een gebruiker kunnen
overlaten
bvb. leeftijd
Clusteren in de patroonruimte
Clusteren is het vinden van
groepen in de patroon ruimte
bvb. inkomen
In 2 of 3 dimensionale
patroonruimtes zou je de data
set kunnen visualiseren en het
herkennen van clusters aan
een gebruiker kunnen
overlaten
bvb. leeftijd
Met meer dimensies kan dat
niet
Beschrijvende data mining:
associatie regels
• Ontdekken van regelmatigheden
• Vorm: als A en B dan C
• Voorbeeld:
– als aardappelen en boerenkool dan worst
• Belangrijke maten
– Support regel: hoe vaak komen aardappelen en
boerenkool (A,B) voor (hoeveelheid ‘bewijs’)
– Confidence regel: hoe vaak komt worst dan voor /
support (geldt A,B  C altijd?)
e
Associatie regel demo in WEKA,
Wat is behandeld?
•
•
•
•
•
•
•
Leren versus redeneren
Definitie data mining
Overzicht data mining taken
Voorbeeldalgoritmen voor voorspelling
Voorbeeldalgoritme associatieregels
Demo’s in WEKA
En nu: pauze en practicum (305)
Download