Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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