data mining och dess bakomliggande metoder en fördjupning...
TRANSCRIPT
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Data Mining och dess bakomliggande metoder
- En fördjupning med fokus på metoderna bagging och boosting
inom ensemble learning
Linköpings universitet HT 18
Artificiell Intelligens 729G43
Katarina Iversen
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Abstract
This essay concerns Data Mining, Knowledge Discovery in Databases and a
selection of the underlying methods. The methods include decision trees, Artificial Neural
Networks (ANN), Ensemble Learning, clusters and Support Vector Machines (SVM). In
addition to the methods the application areas where Data Mining can be used will be
discussed. As well as the ethical aspects of Data Mining.
The essay focuses on the methods Bagging and Boosting that fall under the
larger method Ensemble Learning. Bagging and boosting uses different strategies to combine
the models. The algorithms Adaboosting and Random forest-algorithm will be explained.
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Innehållsförteckning
1. Introduktion .......................................................................................................................... 1
1.1 Syfte .................................................................................................................................. 1
1.2 Avgränsningar .................................................................................................................. 1
2. Bakgrund ............................................................................................................................... 2
3. Knowledge Discovery in Databases .................................................................................... 3
4. Data mining ........................................................................................................................... 5
5. Metoder ................................................................................................................................. 6
5.1. Beslutsträd ....................................................................................................................... 6
5.1.1 ID3 – algoritm ........................................................................................................... 7
5.1.2 C4.5 – algoritm .......................................................................................................... 7
5.2 Artificiella Neurala Nätverk (ANN) ................................................................................. 7
5.3 Ensemble learning ............................................................................................................ 9
5.3.1 Bagging och Radsom forest-algoritmen .................................................................. 13
5.3.2 Boosting och AdaBoosting ...................................................................................... 14
5.4 Kluster ............................................................................................................................ 16
5..4.1 K – Means .............................................................................................................. 17
5.5 Support vector machines (SVM) ..................................................................................... 17
6. Användningsområden ........................................................................................................ 19
7. Diskussion............................................................................................................................ 18
8. Slutsats ................................................................................................................................. 19
9. Referenser ........................................................................................................................... 20
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
1. Introduktion I sin bok Data Mining: Practical Machine Learning Tools and Techniques beskriver Witten,
Frank, Hall och Pal (Witten, Frank, Hall, & Pal, 2017) data mining med orden “Data mining
is the extraction of implicit, previously unknown, and potentially useful information from
data”. Genom att genomsöka stora mängder av data efter mönster kan förutsägelser kring
framtida data göras, detta till skillnad från dataanalys vars uppgift inte inkluderar att förutsäga
framtida data (Witten, Frank, Hall, & Pal, 2017).
Som grund för att data mining skall kunna genomföras krävs det bland annat
maskininlärning då man med maskininlärning som hjälpmedel kan identifiera och utvinna
information från stora datamängder (Witten, Frank, Hall, & Pal, 2017). Detta för att sedan,
med hjälp av de verktyg som finns till hands, kunna identifierad de mönster och strukturer
som den utvunna datan uppvisar (Witten, Frank, Hall, & Pal, 2017). Mer specifikt sker
mönster- och strukturigenkänningen med hjälp av bland annat beslutsträd, artificiella neurala
nätverk, ensemble learning, kluster och support vecor machines, vilka kommer att lyftas mer
ingående senare i texten.
Data mining är en del av så kallad Knowledge Discovery in Databases (KDD) som den
analyserande delen. Data miningen är då som tidigare nämnt inte enbart en analyserande
faktor utan genomför en form av analys där även framtiden tas i beaktning (Fayyad,
Piatetsky-Shapiro, & Smyth, 1996). Användningsområdena för data mining och KDD är
många och kommer även dom att lyftas mer ingående senare i texten.
Ensemble learning är en metod som används genom att det kombinerade outputet av ett
flertal modeller få ut förutsägningar om hur framtida data kommer att se ut. bagging och
boosting är exempel på två strategier som används för att åstadkomma detta.
1.1 Syfte
Syftet med denna djupdykning i data mining och dess omkringliggande metoder med fokus på
bagging och boosting inom ensemble learning för att få en förståelse för hur data mining
byggs upp, hur metoderna bidrar till data miningprocessen samt hur data mining kan
användas.
1.2 Avgränsningar
I denna text kommer det att ske ett antal avgränsningar, detta beroende av tid och omfång.
Knowledge Discovery in Databases kommer att avgränsas till övergripande beskrivningar för
att läsaren skall få en bild av den process KDD är, och vilken roll data mining spelar i den
processen. Utöver angränsningen av KDD kommer en avgränsning ske kring de metoder som
används inom data mining i bemärkelsen att fokus kommer att ligga på ensamble learning.
Anledningen bakom detta är alla de metoder som kan användas inom data mining inte
kommer att tas upp, utan enbart ett urval. En djupdyknng kommer enbart att ske inom
ensemble learning, och inom denna metod kommer fokus att ligga på bagging och boosting.
1
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
2. Bakgrund Med syftet att förstå data mining och dess användningsområden krävs en grundläggande
förståelse för hur data miningens bakgrund.
De metoder som ligger till grund för data mining har sitt ursprung redan i 1700-talet i och
med Baye´s theorem och 1800-talets regressionsanalyser. När 1900-talet och den utveckling
hos tekniken århundradet medförde kom ytterligare vitala aspekter av data mining att göra
entré. Dessa innefattade bland annat datatekniken och möjligheten att samla och lagra data.
Utvecklingen under 1900-talet fortskred och medförde ytterligare metoder vilka är
grundpelare för data miningens utveckling. Bland annat inkluderade dessa metoder genetiska
algoritmer, neurala nätverk, beslutsträd och support vector machines (Li, n.d.).
Utöver de metoder som utvecklats inom datavetenskapen som bär data miningen ligger
statistik och maskininlärning som grund (Kantardzic, 2011). Statistik då data mining till stor
del bygger på de matematiska grunder som statistiken och maskininlärningen bygger på. Inom
statistiken i meningen att vetenskapen främst bygger på metoder där det teoretiska bekräftas
innan det testas. Utöver statistik bygger data mining till stor del på maskininlärning. Data
miningens grund i just maskininlärning kommer sig genom metoden som, till skillnad från
matematiken, testar sig fram och är mer praktisk än matematiken då maskininlärningen främst
grundas i datavetenskapen (Kantardzic, 2011).
Data mining anses, traditionellt sett, vara en sekundär analysform där rådatan som använts
ursprungligen samlades in för att användas i ett annat syfte än att analysera strukturer och
mönster (Hand D. J., 2007). I sin artikel Principles of Data Mining lyfter Hand ett exempel på
hur data till data mining traditionellt sett fått tillgång till rådata ”For example, in supermarket
data, the information is collected to work out the bill the customer is charged. That stored data
can then subsequently be submitted to analysis” (Hand D. J., 2007). I mer nutida sammanhang
samlas data i det specifika syftet att analyseras för att hitta mönster och samband (Hand D. J.,
2007).
2
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
3. Knowledge Discovery in Databases I och med dagens informationssamhälle har människor behövt hitta nya mer effektiva sätt att
extrahera kunskap ur all den information som finns tillgänglig. Det är i och med detta behov
Knowledge Diskovery in Databases även kallad KDD kommer in. KDD är ett fält som jobbar
i samverkan med en mängd metoder och teoretiska grunder för att hitta kunskap i
informationsmängden. Däribland data mining, KDD strävar även efter att utveckla nya former
av metoder som kan extrahera kunskap ur stora informationsmängder (Fayyad, Piatetsky-
Shapiro, & Smyth, 1996).
Termen knowledge discovery in databases myntades under 1980-talet, som namnet
påvisar är den slutprodukt KDD eftersträvar, kunskap. En mängd andra namn har tidigare
används för att beskriva processen. Däribland data extraction och data mining som numera är
en egen subfas i KDD. Som Fayyad, Piatetsky-Shapiro och Smyth uttrycker det i sin artikel
From Data Mining to Knowledge Discovery in Databases (Hand, Mannila, & Smyth, 2001).
”In our view KDD refers to the overall process of discovering useful knowledge from data
while data mining refers to a particular step in this process. Data mining is the application of
specific algorithms for extracting patterns from data.” (Fayyad, Piatetsky-Shapiro, & Smyth,
1996).
Traditionellt sett har kunskap utvunnits manuellt ur information, exempelvis inom
sjukvården där specialister gått igenom nyvunna data manuellt för att på så sett kunna
detektera nya trender. I dagen läge är denna form av informationsbearbetning för att utvinna
kunskap om ett ämne opraktiskt då informationsmängden gör processen kostsam, ineffektiv
och även subjektiv (Fayyad, Piatetsky-Shapiro, & Smyth, 1996). Ökningen hos informationen
som behöver hanteras beror huvudsakligen på två faktorer, antalet objekt som kan registreras
men även antalet aspekter som kan kopplas till varje objekt (Fayyad, Piatetsky-Shapiro, &
Smyth, 1996).
KDD-processen inkluderar jämfört med data mining ett antal omkringliggande processer.
Dessa inkluderar bland annat insamlingen av data samt sammankopplingen mellan tidigare
kunskap med den nya kunskap som tagits fram. Appliceringen av enbart data mining kan leda
till felaktiga antaganden kring mönster som uppkommit. Detta då sammanhanget kring den
data som bearbetats är nödvändig att ta hänsyn till för att kunna göra korrekta uttalanden
kring de mönster som uppkommit. KDD har som fokus att ta hela processsen i beaktning och
detta inkluderar utöver de tidigare nämnda aspekterna även att hantera exempelvis förvaring
av data (Fayyad, Piatetsky-Shapiro, & Smyth, 1996).
Knowledge discovery in databases består av ett flertal vetenskaper och teorier,
maskininlärning, mönsterigenkänning, statistik, datavisualisering och AI bland annat. Data
miningen i sig består, som tidigare nämnt främst av maskininlärning, statistik och
mönsterigenkänning. Processen som helhet anses därför vara en tvärvetenskaplig sådan
(Fayyad, Piatetsky-Shapiro, & Smyth, 1996).
3
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Fig 2. Modell över de steg som tillsammans bygger KDD (Fayyad, Piatetsky-Shapiro, & Smyth, 1996)
4
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
4. Data mining Som i introduktionen nämnt bygger data mining på att i stora mängder data detektera mönster
och strukturer som gör att förutsägningar om framtiden kan göras (Kantardzic, 2011). Data
mining som specifik process genomförs med hjälp av en mängd olika verktyg och tekniker
som alla bearbetar individuella aspekter av den data som skall analyseras (Kantardzic, 2011).
Hur de olika teknikerna används baseras på väl planerade processer vilka baseras på vilken
typ av data som skall analyseras, samt vilken teknik som baserat på just den datan ger de bästa
resultaten.
Fig 1. Modell av data mining (Witten, Frank, Hall, & Pal, 2017)
För att implementera data mining följes ett antal steg för att göra detta på ett korrekt sätt.
Till att börja med krävs en förståelse för syftet man ämnar använda data miningen i. Detta
representeras i figuren ovan genom Buisness understanding, om datan som finns tillgänglig i
detta stadie inte är tillräcklig krävs det att rådatadatamängden antingen kompletteras eller att
en ny datamängd samlas in. Denna utvärdering sker i Data understanding (Witten, Frank,
Hall, & Pal, 2017).
Processen fortsätter sedan med Data preparation, i denna fas kommer rådatan att
förbehandlas så att maskininlärningsalgoritmerna kan bearbeta och modellera datan (Witten,
Frank, Hall, & Pal, 2017). I och med att modellering av data i många fall är en central del av
förbehandling av datan anses data preparation och modeling vara tätt sammanknutna under
processens gång. Modelleringen visar även hur förbehandlingen har påverkat hur datan sedan
presenteras (Witten, Frank, Hall, & Pal, 2017).
Efter att förberedande processer och modellering av data har genomförts kommer vad
Witten, Frank, Hall och Pal (Witten, Frank, Hall, & Pal, 2017) menar är det viktigaste steget i
den process data mining är. Nämligen Evaluation eller utvärdering. Under utvärderingsfasen
kommer de resultat som de tidigare faserna gett att analyseras och därigenom även visa på hur
modellerna förhåller sig till datan, processen och hur modellerna kan användas i framtiden.
5
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Om de strukturer som uppenbarat sig i datan kan användas för att förutsäga framtida mönster
eller om de resultat processen gett enbart baseras på slumpmässiga samband som inte kan ge
den information som krävs för att förutsäga framtida förhållanden (Witten, Frank, Hall, & Pal,
2017).
Om processen i den sista fasen, alltså utvärderingsfasen, ger ett resultat som inte
överensstämmer med det som eftersöktes är det sannolikt att det första steget i processen
kommer att behöva återbesökas. Detta för att återigen se vad syftet med undersökningen är,
samt att avgöra om det krävs andra typer av rådata för att den information som eftersökes
skall hittas och kunna brukas (Witten, Frank, Hall, & Pal, 2017).
Den ovan beskrivna processen är det övergripande sättet att implementera data
mining i ett projekt.
5. Metoder Som tidigare nämnt ligger flertalet datavetenskapliga metoder bakom den process data mining
är. Bland annat innefattas metoderna beslutsträd, artificiella neurala nätverk, ensemble
learning, kluster och suppor vector machines (Kantardzic, 2011).
5.1. Beslutsträd
Beslutsträd kan implementeras på data mining då man med hjälp av algoritmer skapar
beslutsträd för olika former av input och output. I samband med att input och output
kategoriseras kommer beslutsträden att skapa så kallade klassificerare. En klassificerare
representerar en klass i vilken data efter att denna blivit analyserad kan bli kategoriserad in i
(Kantardzic, 2011). Själva beslutsträdet består av en mängd noder vilka innehåller beslut, vid
varje nod finns det olika vägar att gå. Vilka vägar som finns att välja på bygger på
testfunktioner. Beslutsträdens konstruktion bygger på en hierarkisk sådan där upprepade
delningar av noder leder till ett resultat (Kantardzic, 2011).
Metoden som ett beslutsträd i fallet att det är ett standard beslutsträdsinlärningssystem
följer är en så kallad top-down strategi. Denna strategi kommer att söka efter lösningar genom
att följa beslutsträdet i en del av den tillgängliga sökrymden. Konsekvensen av detta blir att
enkla lösningar kommer att hittas till varje träd, men då strategin inte utnyttjar hela
sökrymden, inte dom enklaste lösningarna nödvändigtvis. Beslutsträd bygger som tidigare
nämnt på noder. Dessa noder innehåller in sin tur ett beslut baserat på olika attribut som
testas. Trädets grenar bygger på de möjliga utfall som attributen ger (Kantardzic, 2011).
För att exemplifiera hur klassificering kan ske med hjälp av beslutsträd kommer ett
exempel ur Kantardzics bok Data mining Concepts, Models, Methods and Algorithms
(Kantardzic, 2011) lyftas.
6
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Fig 3. Attributen X och Y placerade i ett beslutsträd (KÄLLA)
I modellen ovan visas ett beslutsträd vars attribut inkluderar X och Y. Huruvida ett värde
tillhör klass 1 eller klass 2 avgörs av de attribut som värdet baseras på. Värden som har X < 1
tillhör, som visas i beslutsträdet ovan, direkt klass 1. Medans värden för att tillhöra klass 2
måste ha X > 1, samt Y = B eller Y = C. Oavsett kommer X < 1 alltid att tillhöra klass 1
(Kantardzic, 2011).
5.1.1 ID3 – algoritm
De algoritmer som ligger bakom beslutsträd är bland annat ID3 och C4.5 (Kantardzic,
2011). ID3 är en algoritm som baseras på att den träningsdata som finns tillgänglig ligger vid
en rotnod, rotnoden kommer sedan att förgrenas baserat på det attribut som algoritmen med
hjälp av träningsdatan anser mest lämpligt. Värden som kopplas till de attribut som delar
noderna kommer att följa förgreningen. Slutligen kommer förgreningen att upphöra om alla
värden tillhör en klass (Kantardzic, 2011).
5.1.2 C4.5 – algoritm
C4.5 är en algoritm som har sitt ursprung i Hunt´s concept learning system (Kantardzic,
2011). Grunden i de både Hunt´s concept learning system och C4.5 är att de båda bygger
beslutsträd baserar tidigare träningsexempel. Även denna algoritm kommer att dela attributen
utefter vad som tidigare visat sig vara mest effektivt. C4.5 algoritmen har sin grund i ID3
algoritmen (Kantardzic, 2011).
5.2 Artificiella Neurala Nätverk (ANN)
Artificiella Neurala Nätverk (ANN) har sitt ursprung i viljan att med hjälp av artificiella
metoder konstruera nätverk vilka liknar de nätverk som finns i den mänskliga hjärnan
(Kantardzic, 2011).
7
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Den mänskliga hjärnan består av så kallade neuroner och kopplingar dessemellan. I ANN
bygger man med hjälp av artificiella neuroner samt kopplingar mellan
dessa ett nätverk som kan bearbeta information på ett sätt vilket är snarlikt det sätt mänsklig
informationsbearbetning fungerar på (Kantardzic, 2011).
Ett artificiellt neuron byggs upp genom tre huvudsakliga komponenter input, (1) vilka
representeras genom vektorer med vikter som går mot ett neuron, (2) en additionsprocess där
vikten hos de input som kommit till neuronet summeras, och slutligen (3) en
aktiveringsfunktion som avgör vilken output neuronet ger. De olika stegen är representerade i
modellen nedan.
Fig 4. Modell över artificiellt neuron (Kantardzic, 2011)
Konstruktionen bakom ANN bygger på lager. Dessa lager består av noder som får input
och skickar ut output. I ett ANN där ett neuron får en input från föregående lager och skickar
output till nästkommande lager utan att återkoppling sker direkt till noden kallas (1)
feedforward. I ett feedforwardnätverk existerar det inga direkta kopplingar mellan noder i
samma lager Ett ANN där det istället sker loopar och återkoppling mellan noder i samma
lager kallas i stället (2) recurrent. ANN av typen feedforward är den mest frekvent använda
strukturen som används i nuläget (Kantardzic, 2011).
8
1. 2. 3.
1. 2.
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Fig 5. Modeller över feedforward respektive recurrent artificiella neurala nätverk (Kantardzic, 2011)
ANN har kapaciteten att lära sig saker, lärandeprocessen sker med hjälp av data från den
omkringliggande världen (Kantardzic, 2011). I och med detta har ANN kapaciteten att baserat
på den data nätverket får ta del av som är samlat från dess omvärld skapa en bild av det
sammanhang nätverket existerar i (Kantardzic, 2011). Inlärningsprocessen i nätverket sker
genom att nätverket i samband med att den möter data från omvärlden justerar de vikter som
kopplar samman de artificiella neuronen (Kantardzic, 2011).
5.3 Ensemble learning
Strukturen bakom ensemble learning består av att ett flertal inlärningsmodeller kombineras
genom en metod. De enskilda modellerna kommer att bearbeta data individuellt och efter det
kommer den output modellerna har genererat att kombineras (se figur 6). Kombinationen av
de olika outputen sker för att fastställa en gemensam output med så hög korrekthet som
möjligt, och enligt Opitz och Maclin har ensamble learning baserat på klassificerare även
visat sig vara mer korrekt än en ensam klassificerare (Opitz & Maclin). I och med
sammanslagningen av både maskininlärnig och av dom outputs som sammanslagningen
genererar kan modellerna liknas med en form av kommitté, det är även till följd av detta
kommittéliknande tillvägagångssätt är benämningen committee machines synonymt med
ensambe learning (Brown, 2010).
Ensemble learning som metod kan antingen använda en mängd olika typer av metoder för
att få fram prediktorer, alltså förutsägelser angående kommande utfall, så som beslutsträd och
Support Vector Machines. Alternativt används en samling av samma metod, men att de då har
individuella skillnader. Exempel på metoder där de modeller som används är av samma typ,
men där metoderna skiljer sig åt är bagging och boosting, det är alltså genom dom algoritmer
som dessa två metoder använder som modellerna kombineras (Brown, 2010).
Fig 6. Modell över ensemble learning
9
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
5.3.1 Bagging och Radsom forest-algoritmen
Bootstrap aggregation, förkortat bagging, baseras på att ett flertal klassificerare av samma typ
tränas på delar av en datamängd. Outputen som klassificerarna genererar kommer sedan att
kombineras genom en model averaging teknik. Model averaging är ett statistiskt verktyg som
används för att kunna kvantifiera osäkerheter i modeller, samt för att kunna förbättra en
ensemblemetods förmåga att förutspå data (Clyde, 2003).
Orsaken bakom valet att använda model averaging vid bagging som ensemblemetod är för
att undvika overfitting, alltså när en modell är för tränad på ett dataset vilket leder till
problematik när modellen ska användas på tidigare osedda data. Detta då modellen kommer
att generera låga träningsfel vid tidigare sedda data, men höga träningsfel när den appliceras
på tidigare osedda data (Brown, 2010).
Som tidigare nämnt kan bagging även benämnas bootstrap aggregation, bootstrap är en
statistisk teknik som baseras på att ett randomiserat urval av datamängden väljs ut till var
submodell i ensemblen. Modellerna som ingår i ensemblen kommer sedan att tränas på den
randomiserat utvalda datamängden. Konsekvensen av detta är att alla modellerna inte har
tränats på alla delat av datamängden, vilket kommer att minska risken för overfitting, då det
finns delar av datan som modellen inte har tränats på (Brown, 2010).
För att exemplifiera hur en klassificering av data med hjälp av beslutsträd som modeller i
en ensemble kan se ut;
Till en början finns det fullständiga datasetet
Klassificeringar av datasetet kommer sedan ske individuellt hos de beslutsträd som finns i
ensemblen, i följande exempel består ensamblen av 5 träd (Ihler, 2012).
10
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Slutligen kommer ett medelvärde av datan indentifieras för outputen från de fem träden
genom en majority vote vilket genererar följande träd (Ihler, 2012). En majority vote sker
sedan, vilket innebär att hänsyn tas till den output som majoriteten av träden genererat
(Polikar, 2009).
Om ensemblen i stället består av 25 eller 100 träd skulle outputen se ut på följande vis.
Random forest-algoritmen är en algoritm som bygger vidare på bagging-konceptet och är
beslutsträdsbaserad. Algoritmen kan användas dels vid klassificering, men även regression.
Grunden till algoritmen ligger i att en mängd beslutsträd förs samman till en ensemble. Var
beslutsträd kommer att bero av en mängd randomiserade variabler. I och med att
beslutsträdens tillgängliga datamängd är begränsad, kommer träden som skapas att skilja sig
åt. Vad detta leder till är att alla beslutsträd kommer att se olika ut. Det innebär att var träds
bästa feature kommer att variera till följd av just det trädets datamängd. Den genomsnittliga
outputen kommer sedan att identifieras med hjälp av en majority vote (Cutler, Cutler, &
Stevens, 2012).
5.3.2 Boosting och AdaBoosting
Ytterligare en ensemble-metod som kan användas för att kombinera ett flertal modeller är
boosting. Principen bakom boosting är att flera svagare modeller, alltså modeller som i sig är
relativt svaga i att exempelvis klassificera data, kombineras. Kombinationen resulterar då i en
komplex modell som bättre klarar av att förutsäga data.
Adaptive boosting, förkortat AdaBoosting är en algoritm som används för att
implementera boosting. Algoritmen intrucerades år 1995 av Yoav Freund och Robert E.
Schapire (Freund & Schapire, 1999).
11
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Inom boosting tränas de modeller som bygger upp en ensemble sekventiellt. Vad detta
innebär är att inledningsvis tränas en modell, för att sedan identifiera vilka träningsfel den
modellen fick. Nästkommande modell kommer att tränas på att korrigera just dom
träningsfelen som den föregående modellen fick. Den nästkommande modellen kommer att
korrigeras genom att vikterna mellan datan som blev fel och modellen justeras. Efter att alla
modeller har tränats kommer outputen från samtliga modeller att kombineras. I och med att
det är ett flertal modeller som kombineras kommer de, trots att de i sig är relativt svaga i att
exempelvis klassificera data, skapa en komplex klassificerare (Freund & Schapire, 1999).
Nedan följer ett exempel på hur klassificering med hjälp av boosting fungerar.
Inledningsvis finns ett dataset, en av klassificerarna i ensemblen kommer att klassificera
minus och plustecknen i ett blått respektive rött fält. Vikterna till de plus och minustecken
som hamnade inom fel område kommer då att ökas, för att nästkommande klassificerare skall
klassificera dessa korrekt. Vid nästa klassificering blir minustecken som bör vara i det blåa
fältet istället placerade i det röda. Ytterligare en gång justeras vikterna och den sista
klassificeraren kommer att placera alla tecken utom ett plustecken i det blåa fältet (Ihler,
2012).
Vad som sedan sker är att vikterna för varje klassificerare (.33, .57 och .42) adderas, och
baserat på huruvida summan är positiv eller negativ kan +1 eller -1 förutspås. Detta gäller för
en-nodiga beslutsträd (Ihler, 2012).
Vad som sedan sker är att vikterna för varje klassificerare (.33, .57 och .42) adderas, och
baserat på huruvida summan är positiv eller negativ kan +1 eller -1 förutspås. Detta gäller för
en-nodiga beslutsträd.
12
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Slutligen kombineras resultatet från de olika klassificerarna vilket resulterar i en klassificering
av plus och minustecknerna som var mer komplex än någon av de enskilda klassificerarna i
sig (Ihler, 2012).
5.4 Kluster
Genom att sortera data i kluster kommer datan att representeras på ett simplifierat sätt som
lättare visar vilken kategori en data tillhör. Sorteringen i kluster baseras på ett objekts
egenskaper, genom sortering av data till större mer övergripande kluster medför en minskad
specificering, men gör i stället datan lättare förstå (Kantardzic, 2011).
Klusterprocessen baseras på att objekt med liknande egenskaper kategoriseras och då kan
placeras tillsammans. Detta sker med hjälp av bland annat klusteralgoritmer. Däribland k-
means. Behovet att använda kluster under data miningprocesser uppstår då de datamängder
som bearbetas i samband med data miningen ofta innehåller en stor mängd objekt, med
många egenskaper. Denna informationsmängd leder lätt till att det är svårt att hitta relevanta
mönster i datan (Kantardzic, 2011). Genom att då applicera klusteralgoritmer kommer
mönster i datan lättare att framträda, samt att det blir lättare att tolka de mönster som framträtt
(Kantardzic, 2011).
Fig 7. Visuell representation av data som delats in i kluster
13
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
5..4.1 K – Means
K – Means är en algoritm som frekvent förekommer inom kluster, det är en algoritm som
kategoriserar data i kluster baserat på hur många kluster användaren önskar. Till en början
kommer algoritmen att välja ut ett antal så kallade centroids vilka blir utgångspunkter för att
hitta kluster. Efter att detta har gjorts kommer algoritmen antingen att 1. Fördela datan baserat
på närhet till de centroids som tagits fram, för att på så sätt dela datan eller 2. Så kommer
klusterrepresentationen att flyttas baserat på baserat på fördelningen av resterande data.
Kluster kommer sedan skapas baserat på de delningar som uppkommer. I ett fall där
sannolikheter är inkluderat kommer även dessa att spela en roll i hur fördelningen ser ut (Wu,
o.a., 2008).
5.5 Support vector machines (SVM)
Support vector machines (SVM) är en form av inlärningsmetod vars syfte är att generera
funktioner som behandlar input-/output-data. Exempelvis kan SVM generera funktioner som
kategoriserar input-data genom en klassificeringsfunktion, SVM har även kapaciteten att
generera regressionsfunktioner. Inlärningen som gör att SVP har kapaciteten att kategorisera
inputdata sker med hjälp av träningsdata vilken är märkt. Inom data mining används SVM i
stor utsträckning (Wang, 2005). Uppbyggnaden av SVM baseras till stor del av geometri, definitionen av en bra funktion
inom SVM baseras på vilken funktion som stöttar de geometriska aspekterna av en
datamängd, med detta menas exempelvis att när en SVM körs på en datamängd vars data
inkluderas i två olika klasser kommer SVM hitta det geometriska hyperplane som skiljer de
två klasserna åt. SVM påvisar det hyperplane som finns genom att med hjälp av en funktion
som SVM genererar (Wu, o.a., 2008).
Då det finns en mängd olika hyperplanes inom en datamängd kommer SVM att mäta de
avstånd som hyperplanen utgör. Det avstånd som mätes störst kommer även att bli det
hyperplane som avgör var delningen mellan datamängderna skall gå. Anledningen bakom
detta är att SVM genom att hitta det hyperplane vars avstånd är störst då även kommer att
hitta det läge som kommer att ge den bästa generaliseringen. Utöver det medför även
hyperplanet med störst avstånd den bästa utgångspunkten för att framtida data skall
klassificeras på ett korrekt sätt (Wu, o.a., 2008).
Fig 8. Modell över hur datamängder delas upp med hjälp av SVM (Sanjeevi, 2017)
14
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Avståndet mellan de två svarta sträcken på figuren ovan visar avståndet mellan dom två
datamängderna och den gulsträckade linjen visar det optimala hyperplanet.
15
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
6. Användningsområden En utav de första aspekterna som måste tas hänsyn till innan data mining brukas inom
områden som berör människor är den etiska (Witten, Frank, Hall, & Pal, 2017). När det
kommer till exempelvis medicinska data mining kan information så som kön vara aktuellt att
ha med. Om data miningens syfte i stället berör huruvida ett lån kan ges eller ej kommer
aspekter så som kön eller religion inte att kunna tas i beaktning utan att det etiskt inte är
försvarbart. I och med detta kommer faktorer som påverkar den etiska aspekten av data
mining att behandlas med omsorg (Witten, Frank, Hall, & Pal, 2017).
Vidare finns en mängd användningsområden för data mining däribland upptäckten av
datavirus. I studien Data Mining Methods for Detection of New Malicious Executables
genomförd av Schultz, Eskin, Zadok & Stolfo (Schultz, Eskin, Stolfo, & Zadok, 2001)
beskriver de hur de genom att använda data mining för att kunna detektera nya illvilliga virus
utan att tidigare ha stött på dessa. Tidigare metoder som inte bygger på data mining baseras i
stor utsträckning på heuristiker vilka är skrivna för hand (Schultz, Eskin, Stolfo, & Zadok,
2001) det innebär att de ofta har en större kostnad och är mindre effektiva än de
antivirusprogram som bygger på data mining (Schultz, Eskin, Stolfo, & Zadok, 2001).
Utöver antivirusprogram kan data mining användas till vad Witten, Frank, Hall och Pal
kallar Web Mining. Web Mining hittas ibland annat sökmotorer vilka kommer att söka bland
det innehåll som finns på webben. Utöver websökningar kan data mining återfinnas i
processen där det material som föreslås för användaren tas fram. Genom att upptäcka mönster
i användarens tidigare sökningar kan förslag kring användarens framtida sökningar ges
(Witten, Frank, Hall, & Pal, 2017).
En annan domän där data mining och utnyttjas är hos banker och låntagning. Genom att
kunden som söker ett lån fyller i ett formulär med frågor som berör de faktorer bankerna
måste veta för att kunna ge ett lån. Sedan kan man med hjälp av maskininlärning och data
mining avgöra huruvida individen bör få ta ut ett lån eller ej. Som tidigare nämnt bör man här
ta etiska aspekter i beaktning när man tar in personlig information från kunderna (Witten,
Frank, Hall, & Pal, 2017).
Hur belastning i olika områden så som exempelvis elektricitet utnyttjar även det data
mining. Genom att baserat på historiska data kring hur efterfrågan ser ut kan elföretag, med
hjälp av data mining, förutspå hur elproduktionen kommer att se ut i framtiden. Exempelvis
kommer en jul innebära en ökad elanvändning, men även väderförhållanden. Genom
användningen av data mining kommer företagen på ett sätt som är mer kostnadseffektivt att
kunna ta in flera parametrar för att kunna avgöra hur planeringen för framtida elproduktion
skall se ut (Witten, Frank, Hall, & Pal, 2017).
Data mining kan även återfinnas i marknadsföring och försäljning, bland annat då det
inom denna domän finns stora mängder data som kan användas. Ett mer specifikt
användningsområde för data miningen är att detektera vilka kunder som är på väg att lämna
den tjänst ett företag erbjuder. Genom att upptäcka dessa kunder kommer företaget att kunna
vidta åtgärder för att behålla kunden. Exempelvis genom erbjudanden eller liknande.
16
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
Data mining kan även upptäcka vilken målgrupp en produkt lämpar sig för och på så sätt
underlätta marknadsföringen som bör användas för produkten (Witten, Frank, Hall, & Pal,
2017). Utöver detta kan data mining relaterat till marknadsföring användas på ett liknande sätt
som den hos web mining där man genom att titta på en individs tidigare sökningar eller i detta
fall köp kan ge förslag på framtida köp.
Användningen av ensemble learning inom data mining är av stor betydelse då ett av data
miningens syften är att förutsäga framtida förhållanden. Genom att bruka ensemble learning
kommer förutsägningen vila på starkare statistiska argument än om enbart en ensam metod
hade använts (Polikar, 2009). Även datamängdens storlek kommer att gynna ensemble
learning. En datamängd som hade varit för stor för en ensam metod kommer genom att de
olika metoderna kan bearbeta olika aspekter av datan för att sedan kunna ge ett resultat som
tar hänsyn till alla de aspekterna. I kontrast kan en datamängd som i andra fall hade ansetts
vara för liten för att kunna bearbetas analyserad genom att ge mindre slumpmässiga exempel
av datan till olika metoder inom ensemble learning. Genom denna metod kommer datan
kunna bearbetas som om det låg till grund för en större datamängd än den som finna att tillgå
(Polikar, 2009).
Exempelvis har AdaBoost används för kartläggning av landmassor. Genom att
inledningsvis låta en mängd klassificerare bearbeta satellitbilder för att sedan kombinera
resultaten genom AdaBoost-metoden. Resultatet som produceras kommer då ha större
precision än vad en enskild klassificerare kunnat producera (Mozos, Stachniss, Rottmann, &
Burgard, 2007).
17
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
7. Diskussion Användningsområdena för data mining har ett brett spann data mining är av stort värde när
kunskap eftersökes inom olika områden. Detta medför att data mining och KDD är områden
av intresse när det kommer till att fortsätta utvecklingen och forskningen kring data mining. I
takt med att data miningen blir mer omfattande kommer fortsatt hänsyn även behöva tas till
den personliga integriteten. Vilken information är okej att använda? Hur påverkas människor
av den data mining som sker med deras privata information inkluderad i datamängder? Och
vilken information får människor kring den data mining som sker? Dessa är alla frågor som
den framtida data miningen bör ställa sig för att den etiska aspekten av data mining skall
hålla. Denna aspekt av data mining är en jag finner av stort intresse, dels då det påverkar data
miningprocessen i sig, men även när det kommer till mina egna relation till data mining och
det informationssamhälle vi lever i. Vilken information som finns till hands för att använda i
en datamängd och hur den informationen bearbetas genom bland annat data mining för att
sedan återvända till mig i form av tjänster hos företag osv.
Utöver de etiska aspekterna är de metoder som data miningen består av intresse för
framtida forskning exempelvis. Hur olika metoder kombineras, utvecklingen av individuella
metoder ser ut samt om nya metoder kan inkluderas i data miningens process är även det
frågor framtida forskning har möjligheten att ta i beaktning. Då data mining även är en det av
KDD har även utveckling inom KDD möjligheten att påverka hur data miningen byggs upp
och används. Som tidigare nämnt berördes i denna rapport enbart ett fåtal metoder inom data
mining till följd av omfångs och tidsaspekter, men att se hur alla dessa metoder samverkar för
att bygga komplexa system är mycket intressant och om möjlighet hade funnits hade vidare
analys i data miningens sammansättning och kopplingar metoder emellan varit av stort
intresse.
Vidare kan man tydligt se att användningsområdena vilka baseras på data mining ligger i
ett stort spektrum. I och med denna observation är en av de, enligt mig, mest intressanta
aspekterna av data mining hur data miningen kan användas. Att det inom en stor mängd
områden finns ett behov av att kunna förutsäga framtida fakta för att på bästa sätt kunna
anpassa nutida beslut. I och med detta tror jag att det finns mängder av potentiella framtida
användningsområden för data mining att appliceras på. Detta går hand i hand med den
utveckling av metoder som framtida forskning skulle kunna innebära. Om de metoder som
ligger till grund för data mining utvecklas, har även de områden som data mining kan
appliceras på möjligheten att utvidgas och utvecklas.
Sammanfattningsvis medför data mining stora möjligheter, både inom den interna
utvecklingen av metoder, men även inom vilka användningsområden data mining kan
appliceras på. Men i takt med utvecklingen av data mining kommer de etiska aspekterna
fortsatt att behöva tas hänsyn till och nya frågor och lösningar kring hur personinformation
används kommer att behöva lyftas.
18
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
8. Slutsats Data mining är en multidisciplinär process som utgör en av grunderna i Knowledge Discovery
in Databases även kallad KDD. Syftet med data mining att ur en datamängd kunna identifiera
mönster, men även att kunna förutspå framtida mönster baserat på den tillgänglig datan. Data
mining kan användas inom en mängs användningsområden. Dessa inkluderar bland annat
virusbekämpning, web mining, inom bankvärlden, av exportföretag som vill förutse framtida
efterfrågan samt inom marknadsföring och försäljning.
Så som tidigare nämnt är data mining en multidisciplinär process vilken består av ett
flertal underliggande metoder. Metoderna som bygger upp data mining inkluderar, bland fler,
beslutsträ, artificiella neurala nätverk, ensemble learning, kluster och support vector
machines. Ensemble learning är uppbyggt av ett antal metoder som brukas för att kombinera
inputdatan för att sedan kunna få en så korrekt output som möjligt. Exempel på sådana
metoder är bagging och boosting vilka i sin tur tar till algoritmer så som adaboosting och
random forest-algoritmen för att genomföra kombinationen och sammanställningen av
inputdata.
Ensemble learning som strategi för att kunna utvinna information om framtiden är en
intressant strategi som ligger till grund för data miningen då strategin bygger på att använda
ett flertal modeller i kombination för att ge den största säkerheten. Metoderna bagging och
boosting visar olika sätt som modeller kan kombineras på för att genom olika vägar generera
förutsägelser om framtiden vilket ger data miningen djupet att inte enbart visa på det aktuella
läget ser ut, utan även var det är på väg.
Användningen av data mining medför en mängd frågeställningar kring hur privat
information skall hanteras och hur data skall hanteras ur ett etiskt perspektiv. Detta även i takt
med utvecklingen av metoder som bygger upp data mining och de användningsområden data
mining kan appliceras på.
19
Linköpings Universitet – HT18
Artificiell Intelligens – 729G43
Katarina Iversen – Kativ570
9. Referenser
Brown, G. (2010). Ensemble Learning. Springer Press.
Clyde, M. (2003). Model Averaging . In Subjective and objective Bayesian statistics (pp. 320-
326).
Cutler, A., Cutler, D. R., & Stevens, J. R. (2012). Random Forest . In C. Zhang, Y. Ma, &
(Eds.), Ensemble machine learning: methods and applications. Springer Science &
Business Media.
Fayyad, U., Piatetsky-Shapiro, G., & Smyth, P. (1996). From Data Mining to Knowledge
Discovery in Databases. AI Magazine, 17(3).
Freund, Y., & Schapire, R. E. (1999, September). A Short Introduction to Boosting. Journal
of Japanese Society for Artificial Intelligence, 14(5), pp. 771-780.
Hand, D. J. (2007). Principles of Data Mining. Drug Safety, 30(7).
Hand, D., Mannila, H., & Smyth, P. (2001). Principles of Data Mining. Cambridge : MIT
Press.
Ihler, A. (Director). (2012). Ensembles (2): Bagging [Motion Picture].
Ihler, A. (Director). (2012). Ensembles (4): AdaBoost [Motion Picture].
Kantardzic, M. (2011). Data Mining: Concepts, Models, Methods, and Algorithms . New
Jersey : John Wiley & Sons, Inc. .
Li, Y. (n.d.). Data Mining: Concepts, Backgrounds and Methods of Integrating Uncertenty in
Data Mining. Louisiana University .
Mozos, O. M., Stachniss, C., Rottmann, A., & Burgard, W. (2007). Using AdaBoost for Place
Labeling and Topological Map Building. Freiburg, Germany: University of Freiburg,
Department of Computer Science.
Polikar, R. (2009). Ensemble Learning. Retrieved from Scholarpedia :
http://scholarpedia.org/article/Ensemble_learning
Sanjeevi, M. (2017). Chapter 3: Support Vector machine with Math. Retrieved from Medium:
https://medium.com/deep-math-machine-learning-ai/chapter-3-support-vector-
machine-with-math-47d6193c82be
Schultz, M. G., Eskin, E., Stolfo, S. J., & Zadok, E. (2001). Data Mining Methods for
Detection of New Malicious Executables. Oakland: IEEE.
Wang, L. (2005). Support Vector Machines: Theory and Application. Berlin: Springer.
Witten, A. H., Frank, E., Hall, M. A., & Pal, C. J. (2017). Data Mining: Practical Machine
Learning Tools and Techniques. Cambridge : Elsvire Inc. .
Wu, X., Kumar, V., Quinlan, J. R., Ghosh, J., Yang, Q., Motoda, . . . Steinberg, D. (2008).
Top 10 algorithms in data mining. Springer , pp. 6-10.
20