Linköpings universitet
Artificiell intelligens II
729G11
HT 2010
Data mining
Ett analysverktyg för att upptäcka mönster i stora mängder data
Karolina Franc
840515–4009
[email protected]
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
Innehållsförteckning
1 Inledning .................................................................................................................................................................................. 2
1.1 Syfte 2
1.1 Avgränsning .......................................................................................................................................................................... 2
2 Data mining ............................................................................................................................................................................. 2
2.2 Data miningens rötter .......................................................................................................................................................... 3
2.3 Konkreta exempel på användningsområden för data mining .............................................................................................. 3
2.4 Data mining and Knowledge Discovery in Databases (KDD) ................................................................................................. 4
2.4.1 KDD processen .................................................................................................................................................................. 4
2.5 Data warehouse ................................................................................................................................................................... 6
3 Två typer av data mining ......................................................................................................................................................... 7
3.1 Prediktiv och deskriptiv data mining .................................................................................................................................... 7
4 Tekniker ................................................................................................................................................................................... 7
4.1 Funktion kontra teknik ......................................................................................................................................................... 8
4.1.1 Funktioner ......................................................................................................................................................................... 8
4.1.1.1 Klassificering ................................................................................................................................................................... 9
4.1.1.2 Uppskattning .................................................................................................................................................................. 9
4.1.1.3 Prediktion ....................................................................................................................................................................... 9
4.1.1.4 Associering ................................................................................................................................................................... 10
4.1.1.6 Visualisering ................................................................................................................................................................. 10
4.2.1 Data mining tekniker ....................................................................................................................................................... 10
4.2.1.1 Beslutsträd ................................................................................................................................................................... 11
4.2.1.2 Neurala nätverk ............................................................................................................................................................ 14
4.2.1.3 Kluster .......................................................................................................................................................................... 16
4.2.1.4 Genetiska algoritmer .................................................................................................................................................... 17
4.2.1.5 Minnesbaserat resonemang/ K-nearest neighbour...................................................................................................... 18
5 Utmaningar med data mining ............................................................................................................................................... 19
6 Diskussion .............................................................................................................................................................................. 20
Referenser ................................................................................................................................................................................ 21
1
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
1 Inledning
Vi lever i ett informationssamhälle, men vad skall vi med all information till? Hur kan vi dra
nytta av den? Filosofen Theodore Zeldin lär ha sagt "What to do with too much information is
the great riddle of our time." Visst ligger det en sanning i denna utsaga. I dagens samhälle kan
vi få nästan hur mycket information som helst, om vad som helst, när som helst. Dagens
informationsteknologi har dessutom gett företag möjlighet att samla in enorma mängder data
om sina kunder. Att ur en databas kunna få fram användbar information kan vara oerhört
värdefullt för en organisation. Många företag har på senare år blivit alltmer kundfokuserade
och framgångar inom datainsamling och lagringsteknologi har därmed resulterat i tillväxt av
stora databaser. Intresset för att kunna göra nytta av dessa data har vuxit sig allt starkare. Det
är här ”data mining” kommer in i bilden. Data mining är en metod som används för att hitta
meningsfulla mönster och viktig information i stora mängder data som genereras i ett företags
verksamhet.
1.1 Syfte
Syftet med detta fördjupningsarbete är att ge en grundläggande insikt i vad data mining är, hur
det fungerar, samt vilka möjligheter och begränsningar detta analysverktyg erbjuder.
1.1 Avgränsning
Området data mining är oerhört stort och komplext. För att göra detta arbete hanterbart inom
tidsramen och utrymmet för denna fördjupningsuppgift ämnar jag främst redovisa de vanligast
förekommande algoritmerna som står till grund för data mining tekniken, samt ge en något
förenklad förklaring av deras funktion.
2 Data mining
2.1 Definition av data mining
Data mining är ett begrepp som bygger på teorier och idéer som härstammar från olika fält.
Det finns inte någon tillräckligt bra och allmänt accepterad översättning av begreppet i svensk
facklitteratur, därmed används det engelska ordet data mining även på svenska. Som tidigare
nämnts är data mining en teknik varigenom man extraherar värdefull information i stora
databaser. Citatet nedan ger en grundlig insyn i vad data maning innebär.
2
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
”Data mining is the search for relationships and global patterns that exist in large databases
but are ‘hidden’ among the vast amount of data, such as a relationship between patient data
and their medical diagnosis. These relationships represent valuable knowledge about the
database and the objects in the database and, if the database is a faithful mirror, of the real
world registered by the database.”
Marcel Holshemier & Arno Siebes (1994)
2.2 Data miningens rötter
Data mining är inte en ensam teknologi utan en samling av verktyg som används för att få
fram värdefull information från stora mängder data. Det som är nytt är att sammanslagningen
och tillämpningen av tekniken används på ett nytt sätt och på olika områden. Data mining har
sitt ursprung i flera olika kunskapsfält. Vid användning av data mining används flera olika
tekniker för att lösa olika problem. Dessa tekniker har bland annat sitt ursprung i statistik,
artificiell intelligens, maskinlärning, mönsterigenkänning, databasteknologi, och visualisering. De
datamängder som undersöks är ofta stora. Om enbart små datamängder varit inblandade skulle
man endast behöva klassiska statistiska metoder. Men när det gäller stora kvantiteter av data
uppstår nya problem. Därmed har intresset vuxit sig att allt större att utveckla metoder som
kan hantera den typen av data och ge värdefull information. Till följd därav utvecklades data
mining. (Bertino, E, 2001)
2.3 Konkreta exempel på användningsområden för data mining
I litteraturen beskrivs ett antal områden som lämpar sig för data mining. Några av dessa
användningsområden är inom finans och bank branschen. Inom finansvärlden används data
mining bland annat för att förutspå aktiepriser. Inom bankbranschen kan tekniken bland annat
användas som hjälp vid direktmarknadsföring, för att genomföra trendanalyser, förutspå
bedrägerier, eller utvärdera risker. (Fayyad, et al., 1996). Sjukvården är ännu ett område där
data mining kan tillämpas. Här används bland annat data mining för utveckling av mediciner.
Det är främst vinstdrivande grupper med stora databaser som använder sig av data mining.
Företag lagrar exempelvis data i sina databaser över sina kunder, produkter och transaktioner.
Butikskedjor sparar information om konsumenternas kvitton som visar på inköpta varor,
tidpunkt och datum för köpen. Vid kortbetalning sparar de möjligtvis även personinformation
såsom ålder och kön. Dessa uppgifter använder sedan företaget för att med hjälp av data
3
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
mining utvinna mönster och trender som de kan använda sig utav för marknadsföringssyften
samt utökning av sitt sortiment. För att få en tydligare uppfattning på vilket sätt data mining
kan användas i en organisation beskrivs ett kort exempel. Data mining kan exempelvis
användas som grund för beslut om vilka leverantörer man vill använda sig av. Metoden är
användbar när en organisation skall fatta beslut om gamla leverantörer bör vara kvar eller inte.
Kravet är att organisationen har data lagrat om leverantörerna beträffande de faktorer som
anses vara viktigast. Exempel på sådana faktorer kan vara tillgänglighet, pris, leveranstider
och produktkvalité. Utifrån dessa faktorer är det sedan möjligt för organisationen att göra
analyser för att få fram ett beslutsunderlag för huruvida leverantörerna skall få vara kvar eller
inte. Man väljer alltså ut relevanta data och sätter sedan sitt data mining verktyg till att arbeta
fram mönster. Dessa mönster används sedan för att bygga en modell som sammanfattar de
mönster man fått fram. Mer om exakt hur denna teknik fungerar kommer redovisas längre
fram i arbetet.
2.4 Data mining and Knowledge Discovery in Databases (KDD)
Begreppet data mining ingår i en process vars mål är att omvandla data till kunskap.
Processen kallas Knowledge Discovery in Databases. Intresset för data mining och KDD har
lett till ett flertal likartade definitioner och begrepp. I litteraturen beskrivs sökandet efter
mönster i data med flera termer, däribland data mining, men också knowledge extraction,
information discovery, samt pattern processing. Frasen knowledge discovery in databases
myntades för att betona att kunskap är slutprodukten av en datadriven upptäckt. Då det saknas
en lämplig svensk översättning kommer jag fortsättningsvis använda mig av den engelska
termen knowledge discovery in databases, eller dess förkortning KDD. Enligt Fayyad et al.
(1996) så är omvandlingen från data till kunskap en process i vilken data mining utgör ett utav
flera steg. Data miningens uppgift innebär att verktyget söker efter mönster och samband som
i nästa steg skall tolkas. Genom att diskutera data mining i ett KDD perspektiv belyser man att
data mining är en del av en större process.
2.4.1 KDD processen
Eftersom KDD är ett viktigt och övergripande område där data mining ingår, tillägnas ett
stycke för att beskriva dess process. Figuren nedan ger en beskrivning av knowledge
discovery in databases (KDD) processen för att tydliggöra var data mining kommer in i bilden
av kunskapsutvinnande.
4
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
Figur 1. En överblick av stegen som utgör processen Knowledge Discovery in Database (KDD)
Under varje steg i KDD processen transformeras data till att komma ett steg närmare
användbar och inressant kunskap. Processen är iterativ, det vill säga att vissa steg i processen
ibland måste upprepas, och alla steg i processen är lika viktiga. Varje stegs resultat fungerar
som ingångsdata för nästa steg. Första steget i KDD processen går ut på att förstå
verksamhetsområdet och att identifiera ändamålen för projektet, detta för att det är viktigt att
kunna identifiera vilka kriterier som är viktiga för att lyckas med projektet. Första steget
utgörs också av att man tar tillvara på relevant kunskap som man har sedan tidigare projekt.
Det andra steget innebär att man väljer den datamängd som skall bearbetas. Det är viktigt att
man här funderar på om data förändras över tid eller om den förblir oföränderlig. Tredje
steget innefatts av att data tvättas och förbereds för vidare bearbetning. Här fattas även beslut
om hur värden som saknas skall behandlas och presenteras. Genom att filtrera data så
minimeras avvikelser och störande värden. Det fjärde steget består av att data reduceras och
transformeras. Reduceringen sker i första hand genom att de variabler som inte är
betydelsefulla sorteras bort. Beroende på vilket mål som användaren arbetar efter bestäms hur
data skall representeras. Efter steg tre och fyra är datamängden i ordning för att analyseras
med data mining verktyg. Femte steget innefattas av att matcha de mål man satt upp med en
passande data mining funktion. I sjätte steget görs ett val av data mining algoritm samt metod
för att hitta mönster i datamaterialet. Valet är ofta kritiskt för slutresultatet. Metoden som
väljs måste passa med de generella kriterierna i KDD processen. Sjunde steget är själva data
mining steget och kännetecknas av att intressanta mönster sökes. Resultatet av detta steg är
mönster som måste tolkas och utvärderas, och som alltså sker i steg åtta. Överflödiga mönster
tas här bort och svårtolkade mönster återges på ett sätt som användaren kan tolka och förstå
5
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
utifrån sin kunskap om verksamhetsområdet. Vad som genererar ny kunskap bestäms av det
som processen tagit fram och är en komplex uppgift. Det kräver att man förlitar sig på
tekniken och på användarens kunskap och möjlighet att avgöra vad som är intressant nog att
arbeta vidare med. Ett hjälpmedel för att lättare bedöma om resultatet är värdefull kunskap är
visualiseringsverktyg som redogör för resultatet på ett mer överskådligt sätt. Avslutningsvis
består sista steget av att använda sig av den kunskap som erhållits, samt integrera kunskapen i
verksamheten eller dokumentera och rapportera till berörda parter, liksom jämföra med
tidigare uppfattningar eller resultat. (Fayyad et al.,1996)
Trots det faktum att ovan relativt utförliga beskrivning av de olika stegen i KDD processen
inte berör hur själva data mining fungerar, ansåg jag det vara av vikt att ge en grundlig
bakomliggande beskrivning av vilken roll data mining spelar i ett helhetsperspektiv, från det
att data i stora mängder analysers för att få fram mönster, tills det att man faktiskt kan ha nytta
av den nya kunskap som erhållits ur analysen. Då läsaren nu har utrustats med en klar
beskrivning av de steg som krävs för användbar kunskapsutvinning, och där alltså data mining
utgör en nyckelkomponent, ämnar jag nu berätta hur data mining fungerar, vilket utgör större
delen av fokus för detta arbete. Men först ges en kort beskrivning av data warehouse som
utgör en mycket viktig del för en effektiv data mining process.
2.5 Data warehouse
För att lyckas analysera data är ett självklart krav att man faktiskt har data att analysera, vilket
innebär att data skall samlas in och lagras. För att underlätta analysen krävs att data är
välstrukturerad, vilket görs med hjälp av ett data warehouse, på svenska även kallat datalager.
Jag kommer dock använda mig av den engelska benämningen då jag talar om data warehouse.
Ett data warehouse är en förvaringsplats för data som samlats in från flera olika datakällor.
För stora bolagsgrupper där till exempel småföretagen utnyttjar olika datasystem för lagring
av information kan det vara väldigt svårt att samla in betydelsefull data från samtliga företag
om de använder sig av olika datakällor med varierande struktur. Med hjälp av ett data
warehouse kan man analysera data från olika källor och därmed få en bra sammanställning av
informationen från de olika systemen inom företagen. Detta effektiviserar processen av data
mining.
6
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
3 Två typer av data mining
Berry & Linoff (2000) skiljer på två olika typer av data mining. Beroende på vilka avsikter
användaren har med sin data kan man antingen arbeta med riktad eller oriktad data mining.
Vid riktad data mining sker analysen uppifrån och ner, vilket innebär att arbetet sker utifrån
ett resultat varpå analytiker försöker skapa sig förståelse för varför resultatet blev som det
blev. Vid användning av riktad data mining är det orrelevant för användaren att veta hur
modellen arbetar. Man är enbart ute efter bästa möjliga resultat. Denna metod används när
användaren vet vad den söker efter och kallas för prediktiv, eller förutsägande modellering,
eftersom användaren vet vad det är som skall förutsägas. Exempelvis används förutsägande
modeller då man vill ha svar på frågor av typen vilka kunder som troligtvis kommer att säga
upp sitt medlemskap de närmaste sex månaderna. Vid den andra typen av data mining, det vill
säga vid oriktad data mining, sker arbetet från motsatt håll. Här använder man sig utav en
”nerifrån och upp” strategi, där data får tala för sig själv. Oriktad data mining används för att
upptäcka relationer och samband mellan data varpå det sedan är upp till användaren att avgöra
om dessa mönster är relevanta eller inte. Dessa mönster kan ge användaren djupare insikt om
sin data, vilket i det långa loppet kan visa sig vara väldigt produktivt för effektivisering av sin
verksamhet. Exempelvis kan mönstret visa att kunder som ofta köper chips även köper läsk,
och därmed finns det ingen anledning att sänka priset på läsk. Riktad data mining förklara de
mönster som hittas i en oriktad data mining modell.
3.1 Prediktiv och deskriptiv data mining
Beroende på vilket mål data mining uppgiften har kan data mining antingen ses som prediktiv
eller deskriptiv. Det huvudsakliga målet med prediktiv data mining är att göra prognoser
baserade på resultat av tidigare data. Vid deskriptiv data mining är målsättningen att beskriva
generella egenskaper om existerande data. Även om det är vanligt att man använder sig av
båda modellerna vid data mining är det dock något vanligare med deskriptiva modeller. (Tan
et al., 2006)
4 Tekniker
För att uppnå målet med data mining finns det ett flertal olika tekniker att välja mellan. Ordet
teknik används här för att referera till ett konceptuellt tillvägagångssätt för att få fram
information ur data. I följande avsnitt kommer jag att presentera de i litteraturen vanligast
7
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
förekommande teknikerna som används för data mining. Teknikerna är generella
utgångspunkter för problemlösning där det oftast finns flera lösningar och där varje lösning
representeras av olika algoritmer. Algoritmerna kan linkas vid en manual, med stegvisa
instruktioner som förklarar vad som skall hända. Vardera teknik kan i sig utgöras av ett flertal
olika algoritmer. Det är viktigt att användarna har en uppfattning om algoritmens inre struktur
för att veta i vilka sammanhang de bör användas, hur resultatet bör tolkas samt huruvida
algoritmen faktiskt fungerar eller inte. Det finns en mängd olika data mining tekniker, med en
mängd olika funktioner att använda när det är dags att analysera företagets data. Valet av
teknik är ett kritiskt steg för en lyckad data mining. Data mining teknikerna är anpassade för
att lösa olika problem, där vissa tekniker lämpar sig bättre än andra. Utvecklingen av nya och
innovativa tekniker för att analysera data ökar kraftigt i samband med ett allt större intresse
för data mining. (Berry & Linoff, 2000)
4.1 Funktion kontra teknik
Inom data mining betraktas funktioner som olika tillvägagångssätt som data mining verktyget
använder sig utav vid analys av data. Vilken typ av funktion man väljer, det vill säga vilket
tillvägagångssätt man applicerar, beror på vilket resultat användaren är ute efter. Data mining
teknikerna är anpassade för att lösa olika problem, där olika tekniker har olika styrker och
lämpar sig bäst enbart inom vissa områden. De olika funktionerna kan appliceras på en eller
flera av de olika tekniker som finns representerade för data mining verktyget. Teknikerna
utgörs av algoritmer vars uppgift är att lösa ett givet problem. En teknik kan lämpa sig för
flera funktioner. Då det förekommer funktioner som har likadant namn som en del av
teknikerna kan detta skapa förvirring hos läsaren. En del källor blandar dessa båda uttryck och
gör inte någon skillnad mellan funktion och teknik, vilket till en början försvårade för mig att
skapa mig ett helhetsperspektiv i ämnet. (Berry & Linoff., 2000)
4.1.1 Funktioner
Enligt Berry och Linoff (2000) kan teknikerna som används för data mining delas in i följande
funktioner:

Klassificering

Uppskattning

Prediktion
8
Artificiell intelligens II
729G11

Associering

Klustrering

Visualisering
Karolina Franc
840515-4009
Klassificering, uppskattning samt prediktion är samtliga exempel på riktad data mining,
medan associering, klustrering och visualisering utgör exempel på oriktad data mining. Nedan
ges en kort beskrivning av samtliga funktioner.
4.1.1.1 Klassificering
Klassificering är den vanligaste funktionen inom data mining. Klassificering utgörs bland
annat av processer som ämnar hitta regler som definierar ifall ett dataobjekt tillhör en specifik
klass av data. Klassificeringens mål är att utifrån en redan definierad och klassificerad
datamängd bygga en modell som kan tillämpas på oklassificerad data, för att möjliggöra en
klassificering. En klassificeringsmodell kan exempelvis byggas för att hitta samband och
relationer mellan olika kundegenskaper, så som ålder och kön, eller kundens köpegenskaper i
form av kläder och mat. Matchningen mellan de olika egenskaperna kan exempelvis hjälpa
beslutsfattare att avgöra vilka kunder som är mest troliga att köpa en viss vara. Inom data
mining används klassificering ofta för att avgöra kreditbeviljande eller för att bestämma en
kundprofil. Vanliga tekniker som används här är beslutsträd samt neurala nätverk.
4.1.1.2 Uppskattning
Syftet med denna funktion är att försöka förutspå ett visst värde. Bland annat används
uppskattning för att skatta en familjs totala inkomst. Givet en viss indata används
uppskattning för att komma fram till ett värde för en okänd kontinuerlig variabel. I praktiken
används uppskattning ofta för att genomföra en klassificeringsuppgift, liksom en
klassificeringsuppgift kan omvandlas till en uppskattningsuppgift. Neurala nätverk är en
teknik som lämpar sig för uppskattning.
4.1.1.3 Prediktion
Enligt Berry och Linoff (2000) är det knappt någon skillnad mellan prediktion och en
klassificerings- eller uppskattningsuppgift. De menar på att det i stort sett är samma sak
bortsett från det faktum att data är klassificerade för att stämma överens med förutspådda
9
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
framtida händelser eller uppskattade värden i framtiden. Den enda skillnad mellan dessa tre
funktioner är att vid användning av klassificering och uppskattning kan man inte gå tillbaka
för att se om resultatet stämde. Med prediktion är data klassificerad efter framtida handlingar
och uppskattningar. Det enda sättet att få reda på om resultatet stämmer eller inte är att vänta
och se vad som händer. Tekniker som används för prediktion är exempelvis minnesbaserat
resonemang och neurala nätverk, samt beslutsträd.
4.1.1.4 Associering
Associering är en funktion som data mining använder för att exempelvis bestämma en kunds
köpbeteende eller för att hitta mönster i transaktionsdata. Att förstå mönster som bygger på
beteenden kan vara värdefullt för en verksamhet. Exempelvis kan en affärsinnehavare med
hjälp av denna insikt ändra strategi för vilka varor som bör säljas nära varandra. Vid
associering hittar man alltså förhållanden mellan saker som förekommer tillsammans.
4.1.1.5 Klustrering
Klustrering är en funktion som delar databasen i grupper, där medlemmarna i de olika
grupperna har liknande egenskaper. Detta ger användaren en bra förståelse för hur en
datamängd är uppbyggd, vilket gör det lättare att överskåda en stor databas. Just tack vare
detta används klustrering ofta som första stadium vid andra typer av data mining metoder för
att underlätta arbetet. Skillnaden mellan klustrering och klassificering är att vid klustring är
man inte beroende av fördefinierade klasser. K-means är en av de vanligare klusterteknikerna.
4.1.1.6 Visualisering
Syftet med visualisering är att beskriva en invecklad databas på ett så förenklat sätt som
möjligt genom att skapa en begriplig visualisering av databasen. Detta görs främst för att
underlätta för användaren att förstå sig på det som producerade data. Visualisering är främst
bra när man vill beskriva sitt data material.
4.2.1 Data mining tekniker
I kommande avsnitt ämnar jag redovisa några av de i litteraturen vanligast förekommande
teknikerna inom data mining. I beskrivningarna av samtliga tekniker återkommer de båda
uttrycken riktad respektive oriktad data mining. För att underlätta för läsaren klargör jag
10
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
därför återigen skillnaderna mellan dessa båda uttryck. Vid riktad data mining är målet att
förklara de relationer och mönster som hittas i en datamängd. Vid oriktad data mining är
målsättningen att hitta relationer och mönster i en datamängd. Då man är ute efter att hitta
grupperingar och relationer är oriktad data mining väldigt lämplig, dock så är större delen av
de arbeten som görs på data mining av riktad natur. Nedan presenters så en del av dessa
tekniker- beslutsträd, neurala nätverk, kluster, genetiska algoritmer, samt minnesbaserat
resonemang.
4.2.1.1 Beslutsträd
Ett beslutsträd är en teknik som genererar en modell som både är prediktiv och deskriptiv.
Tekniken har fått sitt namn på grund av att modellen genererar en struktur som liknar ett träd.
Beslutsträd är ett sätt att presentera en serie regler som leder till en klassificering av ett värde.
Tekniken är en riktad data mining metod och används även för förutsägelser. (Berry & Linoff,
1997)
Om man exempelvis vill klassificera en lånetagare som antingen en bra eller riskfylld
lånetagare kan detta illustreras med hjälp av ett beslutsträd. Nedan illustreras ett exempel på
ett enkelt sådant klassificeringsträd.
Figur 2. Exempel på ett enkelt klassificeringsträd
Ett beslutsträd utgörs av en rot, noder och lövnoder. Roten placeras i toppen och lövnoderna i
botten. Roten samt noderna utgörs av frågor för att hitta en lösning till den problemställning
man har från början. Varje gren på trädet består av en unik klassificeringsfråga, där varje nod
utgörs av en regel. Slutligen mynnar trädet ut i ett antal lövnoder där varje lövnod är en del av
datamängden med en tillhörande klass. Trädet delar upp data på varje gren utan att gå miste
11
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
om någon del av datamängden på vägen. Rotnoden tilldelas till alla exempel från
datamängden. Om alla exempel tillhör samma grupp, det vill säga samma gren, så behövs
inga fler beslut fattas för att dela datamängden, vilket innebär att trädet inte längre förgrenas.
Om exemplen från denna nod tillhör två eller flera grenar, görs ett test vid noden som
resulterar i en förgrening. Ett beslutsträd är binärt ifall varje nod delas i två delar och ickebinärt (flerfördelat) ifall varje nod förgrenas i tre eller flera delar. Då en nod inte längre kan
delas, blir den en lövnod och det slutgiltiga tillståndet nås. Därmed returneras lövnoden,
innehållandes specifika värden som är en del av datamängden, med en tillhörande klass.
Figue 3. Illustration av binärt, respektive icke-binärt träd
Vägen till varje nod eller lövnod är ömsesidigt uteslutande vilket innebär att inte mer än en
gren kan väljas. Proceduren upprepas alltså för varje nod tills det att varje möjlig förgrening
har gjorts och ett sluttillstånd nås i form av en lövnod. (Berry, 2006)
Beslutträdens struktur gör det relativt lätt att förstå hur modellen är uppbyggd och fungerar,
vilket underlättar tolkningen av resultatet. Då det dessutom finns tydliga regler för dess
struktur gör detta beslutsträd till en av de mest användbara tekniker för att bygga förståeliga
modeller för data mining. Eftersom ett beslutsträd representerar regler som är lätta att förstå,
föredras denna modell ofta framför andra tekniker, främst då framför neurala nätverk som
kommer redovisas i nästa stycke.
Hur beslutsträdet växer
Vid skapandet av ett beslutsträd är det viktigt att man ställer bästa möjliga fråga vid varje
förgrening. Om en fråga är mindre bra eller inte har att göra med till vilken utsträckning
frågan kan organisera datamängden. De algoritmer som används vid utvecklingen av ett
beslutsträd tittar på en mängd utmärkande frågor som kan dela upp datamängden i led som är
likartade med hänsyn till de prediktiva värdena. De olika algoritmerna kan använda diverse
tekniker för val av frågor, där vissa algoritmer använder sig utav slumpen, medan andra
12
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
algoritmer använder sig av tekniken att testa alla frågor. När detta gjorts väljs sedan den bästa
frågan, varpå datamängden delas i två mer ordnade led. Denna procedur upprepas sedan
iterativt på samtliga frågor i de nya leden.
När upphör trädets förgrening?
Beslutsträd kan snabbt växa och bli oöverskådliga. Därför har algoritmen som används ofta en
begränsning på hur många steg neråt trädet kan förgrena sig till. En annan metod som ofta
används är att man begränsar antalet löv längst ner i trädet.
Exempel på några algoritmer
Det finns ett antal olika algoritmer att använda då man skall bygga ett beslutsträd. Tekniken
som ligger till grund för beslutsträd härstammar från områden så som statistik och artificiell
intelligens, samt en blandning av dessa båda fält. De vanligaste algoritmerna är bland annat
CART och CHAID.
CART-algoritmen
CART som är ett acronym för Classification And Regression Trees är en algoritm som
kartlägger och förutsäger data. Några av algoritmens fördelar är att bekräftelse av modellen är
inbyggd i algoritmen, samt att den kan hantera saknad data. Om det i ett register saknas ett
värde för ett särskilt attribut, kommer det registret inte att användas när fördelningen av trädet
skall ske.
CHAID-algoritmen
CHAID som står för Chi square Automatic Interaction Detector, är en beslutsträdsalgoritm som
påminner om CART, men skiljer sig på den punkten att den väljer förgreningarna i trädet genom att
förlita sig på det så kallade ”chi square testet” som används för att fastställa om det finns en signifikant
skillnad mellan den förväntade mängden och den observerade mängden, i en eller flera kategorier.
CHAID används ofta i sammanhang med direkt marknadsföring för att välja ut grupper av
konsumenter och förutspå hur deras respons på någon variabel påverkar andra variabler.
Trots att beslutsträd och dess algoritmer kan vara väldigt komplicerade, kan resultatet
presenteras på ett lättförståeligt och tydligt sätt som är användbart för slutanvändaren. Därför
används beslutsträd vid en stor variation av affärsproblem, exempelvis för utforskning och
förutsägelser, exempelvis om vilka kunder som är i risk att lämna företaget.
13
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
4.2.1.2 Neurala nätverk
Ett neuralt nätverk är en teknik som letar efter mönster i en del av en datamängd, för att sedan
skapa en modell som kan tillämpas på hela datamängden. Neurala nätverk är en riktad data
mining teknik och betraktas som den mest avancerade algoritmen inom data mining.
Nätverket är enbart prediktiv, vilket gör att de val som algoritmen väljer är svåra att begripa
sig på. Det neurala nätverket är en matematisk funktion som genererar ett utdata, baserat på en
mängd av indata. Neurala nätverk är bra att använda vid klassifikationer och förutsägelser.
För att möjliggöra en förutsägelse måste man dela in värdena i olika grupper och därefter
förutspå till vilken grupp ett okänt värde skall grupperas. För att kunna placera in okända
värden i grupper måste det neurala nätverket först ha använt sig av en samling historisk data
som testdata för att på så vis lära sig känna igen situationer och därefter placera in de nya
värdena i grupper. Neurala nätverk som används för att hitta okända mönster, lär sig alltså av
tidigare erfarenheter genom att algoritmen söker efter mönster i en del av en datamängd,
varpå en modell byggs, som sedan kan användas på hela datamängden.
Hur ser ett neuralt nätverk ut?
Det neurala nätverket utgörs av noder, samt förbindelser som sammankopplar de olika
noderna. Exempelvis kan nätverket ta emot indata från vänster och utföra beräkningar på
dessa för att sedan skapa nya värden i noden till höger. Det nya värdet i form av utdata
representerar förutsägelsen från modellen. Var och en av förbindelse i nätverket tilldelas ofta
ett viktat värde. Det som följaktligen sker är att varje värde för en nods indata multipliceras
med respektive förbindelses viktade värde, varpå dessa indatanoder tillsammans bildar värdet
på noden för utdata. Då man vill förändra ett neuralt nätverks beteende, det vill säga det
resultat man får, ändrar man i första hand hur förbindelserna är organiserade samt värdet på
vikten hos förbindelsen. Steget mellan noderna för in- och utdata utgörs ofta av ett så kallat
gömt lager med gömda noder, som inte är synliga för användaren, och därmed också försvårar
för användaren att förstå hur denna redan komplexa process går till, vilket kan göra det svårt
att tolka resultaten och ge en förklaring till varför det blir som det blir, vilket därmed också
kan göra det svårt att motivera ett beslut. Det kan exempelvis bli svårt att motivera avslag på
ett banklån, genom att endast säga att ens neurala nätverk kom fram till detta. Dock är en
styrka med neurala nätverk att det har en förmåga att skapa korrekta förutsägelser på
komplexa problem.
14
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
Viktiga punkter att tänka på vid skapandet av ett effektivt neuralt nätverk
För att få ett så bra neuralt nätverk som möjligt är det viktigt att tänka på hur noderna i
nätverket skall kopplas samman eller när träningen av modellen skall upphöra för att undvika
så kallad överanpassning, vilket innebär att nätverket övertränas och därmed ger skeva
resultat. För att tackla detta problem kan man periodvis testa resultatet på träningsdata.
Första stadiet för ett neuralt nätverk är att skapa en modell för testdata. Målsättningen med
neurala nätverk är som tidigare nämnts att dem skall tränas på en liten del av en datamängd,
och därmed lära sig känna igen önskvärda mönster, för att sedan applicera denna lärdom på en
större datamängd. Det resultat man får av ett neuralt nätverk är en avspegling av den testdata
man använde sig av. Därför är det väldigt viktigt att man väljer rätt data. Testdatan utgörs av
tidigare kända klassificeringar och observationer. Det är viktigt att den testdata man väljer och
som alltså bygger på historisk data, omfattar alla kännetecken som nätverket utgörs av. För att
täcka alla relationer mellan posterna krävs fler testomgångar ju större antal kännetecken
nätverket utgörs av. Som vid all data mining är ett viktigt steg innan användandet av data att
bearbetning av datamängden sker, enligt den princip som tidigare beskrivits i stycket under
KDD processen. För att kunna tolka resultatet från det neurala nätverket är det viktigt att man
förstår vad data i datamängden står för, samt att man har en tydlig bild av de företagsproblem
man vill lösa.
Neurala nätverk kan användas vid mycket stora och komplicerade modeller, men till ett pris
av att dem inte alltid är så lätta att använda och förstå sig på. Neurala nätverk har en hel del
användningsområden, däribland upptäckter av kortbedrägerier. Ett system som är uppbyggt av
neurala nätverk skall kunna förutsäga troliga resultat av ett visst händelseförlopp genom att
nätverket lär sig utkomsten av tidigare resultat som bygger på samma händelse. Nätverket lär
sig alltså känna igen mönster från de tidigare händelserna. Exempelvis kan man med hjälp av
ett neuralt nätverk upptäcka när ett kreditkort används som väldigt mycket avviker från
tidigare köpbeteenden, samt kanske tid och plats, vilket kan vara ett tecken på
kreditkortsbedrägeri.
Bilden på nästa sida beskriver neurala nätverk som är uppbyggda på olika sätt. Indata kommer
från ena hållet som sedan bearbetas och transformeras, och slutligen presenteras som utdata.
15
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
Figur 4. Exempel på ett förenklat neuralt nätverks olika uppbyggnad
4.2.1.3 Kluster
En omfattande databas kan utgöras av ett flertal variabler, vilket kan göra det svårt för en
teknik att hitta betydelsefulla samband och relationer bland datamängden. Ett problem som
kan uppstå när man minar sin data är att verktyget hittar alldeles för många mönster, vilket till
slut inte bidrar med någon relevant information om datamängden. Det är här klustertekniken
kommer in i bilden. Genom att tillämpa denna teknik, som är en av få oriktade data mining
16
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
tekniker, kan man undgå detta problem. Målet med klustertekniken är att bygga en modell där
tidigare okänd data som liknar varandra klustras ihop, det vill säga grupperas samman i en
och samma grupp. Genom att dela in data i olika grupper får man en bättre föreställning om
hur datamängden ser ut. Att dela in tvätt i exempelvis ljus- respektive mörk tvätt är ett enkelt
exempel på hur klustrering kan gå till. Klustrering används ofta som förberedelse till någon
annan typ av data mining modell. Klustrering ger oftats en bra helhetssyn på vad som händer i
databasen och försöker alltså hitta mönster i data som förut var okända. Klustrering gör det
även lättare att se när ett visst data avviker från resterande datamängd. Användningsområden
där man tillämpar klustertekniken är bland annat inom markandssegmentering, där kunder
som har liknande köpbeteende placeras i samma kluster. På så vis kan användaren skapa sig
en bild över exempelvis vilken sorts reklam som passar bäst till vilket kluster.
K-means
Det finns ett flertal algoritmer som används vid användning av klusterteknik. ”K-means” är
den vanligaste av dessa algoritmer och utgörs av flera steg, vilket slutligen leder till att
undergrupperingar skapas av de variabler som liknar varandra. Steg ett i K-means algortitmen
går ut på att välja K datavärden som utgångspunkter, vilka gradvis kommer att byggas ut till
kluster. En efter en placeras samtliga datavärden in i den grupp vars medelvärde ligger
närmast datavärdet. Efter det att alla datavärden delats in i kluster räknas medelvärdespunkten
ut för de nya grupperna. När man hittat dessa nya centrumpunkter börjar proceduren om från
början med att placera varje datavärde i skilda grupper tills det att de inte längre förändras.
(Tan,et al., 2006) Följden av denna typ av teknik är att datavärden som har liknande
egenskaper ingår i samma kluster, vilket i sin tur vidare kan underlätta för resterande data
mining process.
4.2.1.4 Genetiska algoritmer
Genetiska algoritmer försöker efterlikna biologiska processer och kan ses som en artificiell
variant av evolution. Tekniken är en riktad data mining metod och använder sig utav strängar
och datorprogram som förändras över tid, för att finna optimala förutsägelser på ett problem.
Ett krav för genetiska algoritmer är att modellen som används måste vara känd sedan tidigare.
Genetiska algoritmer utvecklar gradvisa generationsgener som med tiden blir alltmer
lämpade. De genetiska algoritmerna använder sig bland annat utav selektion och mutation för
att få fram generationer som är mest förutsägbara . Efter hand att nya generationer har vuxit
fram, kommer endast den generation som är mest förutsägbar att överleva. Målet med den
17
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
genetiska algoritmen är att maximera nyttan av generna i populationen. Algoritmen består av
steg där den först identifierar gener och hur pass lämpliga generna är med hänsyn till
överlevnad och reproduktion. Därefter genereras en inledande generation av gener. Efter detta
steg är det dags för den första generationen att justeras genom att använda sig av selektion,
crossover eller mutation. Den här justeringen av gener skall upprepas så länge lämpligheten
av generationen inte längre kan ändras till det bättre. Genetiska algoritmer används till
skillnad från de andra teknikerna inte för att hitta mönster, utan är snarare en
optimeringsteknik som kan användas inom många områden och komma fram till lösningar på
problem, som oftast är överlägsna andra tekniker. Det genetiska materialet utgörs av siffror
som avgör hur man ska komma till rätta med ett specifikt problem. I det fall då en viss gen
orsakar en sämre lösning till ett specifikt problem, minskar det styrkan av anpassning vilket
bidrar till att den gen som bidrog till detta sorteras bort från datamängden.
4.2.1.5 Minnesbaserat resonemang/ K-nearest neighbour
Vi människor fattar oftast beslut grundade på tidigare erfarenheter då vi står inför en ny
situation. Minnesbaserat resonemang fungerar på ett liknande sätt och är en riktad data mining
teknik som också baseras på erfarenheter. Det hela går ut på att då man stöter på en ny
situation, använder man sig utav information som man identifierar med tidigare liknande fall.
Då metoden utgår från en databas med tidigare kända fall, kan minnesbaserat resonemang
hitta det tidigare fall som är mest likt det nya fallet och agera efter tidigare erfarenheter. Den
gör detta på det vis att den använder sig av så kallade ”grannar” för att klassificera eller
förutspå det nya fallet. Om man liknar fallen med punkter i en flerdimensionell datarymd så är
idén med grannar att fall som är på kort avstånd från varandra, liknar varandra, och är därmed
grannar. Uttrycket k- nearest neighbour kommer lite av att ”vi gör som grannarna gör”.
Grundtanken är att enheter, exempelvis kunder, kommer att agera på ett liknande sätt om de är
av samma typ, vilket alltså innebär att de är placerade på nära avstånd i datarymden. En
fördel med minnesbaserat resonemang är att det inte är beroende av att data måste vara i ett
visst format, vilket oftast är kravet för andra data mining tekniker. Det väsentliga för
minnesbaserat resonemang är endast den så kallade distans- och kombinationsfunktionen.
Det som distansfunktionen gör är att den fördelar en distans mellan fallen medan
kombinationsfunktionen kombinerar resultatet av ”grannarna” för att på så vis komma fram
till ett förenat resultat. För att göra det möjligt att överhuvudtaget klassificera okända
kategorier, är det viktigt att man har en databas som innehåller historiska fall som redan har
18
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
delats in i kategorier. Det minnesbaserade resonemanget söker bland de historiska fallen efter
någon händelse som påminner om den nya nuvarande situationen. När så ett historiskt fall
som påminner om den nya situationen har hittats, kommer det nya fallet att klassificeras efter
samma kategori som det historiska fallet tillhör. För att göra det möjligt att hitta den
motsvarande kategorin måste två steg genomföras. Det första steget innebär att tekniken letar
efter historiska värden i databasen, och det andra steget beskriver på vilket sätt tekniken skall
kunna förstå sig på okända situationer. Vid användning av minnesbaserat resonemang är det
tre saker som måste göras. Till en början måste man välja rätt mängd med historiska fall som
kommer utgöra själva testdatan. Här bör alla tillgängliga fall tas med i beaktande och
modellen bör innehålla lika många fall från varje kategori. En annan viktig detalj är att
bestämma på vilket sätt man vill presentera de historiska fallen. Den sista punkten är att
avgränsa distans- och kombineringsfunktionen, liksom mängden grannar som ett fall skall ha.
Minnesbaserat resonemang fungerar bra vid bland annat förutsägelser för huruvida en kund
svarar på en marknadsföringskampanj eller inte.
Det är viktigt att man förstår sig på de huvudsakliga karaktärsdragen av de algoritmer som
används av data mining verktyget, för att kunna besluta ifall algoritmerna matchar karaktären
av det problem man vill lösa.
5 Utmaningar med data mining
För att lyckas med en effektiv och givande data mining i sin verksamhet är det viktigt att den
data som skall bearbetas har behandlats på rätt sätt. I de fall då det i analysen saknas stora
mängder data eller det i databasen finns felaktig data, liksom ifall det uppstår problem vid
insamling eller lagring av data, skapas moment som försvårar effektiviteten av data mining.
Det är även viktigt att problem är välformulerade. För att organisationen i slutändan ska ha
någon verklig nytta av det som kommer fram under analysen är det viktigt att användaren kan
tolka och förstå resultatet som utvinns. En svårighet med data mining är att ta fram modeller
som är tillräckligt generella. De automatiserade processerna vet inte ifall ett mönster man har
fått fram är generellt eller ifall det enbart är giltigt för den givna datamängden. Vad som är
desto svårare är att hitta modeller som även kan gälla för data som förändras med tiden.
Ytterligare en utmaning med data mining kan vara presentationen och tolkningen av resultatet
man har fått fram under data mining processen.
19
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
6 Diskussion
Data mining erbjuder bra möjligheter att hjälpa verksamheter hitta okända mönster i sin data,
vilket i sin tur kan leda användaren till att förutspå kunders beteenden, liksom hur produkter
bör marknadsföras. Detta kan öka effektiviteten inom ett företag. Dock så är det viktigt att
data mining verktyg tillhandahålls av användare som inte enbart förstår sig på
problemområdet, utan även förstår sig på hur verksamheten fungerar, vilken typ av data man
jobbar med samt karaktärsdragen av analysverktygen som används. Realistiska förväntningar
kan ge givande resultat över flera områden, alltifrån förbättrade intäkter, till minskade
kostnader. Traditionellt sett har majoriteten av företag som har använt sig av data mining varit
företag som vill förbättra sin kundrelation, marknadsföring eller för att upptäcka bedrägerier.
Att bygga modeller som letar efter okända mönster är endast ett steg i kunskapsutvinnandet.
Det är av yttersta vikt att man samlar in ordentlig data och förbereder denna för analys, samt
att man stämmer av modellerna mot hur den verkliga världen verkligen ser ut. Den bästa
modellen uppkommer oftast efter att man har byggt flera olika typer av modeller, eller genom
att man prövar olika tekniker och algoritmer, för att komma fram till vilken modell som bäst
passar det problemområde man handskas med. Utveckling av data mining tekniker pågår hela
tiden och fler användningsområden upptäcks. Arbetet med det här projektet har varit väldigt
givande. Jag gick in med en begränsad kunskap om vad data mining egentligen innebar, men
när jag väl började gräva i området, fann jag mer och mer information om ämnet och insåg då
att data mining redan är ett större område, som appliceras på fler områden, än vad jag hade
trott. En intressant aspekt av data mining som jag dock inte berör i detta fördjupningsarbete är
hur den personliga integriteten ska skyddas när alltfler företag använder sig av data mining
utan kundernas vetskap. I litteraturen presenteras det inte mycket kring denna fråga trots att
den personliga integriteten med hänsyn till ett utvecklat datorsamhälle, allt oftare är ett
debatterat ämne. Utifrån den litteratur jag tagit del av i ämnet, skapar jag mig uppfattningen
att data mining är bra och enkelt att använda, och visst finns det potential för data mining
inom områden som kan ge verksamheter konkurrensfördelar. Dock är det viktigt att man har
respekt för och förstår den komplicerade teknik som står till grund för det komplicerade data
mining arbetet. Att skaffa data från ett flertal databaser beskrivs enbart med någon enstaka
mening i litteraturen, men verkligheten är långt ifrån så enkel. Om data som skall analyseras
inte är strukturerad i ett data warehouse, är det en väldigt lång process som först måste
avklaras och struktureras upp innan det riktiga data mining arbetet kan börja.
20
Artificiell intelligens II
729G11
Karolina Franc
840515-4009
Referenser
Böcker
Berry, M.J.A. & Linoff, G. (1997), Data mining Techniques: For Marketing, Sales and
Customer Support, New York, John Wiley & Sons, Inc.
Berry, M.J.A. & Linoff, G. (2000), Mastering Data mining, New York, John Wiley & Sons,
Inc.
Berry, M.W. (2006), Lecture Notes in Data Mining, Hackensack, NJ , World Scientific
Bertino, E, et al., (2001,) Intelligent database system, Addison-Wesley/Longman
Tan, P-N, et al., (2006), Introduction to data mining, Pearson Addison Wesley
Artiklar
Fayyad, et al., (1996), Data mining and Knowledge Discovery: Making Sense Out of Data,
American Association for Artificial Intelligence
Elektroniska källor
Introduction to Data mining and Knowledge Discovery, third edition, Two Crows
Corporation
http://www.twocrows.com/intro-dm.pdf
Hämtad den 25 sep 2010
Marcel Holshemier and Arno Siebes (1994)
http://www.executionmih.com/data-mining/what-is-kdd.php
Hämtad den 25 sep 2010
21