Online klustring. UMEÅ UNIVERSITET 9 december 2003 Institutionen för Datavetenskap. Namn E-post



Relevanta dokument
2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

Statistisk mönsterigenkänning

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

Beijer Electronics AB 2000, MA00336A,

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

SELF- ORGANIZING MAPS

Telia Connect för Windows

Vinjetter TDDC91 Datastrukturer och algoritmer

Inlärning utan övervakning

Föreläsningsanteckningar F6

Registerforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

FUZZY LOGIC. Christopher Palm chrpa087

Algoritmer och maskininlärning

HKGBB0, Artificiell intelligens

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Flervariabel Analys för Civilingenjörsutbildning i datateknik

What Is Hyper-Threading and How Does It Improve Performance

Spekulativ exekvering i CPU pipelining

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Klustring av svenska tidningsartiklar

Mönster. Ulf Cederling Växjö University Slide 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Kognitionsvetenskap C, HT-04 Mental Rotation

RADIATION TEST REPORT. GAMMA: 30.45k, 59.05k, 118.8k/TM1019 Condition D

Rapportskrivning Användarcentrerad Design. Anders Lindgren

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

FÖRBÄTTRA DIN PREDIKTIVA MODELLERING MED MACHINE LEARNING I SAS ENTERPRISE MINER OSKAR ERIKSSON - ANALYSKONSULT

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Statistik över heltal

HAND TRACKING MED DJUPKAMERA

Logging Module into the PRIME Core

Samtidig utvärdering av form- & lägekrav

PROGRAMMERINGSTEKNIK TIN212

Arbeta med Selected Works en lathund

Sö ka litteratur i ERIC

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.)

Modeller och simulering av språkprocessning

Word-guide Introduktion

Linköpings universitet

de var svåra att implementera och var väldigt ineffektiva.

2.1 Installation of driver using Internet Installation of driver from disk... 3

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar

Samråd har skett med utbildningsledare vid akademin för innovation, design och teknik för de kurser de ansvarar för.

MÅLSTYRNING OCH LÄRANDE: En problematisering av målstyrda graderade betyg

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Kravspecifikation Fredrik Berntsson Version 1.3

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Ökat personligt engagemang En studie om coachande förhållningssätt

Programschema för Kandidatprogram i teknisk matematik, 180 hp Gäller för läsåret 2019/2020 Om programschemat

Laboration: Whitebox- och blackboxtesting

Ämnesområden. Examensarbete inom datavetenskap (1DV41E) Martin Fredriksson

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

MMA132: Laboration 2 Matriser i MATLAB

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Ontologier. Cassandra Svensson

Detta dokument innehåller anvisningar för upprättande av en sökplan i kursen TDDD39 Perspektiv på informationsteknologi.

Grafisk visualisering av en spårbarhetslösning

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

Innehåll. Styrdon (ej i boken) Fitts lag (sidan ) Natural user interfaces. Kap 6.2.9, , Kap

Cacheminne Intel Core i7

Aktivitetsschemaläggning för flerkärninga processorer

Vindkraft och ML. - hur kan vindkraft dra nytta avml

Instruktionen gäller Windows 10 med Word 2016.

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

Datorprogrammet MagneFiC, Magnetic Field Calculations

Kravspecifikation Fredrik Berntsson Version 1.3

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

Workshop IBA internet based assessment

F Secure Booster är ett verktyg för att snabba upp och städa upp i din pc eller

Utveckling av ett grafiskt användargränssnitt

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Tentamen på kursen Webbdesign, 7,5 hp

Manual Trafikdatasystem Grävtillstånd, sökande

Datastrukturer och Algoritmer D0041D

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Hantering av hazards i pipelines

Att lyckas med programstyrning. Marina Maric, Business Consultant, Antura AB

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi

Igenkänning av bilddata med hjälp av Kohonen-nätverk, samt beskrivning av program

App analytics TDP028

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015

Visualisering med Rhino/Vray/Photoshop av modell som skapats i Revit. AADA15 Revit Workshop 2017 LTH Ludvig Hofsten

TDDD92 Artificiell intelligens -- projekt

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Neurovetenskap 30/08/2013. Kognitiv neurovetenskap. Lober. Olika färg, olika vävnadsstruktur. Hjärnbarken

Slutrapport: Informationsvisualisering av släktträd

Testplanering, test-first, testverktyg

På följande sidor återfinns en kort dokumentation som beskriver några användbara programfunktioner.

Datainmatning TÄNKTA BETECKNINGAR. Variabelnamn/kolumnbeteckning, Dummyvärden, som matas in beroende på aktuellt svarsalternativ

Projekt i bildanalys Trafikövervakning

Transkript:

UMEÅ UNIVERSITET 9 december 2003 Institutionen för Datavetenskap Mönsterigenkänning 5p Online klustring Namn E-post Handledare Christina Olsén

Tdbc94 Abstract. This report is an attempt at an introduction to the subject of online clustering. In pattern recognition, there is sometimes the need to perform classification with very little previous knowledge about the data. Clustering is a method whereby features are assigned to targets, the assumption being that the features can be separated into regions, clusters, in feature space. There can be a number of complicating factors. If the number of clusters is unknown, or their location change over time, there is need for an online method. If there is no access to training data, the learning has to be unsupervised. Basic methods that can be used for clustering are competitive learning and leader-follower clustering. But how can a classifier adapt to changes over time in data and yet not forget what it has previously learned? This is the stability/plasticity dilemma. ART, Adaptive Resonance Theory, is a category of algorithms implemented through neural networks, specifically designed to overcome these problems. i 9 december 2003

Tdbc94 Innehåll Innehåll 1 Syfte 1 2 Introduktion 1 2.1 Klustring............................. 1 2.2 Online............................... 2 2.3 Ej övervakad inlärning...................... 2 2.4 Stability/Plasticity dilemmat.................. 3 3 Metod 4 4 Teori 4 4.1...................... 4 4.1.1 Känt antal kluster.................... 5 4.2 Okänt antal kluster........................ 6 4.2.1 Leader-follower...................... 6 4.3 ART................................ 7 5 Resultat 8 5.1 Classification Toolbox...................... 8 5.2 Matlabs neurala toolbox.................... 11 5.2.1 Testkörningar: Competitve Learning.......... 12 5.2.2 Testkörningar:............ 15 6 Diskussion 18 7 Slutsats 19 8 Källkritik 19 ii 9 december 2003

Tdbc94 2 Introduktion 1 Syfte Syftet med denna uppgift var att studera ämnet online klustring och presentera detta i en rapport, samt skriva en tentamensfråga på detta ämne. Materialet skulle även presenteras i en muntlig redovisning. Målet var att förstå materialet i kurslitteraturen[dhs97], men även att hitta mer ingående material för att kunna fördjupa kunskaperna. Utöver detta ingick det att visa på hur metoderna för online klustring fungerar genom praktiska exempel. För att kunna introducera läsaren och författarna till ämnet, så har strategin varit att presentera materialet på ett sådant sätt att det är lättförståeligt. Detta har inneburit att vi strävat efter att presentera de mer övergripande begreppen och de grundläggande algoritmerna först, för att sedan gå vidare för att beskriva mer avancerade metoder som används i praktiken. 2 Introduktion I följande avsnitt introduceras läsaren till de huvudsakliga bakomliggande begreppen för online klustring. En förståelse för dessa begrepp och terminologin omkring dem är en förutsättning för att tillgodogöra sig det övriga materialet. Viss kunskap inom mönsterigenkänning förutsätts. Exempelvis kommer en introduktion till neurala nät inte att ges, utan läsaren hänvisas till litteraturen, exempelvis [DHS97]. Viss kännedom om neurala nät är en förutsättning då samtliga algoritmer som redovisas bygger mer eller mindre på neurala nät. 2.1 Klustring För att kunna klassificera data gör vi hela tiden antagandet att det finns särdrag som skiljer olika klasser från varandra. För få en bra klassificering måste det finnas något systematiskt sätt på vilket klasstillhörigheten är fördelad över särdragsrymden. Det vill säga, det går att dela in särdragsrymden i olika beslutsytor där varje yta har en klasstillhörighet. Klustring är den term som används för denna uppdelning. Punkterna fördelar sig på olika kluster där alla punkter i ett kluster har samma klasstillhörighet. Ett exempel på kluster kan ses i figur 1. Varje klustringsalgoritm värd namnet skulle dela in dessa mönster i två kluster, markerat på bilden med ringar respektive kryss. Naturligtvis är det inte alltid som det går att göra en perfekt uppdel- 1 9 december 2003

Tdbc94 2 Introduktion ning som på bilden, i sådana fall är målet att göra en så bra indelning som möjligt. 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 Figur 1: En tvådimensionell särdragsrymd, med två uppenbara kluster. 2.2 Online Det finns ett antal metoder för att hitta gränserna till kluster, givet att man vet hur många kluster det finns, eller man har en bra gissning på det sanna värdet. Exempel på sådana metoder är k-means klustring och hierarchical clustering. Det uppstår dock fall då man inte vet hur många kluster det finns, eller att antalet kluster varierar med tiden. Det är då önskvärt att ha en klassificerare som kan anpassa sig till förändringar i gränser mellan kluster och som också kan skapa nya kluster ifall omständigheterna kräver det. Detta kallas för online klustring [DHS97], och det är främst om denna typ av klustring som denna rapport behandlar. 2.3 Ej övervakad inlärning Hittills under kursen har vi arbetat med problem där ett antal träningspunkter använts för att träna klassificeraren. Det vill säga, för ett antal punkter i särdragsrymden så är klasstillhörigheten i förväg känd. Denna typ av av klassificering utgör ett exempel på övervakad inlärning, supervised 2 9 december 2003

Tdbc94 2 Introduktion learning. Det är dock inte alltid som man har tillgång till träningsdata. Således finns det ibland ett behov för ej övervakad inlärning, unsupervised learning. Kurslitteraturen tar upp fem fall då ej övervakad inlärning är motiverad[dhs97]. Det kan vara dyrt att samla in träningsdata. Detta kan vara fallet även om icke klassificerat data är lättöverkomligt. Till exempel är det lätt att hitta exempel på mänskligt tal. Däremot är det tidskrävande och därmed dyrt att klassificera varje meningsuppbyggnad, ord, fonem och så vidare. I dessa fall kan det vara lönsamt att träna klassificeraren på en liten mängd testdata för att sedan finjustera online. Det finns en stor mängd icke klassificerat testdata att träna på, för att sedan testklassificera på en liten mängd klassificerat testdata (data mining). Gränserna för beslutsytorna förändras med tiden. För att anknyta till den välkända exemplet med fiskar med olika färg och höjd över ryggen så kan det tänkas att färgen på fisken förändras under året. Man kan var intresserad av att hitta helt nya särdrag. I en tidig fas kan det vara av intresse att undersöka strukturen på datat. 2.4 Stability/Plasticity dilemmat Om klassificeraren har förmågan att anpassa sig till omständigheterna, att kontinuerligt kunna lära sig när nytt data presenteras, sägs den uppvisa plasticitet[dhs97]. Det är dock inte önskvärt att ha en klassificerare som lägger allt för stor vikt vid nytt data. Om nytt data kan orsaka stora förändringar i klusterstrukturen kan detta leda till instabilitet. En algoritm sägs vara stabil om den behåller kunskap om tidigare inhämtad kunskap [HT95]. Detta problem kallas för stability/plasticity dilemmat och beskrevs av [CG87b]. [HT95] ger följande exempel. Ett neuralt nät som använder backpropagation som tränats på en datamängd ger snabbt sämre och sämre resultat vid förändringar i omständigheterna (icke plastiskt). Plasticitet kan dock uppnås om nätet tränas på den senaste observationen, men detta kommer att leda till försämrad klassificering av äldre data (instabilitet). För att komma runt detta kan man återträna nätet på hela den totala datamängden efter 3 9 december 2003

Tdbc94 4 Teori varje nytt tillkommet data. Detta är dock alldeles för långsamt för att vara praktiskt. Vad som behövs är en inkrementell metod, som ständigt anpassar sig efter nytt data utan att tappa tidigare kunskap. 3 Metod Med utgång i kapitel 10 i kurslitteraturen [DHS97] har vi försökt finna information om relevanta metoder för online klustring. För litteraturstudien har universitetsbiblioteket använts i den mån relevant litteratur funnits, men det mesta stoffet har hittats genom sökning på internet. Målet har även varit att finna några exempel på praktiska tillämpningar. Även i detta fall så har internet varit den främsta källan till information. Därutöver har Matlab r studerats, och då i första hand neural toolbox. Ursprungliga källor har använts i största möjliga mån, så långt som tid och resurser tillåtit. I de fall där den ursprungliga källan inte kunnat spåras så anges detta, se Källkritik. 4 Teori I detta avsnitt presenteras de algoritmer som studerats. Först redogörs den mest grundläggande algoritmen, competitive learning. Detta är den enklaste av algoritmerna och de efterföljande algoritmerna bygger i stor utsträckning vidare på denna. Competitive learning kan användas för klustring men har ingen metod för att hitta nya kluster, därför måste antalet kluster anges på förhand. Nästa algoritm, leader-follower, är en vidareutveckling av competitive learning som möjlighör att nya kluster kan hittas dynamiskt. Slutgiltigen presenteras ART som är en vidareutveckling av tidigare metoder [Car89]. ART är en hel samling algoritmer som i sina enklaste former är mycket lik leader-follower algoritmen. De mer komplicerade ART-nätverken är dock betydligt mer invecklade. 4.1 Enligt [DHS97] kan competitive learning jämställas med k-means-algoritmen implementerad i ett neuralt nät. Skillnaden ligger i bedömning av klustercentrumets position. Istället för att återberäkna nuvarande klustrets väntevärde, justeras klustercentrumet, som mest överensstämmer med indatat, 4 9 december 2003

Tdbc94 4 Teori x, att ligga närmare indatat. Detta tillvägagångssätt kan inte härledas vara optimalt. Exempelvis hanteras inte brusigt indata speciellt stabilt, och beroende på i vilken ordning som indatat presenteras kan klustercentra byta position likt en pendel. Competitive learning kallas även winner-takes-all (WTA) på grund av att endast en neuron, vinnaren, uppdaterar sina vikter/sitt klustercentrum. 4.1.1 Känt antal kluster Antag att vi vet att c är antalet kluster/klasser. Liksom för neurala nät, utökar vi först mönstren x i med bias= 1, till y i := [1, x i ] T, för att därefter normalisera y i. Vårt neurala nät har innoder direkt kopplade (och fullt kopplade) till utnoder med viktade kanter. Ansätt slumpmässigt valda vikter vid initieringen, sådana att w j = 1 för j = 1,..., c. Brukligt är, men inte nödvändigt, att initiera de c klustercentra/vikterna till slumpmässigt valda mönster x i från det tillgängliga data[dhs97]. Utnoderna beräknar net j = wj T y och endast den vinnande utnoden, den som ligger närmast mönstret, justerar sin vikt till att ännu mer likna det inmatade mönstret. Detta kan implementeras, i ett så kallat winner-takesall-nätverk, att varje utnod korrigerar vikterna enligt sin net j, och påverkar samtliga andra utnoder negativt med ett belopp proportionellt mot net j [DHS97]. Termen för denna påverkan, ursprungligen hämtad från [Rat65], kallas lateral inhibition. Den vinnande noden j vid tidpunkt t uppdaterar sin vikt enligt w j (t + 1) = w j (t) + ηy där inlärningshastigheten är η. Därefter sker en viktnormalisering, w j = 1, d i=0 w2 i = 1. Detta för att inte låta den vinnande nodens vikt skena iväg, utan hållas relativ stor jämfört med de andra utnodernas vikter. net j, som kan ses som vinkeln mellan mönstret och nodens vikter, håller sig på samma skala för alla utnoder, när viktnormalisering genomförs[dhs97]. Själva algoritmen, presenterad i [DHS97], lyder: 1. Initiera (a) antal observationer n, (b) iterationstoleransen k, 5 9 december 2003

Tdbc94 4 Teori (c) inlärningshastigheten η, (d) antal kluster c, (e) vikterna w i. 2. Utöka mönstren, y i = [1, x i ] T 3. Normalisera (a) vikterna, (b) mönstren. 4. Upprepa följande, så länge inte det skett någon större skillnad i samtliga viktuppsättningar på k iterationer. (a) välj slumpmässigt ett mönster, y i (b) hitta den viktuppsättning w j som är mest lika mönstret, max net j (c) justera viktuppsättningen, w j + = ηy i (d) normalisera viktuppsättningen 5. returnera klustercentra/vikterna w j. 4.2 Okänt antal kluster Det går att tackla problemet med ett okänt antal kluster på fler än ett sätt: genom att upprepade gånger lösa problemet med stigande värden på antalet kluster, c, tills dess att någon tolerans i felklassificeringen överskrids. ifall ett tröskelvärde överskrids, gällande likheten mellan mönstret och net j ( j) skapas ett nytt kluster. Det första fallet är mer oberoende av i vilken ordning mönstren presenteras, medan det andra passar online-fallet bättre och är inte lika beräkningstungt. Trots detta är det andra känsligare för ordningen av mönsterpresentationen[dhs97]. 4.2.1 Leader-follower En algoritm som inte beror av antalet kluster är leader-follower algoritmen [Har75], kapitel 3. Kortfattat uttryckt liknar den, men skapar nya kluster närhelst (ett nytt) mönster ligger för långt 6 9 december 2003

Tdbc94 4 Teori ifrån något av de befintliga. Algoritmen kallas Basic leader-follower clustering i [DHS97], och lyder: 1. Initiera (a) inlärningshastigheten η (b) tröskelvärdet θ (c) väntevärdet µ := x 2. För varje nytt mönster x, (a) finn det närmsta klustret w j med klustretcentrumet µ j (b) Om avståndet till µ j är mindre än tröskelvärdet, i. uppdatera klustercentrumet, µ j + = ηx (c) Annars skapa ett nytt kluster w new med klustercentrumet µ := x. (d) Normalisera klustercentrumet (µ eller µ j ) 3. Returnera alla klustercentrum. 4.3 ART ART står för Adaptive Resonance Theory. Den designades specifikt för att komma runt stability/plasticity dilemmat[ht95]. ART är en samling algoritmer för neurala nät. Den första versionen av ART var ART1[CG87b]. ART1 kan endast hantera binära inputvektorer, till exempelvis bilder[cg87b]. Sedan dess har många nya varianter av ART introducerats. ART2[CG87a] som kom något senare kan hantera kontinuerliga inputvektorer. Många övriga finns, ART2-A [CGR91b], och fuzzy ART [CGR91a] för att nämna några. I denna samling algoritmer så finns det både relativt enkla algoritmer och mer komplexa neurala topologier, beroende på vilka krav på exempelvis egenskaper hos särdragsvektorer eller prestanda man har. En del av de enklare varianterna, exempelvis ART2-A, är väldigt lik leaderfollower klustring. Faktum är att man kan betrakta ART helt enkelt som en neurala-nät implementation av leader-follower algoritmen [DHS97]. Dock har denna realisation intressanta generaliseringar, man kan till exempel ha flera lager. 7 9 december 2003

Tdbc94 5 Resultat De mer komplexa varianterna av ART har vissa egenskaper hos topologin på det neurala nätverket. dessa beskrivs kortfattat här för att ge en övergripande inblick i hur dessa nätverk fungerar. Däremot kommer ingen komplett algoritmbeskrivning ges. Det som gett ART dess namn, nämligen resonansen, uppkommer på följande sätt. Ett neuralt nät för ART liknar i mångt och mycket det neurala nätet för competitive learning. En av de markanta skillnaderna är dock att det inte bara finns en koppling med vikter från inputs till outputs, som i competitive learning; i ART-nätverket finns det även kopplingar med vikter från outputs tillbaka till input-noderna igen[dhs97]. Antag att en särdragsvektor presenteras på input-noderna. Denna kommer att orsaka en aktivering av en outputnod. Endast en outputnod kommer att aktiveras, precis som för competitive learning. I detta fall kommer dock denna aktivering att orsaka utökad input, eftersom nätverket har kopplingar från outputnoderna tillbaka till inputnoderna. Detta orsakar i sin tur återigen en aktivering av outputnoderna, och så vidare... Det är detta som kallas för resonans. Resonansen kan ge upphov till att de signaler som kommer från inputlagret y matchar ett klustercentra, trots att den särdragsvektor x som ursprungligen presenteras inte alls matchar något klustercentra. Man kontrollerar då om x t y < ρ, och om så är fallet så indikerar detta att ett nytt kluster bör skapas. ρ är en parameter och kallas för vigilance med ART-terminologi. Om ρ är högt så kommer det att leda till att nya kluster skapas oftare. 5 Resultat Under denna rubrik redovisas de praktiska exempel vi hittat på online klustring. Först beskrivs Classification toolbox som är ett verktyg för klassificering under Matlab. Därefter följer en demonstration av den neurala toolbox som finns till Matlab. 5.1 Classification Toolbox Classification toolbox [SYT03] är ett verktyg under utveckling, tänkt att medfölja boken Pattern Classification [DHS97]. I detta verktyg kan man tvådimensionellt visualisera klassificeringar av data med två klasser. Genom att använda kommandoradsversionen av programmet kan man även klassificera data av högre dimension och med fler klasser. 8 9 december 2003

Tdbc94 5 Resultat Programmet kan använda sig av en mängd olika algoritmer för att klassificera. Man kan dessutom välja en algoritm för att förbehandla datamängden, däribland leader-follower och competitive learning vilket berör ämnet för denna rapport. Programmet startas genom att i Matlab köra classifier i den katalog där programkodsfilerna ligger. Man får då upp ett grafiskt gränssnitt. Till att börja med skapas en datamängd, detta gjordes i detta fall direkt i programmet genom att välja Graphically enter dataset och klicka med musen för att placera ut datapunkter, se figur 2. Figur 2: Classification Toolbox Som förbehandlingsalgoritm valdes competitive learning. Som parametrar angavs sex stycken kluster. η sattes till 0.1. Ingen klassificeringsalgoritm valdes eftersom det här endast är intressant att visa hur själva klustringen går till. I figur 3 och 4 visas resultatet. Till vänster visas datamängden, med de klustercentra utritade. Till höger visas de resulterande regionindelningarna, så kallade Voronoi regioner (se [DHS97]). Algoritmen har hittat de flesta klustren man förväntar sig, men missar ett i mitten... I figur 5 och 6 visas resultatet av ett test med Leader-follower algoritmen. Efter endast ett fåtal tester med olika parametervärden hittades parametrar som gav ett mycket gott resultat, då min distance sattes till 0.4 och rate sattes till 0.1. I detta fall hittade sex stycken kluster. 9 9 december 2003

Tdbc94 5 Resultat 0.8 0.6 0.4 0.2 0 0.2 0.4 0.8 0.6 0.4 0.2 0 0.2 0.4 Figur 3: Competitive learning exempel - särdrag. 0.8 Voronoi regions 0.6 0.4 0.2 0 0.2 0.4 0.8 0.6 0.4 0.2 0 0.2 0.4 Figur 4: Competitive learning exempel - klusterindelning. I Classification toolbox kan man slå på att diverse saker skall visas under träningen av algoritmen. Man kan till exempel visa hur centrumpunkterna för klustren förflyttar sig allteftersom träningen fortskrider, eller rita ut Voronoi-regionerna under träningen. Detta kan ge en god inblick i hur klustringsalgoritmerna arbetar. Just att man kan se hur klustren och deras centrumpunkter förändrar sig under träningen var en trevlig funktion. Verktyget har också en stor mängd andra algoritmer. Det grafiska användargränssnittet är också funktionellt och lättanvänt. Programmet är fortfarande i beta-stadiet, men det är definitivt värt att kolla upp om man är intresserad av online klustring eller mönsterigenkänning i allmänhet. 10 9 december 2003

Tdbc94 5 Resultat 0.8 0.6 0.4 0.2 0 0.2 0.4 0.8 0.6 0.4 0.2 0 0.2 0.4 Figur 5: Leader-follower exempel - särdrag. 0.8 Voronoi regions 0.6 0.4 0.2 0 0.2 0.4 0.8 0.6 0.4 0.2 0 0.2 0.4 Figur 6: Leader-follower exempel - klusterindelning. 5.2 Matlabs neurala toolbox I Matlab r s neural network-toolbox finns en samling Matlab-filer för att belysa användningen av den färdigimplementerade nätverksfunktionaliteten. Denna är huvudsakligen text/prompt-baserad. Det finns även diverse demonstrationer implementerade för att kunna manipuleras grafiskt, alla tillhörande en textbok [PT02] i design av neurala nät. Demonstrationerna omfattar bland annat competitive learning och ART1-algoritmen. 11 9 december 2003

Tdbc94 5 Resultat 5.2.1 Testkörningar: Competitve Learning Filen nnd14c1.m ingår i samlingen demonstrationer nnd.m, se >> help nndemos (för mer information angående samlingen demonstrationer). Filen implementerar competitive learning-algoritmen, beskriven i avsnitt 4.1.1 på sidan 5. Programmet startas genom att i Matlab r skriva >> nnd14c1 eller genom att starta demonstrationspaketet nnd och gå till kapitel 14-17 och välja Competitive learning i kapitel 14:s drop-down meny. Tre testkörningar på samma indata redovisas med olika inlärningshastigheter, η = 0.4, η = 0.7 respektive η = 0.1. Indata är distribuerat i tre kluster (se figur 7): ett med ett fåtal punkter (klockan kvart över), ett annat med relativt många punkter (klockan halv nio), och ett tredje relativt utspritt (klockan fem över tio). Punkter har klickats in med musen och vikternas startvärden har även de förflyttats med musen, till de positioner som syns i figur 7. Learning Rate: 0.4 Learning Rate: 0.4 Learning Rate: 0.4 Learning Rate: 0.4 Figur 7: Inlärningshastigheten η = 0.4 och t = 0,..., 3. Datapunkten vald vid t = 3 i figur 7 bör komma från klockan 10-klustret. 12 9 december 2003

Tdbc94 5 Resultat Även syns det att vikterna inte normaliserats. Pilarna (mörkgrå, röd och svart) motsvarar vikterna/klustercentra, medan punkterna/ringarna motsvarar (kommande) mönster, se figur 7 på föregående sida. Vad som inte syns i pappersversionen är punkternas nuvarande färg svarande mot den färg klustret som punkterna tillhör har. När testkörningen startar är indata normaliserat (punkterna ligger på cirkelns kant) och vikterna, även de normaliserade, är satta till tre indatapunkter (mönster). För varje iteration under programmets körning (dock inte presenterat i följande figurer) syns den slumpmässigt valda datapunkten markerad med en svart ring. Därefter lokaliseras det närmsta klustret och net j ritas ut som en streckad pil. Slutligen uppdateras klustercentrumet och den valda vikten flyttas närmare det valda mönstret. Learning Rate: 0.4 Learning Rate: 0.4 Learning Rate: 0.4 Figur 8: Inlärningshastigheten η = 0.4 och t = 10, 15 respektive t = 20. Alla punkter har ännu inte vid t = 20 presenterats. Dock skiljs klustren åt. Ytterligare en testkörning med samma inpunkter presenteras. Nu är dock inlärningshastigheten satt till ett högre värde, η = 0.7, se figur 9 på sidan 14. 13 9 december 2003

Tdbc94 5 Resultat Learning Rate: 0.70 Learning Rate: 0.70 Learning Rate: 0.70 Learning Rate: 0.70 Figur 9: Inlärningshastigheten η = 0.7 och t = 1,..., 3. Klustercentran är hyfsade vid t = 10, se figur 10. Eftersom inlärningshastigheten är stor avslutas körningen innan klustercentra får möjlighet att felplacera sig. Learning Rate: 0.70 Figur 10: Inlärningshastigheten η = 0.7 och t = 10. Till sist redovisas en testkörning med låg inlärningshastighet, η = 0.1. 14 9 december 2003

Tdbc94 5 Resultat Learning Rate: 0.10 Learning Rate: 0.10 Learning Rate: 0.10 Learning Rate: 0.10 Figur 11: Inlärningshastigheten η = 0.1 och t = 3, 10, 15, 30. Beroende på att vikternas initialisering inte skett slumpmässigt är η lite för lågt för att ett resultat relativt nära optimal klustring skall infinna sig på 30 iterationer, se figur 11. 5.2.2 Testkörningar: Programmet startas genom att i Matlab r skriva >> nnd16a1 eller genom att starta demonstrationspaketet nnd och i Table of Contents gå till kapitel 14-17 och välja i kapitel 16:s dropdown meny. Demonstrationspaketet nnd kan även startas genom att skriva >> demo och därefter välja Toolboxes, Neural Network, sedan Other Demos och Other Neural Network Design textbook demos för att sedan välja att köra nnd. Tre testkörningar genomförs för att demonstrera ρ :s betydelse på inlärningen, se avsnitt 4.3 på sidan 7, samt demonstrera betydelsen av patterns (inmönstren) jämfört med templates (mallarna, de klustercentra som lagras algoritmen helst vill ha som inmönster). 15 9 december 2003

Tdbc94 5 Resultat Inmönster visas som Pattern 1,..., 4 i figur 12. Användaren kan markera med musen vilka punkter som mönstren ska innehålla. Med en slider kan även ρ justeras. Låga värden på ρ ger en större acceptans av inmönster, medan höga värden på ρ ökar algoritmens vilja att skapa nya mallar. Vid presentation av mönster trycker användaren Present-knappen, vilket innebär att mönsterpresentationen baseras helt på användarens presentationsordning utan något slumpmoment. Vigilance (rho): 0.7 Figur 12: När samtliga testkörningar börjar ser programmet nnd16a1 ut som ovan. När användaren har presenterat ett mönster går programmet igenom sina mallar och jämför dessa med inmönstret. En svart kantmarkering syns runt den valda mallen/mönsterpresentationen. I den första delplotten, se figur 13 på nästa sida, accepteras hela inmönstret som en mall. Denna förändras i en ruta i den andra presentationen. Även vid tredje presentationen förändras mallen med en ruta. Detta är mallens slutgiltiga utseende, och oberoende ordning på presentationen av mönstren förändras inte mallen. I figur 14 på följande sida ses samma inmönster presenterade i samma ordning som i föregående testkörning. Eftersom ρ är större än tidigare skapas en ny mall, istället för att modifiera de(n) befintliga mallen/mallarna, i den tredje presentationen. Dock modifieras ursprungsutseendet på båda mallarna vid den första presentationen av de fyra mönstren. Vidare, vid återpresentation förändras mallarna ej. När ρ är tillräcklig stor blir det stor separation mellan en punkts skillnad i mall och inmönster, se figur 15 på sidan 18. 16 9 december 2003

Tdbc94 5 Resultat Vigilance (rho): 0.7 Vigilance (rho): 0.7 Vigilance (rho): 0.7 Vigilance (rho): 0.7 Figur 13: ρ = 0.7. Mönstren presenteras från vänster till höger, där presentationerna redovisas radvis från vänster till höger. Vigilance (rho): 0.8 Vigilance (rho): 0.8 Vigilance (rho): 0.8 Vigilance (rho): 0.8 Figur 14: Två resulterande mallar blir resultatet när vigilance-parametern är ρ = 0.8. 17 9 december 2003

Tdbc94 6 Diskussion Vigilance (rho): 0.9 Vigilance (rho): 0.9 Vigilance (rho): 0.9 Vigilance (rho): 0.9 Figur 15: Den tredje och sista testkörningen för ρ = 0.9. Mönsterpresentationen resulterar i fyra mallar. 6 Diskussion Huvudsakligen har tre algoritmer har presenterats. Hur användbara är då dessa algoritmer för att utföra online klustring? Leader-follower har större potential än leader-follower då den kan skapa nya kluster. Både Competitive learning och leader-follower har dock det problemet att de är instabila. Detta beror på att klustrens positions kan förändras i all oändlighet, trots att det är samma data som upprepas. Det är också så att olika klustercentra kan hamna godtyckligt nära varandra. Följden kan bli att algoritmen aldrig skulle terminera eftersom klustrens position aldrig stabiliseras[dhs97]. Detta kan motverkas genom att hastigheten på inlärningen kan justeras till att vara η(t) = η(0)α T, för 0 < α < 1 (jämför annealing i [DHS97]) för att avsluta iterationen punkt 4 på sidan 6. Detta garanterar att algoritmen terminerar[dhs97], däremot så omöjliggör det ju i princip online klustring eftersom all data som presenteras efter att inlärningshastigheten avtagit inte kommer att bidra till någon inlärning[dhs97]. ART däremot lider inte av de ovan nämnda problemen[ht95]. 18 9 december 2003

Tdbc94 8 Källkritik Något som aldrig diskuterats i de källor vi hittat är hur man gör när för många kluster skapas. Detta kommer ART att råka ut för detta om man sätter ρ för högt. Det borde finnas tekniker för att automatiskt finjustera värdet på ρ. Naturligtvis kan man också tänka sig en intelligent agent som manuellt justerar parametrarna också. En metod för att minska antalet kluster vore också att automatiskt anropa en hierarkisk klustringsalgoritm när antalet kluster överstiger ett visst värde. 7 Slutsats Om man vill utföra online klustring så bör man titta på någon implementation av ART. De demonstrationer som visats i denna rapport kan kanske tjäna som en utgångspunkt för vidare studier. 8 Källkritik I vissa fall har vi inte kunnat spåra ursprungskällor till citerat material. Det vill säga, vi har citerat någon som har citerat någon annan, och vi har inte kunnat/hunnit spåra upp den ursprungliga artikeln. Följande källor är sekundära: [CG87b], [Har75] och [Rat65]. Dock används endast sammanfattningen till [CG88]. [HT95] nämner [Har75] som ursprunget till leader-follower. [Bax91] påpekar de två ursprungliga inlärningstillstånden från [CG87b]. Dessutom nämns [MHM96] i källförteckningen enbart för att kunna referera från [PT02]. 19 9 december 2003

Tdbc94 Referenser Referenser [Bax91] [Car89] [CG87a] [CG87b] [CG88] Robert A. Baxter. Supervised adaptive resonance networks. In Analysis of Neural Net Applications Conference: Proceedings of the conference on Analysis of neural network applications, pages 123 137, New York, NY, USA, May 1991. ACM Press. Available at http://portal.acm.org/citation.cfm?doid=106965. 126712, 29 November 2003. Gail A. Carpenter. Neural network models for pattern recognition and associative memory. Neural Networks, 2:250,254, 1989. Available at http://cns.bu.edu/~gail/038_nn_review_1989_.pdf, 29 November 2003. Gail. A. Carpenter and Stephen Grossberg. ART 2: stable selforganization of stable category recognition codes for analog input patterns. Applied Optics, 26:4919 4930, 1987. Gail A. Carpenter and Stephen Grossberg. A massively parallel architecture for a self-organizing neural pattern recognition machine. Computer Vision, Graphics and Image Processing, 37(1):54 115, January 1987. Gail A. Carpenter and Stephen Grossberg. The ART of adaptive pattern recognition by a self-organizing neural network. IEEE Computer, 21(3):77 88, March 1988. [CGR91a] G. Carpenter, S. Grossberg, and J. Reynolds. ARTMAP: Supervised real-time learning and classification of nonstationary data by a self-organizing neural network. Neural Networks, 4(5):565 588, 1991. Available at http://cns.bu.edu/~gail/ 054_ARTMAP_1991_.pdf, 29 November 2003. [CGR91b] Gail A. Carpenter, Stephen Grossberg, and D.B. Rosen. ART 2-A: An adaptive resonance algorithm for rapid category learning and recognition. Neural Networks, 4(4):493 504, 1991. Available at http://cns.bu.edu/profiles/grossberg/ CarGroRos1991NNART2A.pdf, 29 November 2003. [DHS97] [Har75] Richard O. Duda, Peter E. Hart, and David G. Stork. Pattern Classification. Wiley Interscience, 2nd edition, 1997. John A. Hartigan. Clustering Algorithms. Wiley series in probability and mathematical statistics. John Wiley & Sons, New York, 1975. 20 9 december 2003

Tdbc94 Referenser [HT95] Lucien Heins and Daniel Tauritz. Adaptive resonance theory (ART): An introduction. Technical report, Department of Computer Science, Leiden Univeristy, 1995. IR-95-35. [MHM96] Martin T. Hagan, Howard B. Demuth, and Mark Beale. Neural Network Design. Martin/Hagan, 1996. Distributed by the University of Colorado, Tel: 303-492-3648. [PT02] PWS Publishing Company and The MathWorks Inc. Neural network design textbook demonstrations, 2002. [Demonstrations, available at http://hagan.ecen.ceat.okstate.edu/ nndesign_5.zip, accompanying textbook [MHM96]]. [Rat65] Floyd Ratliff. Mach Bands: quantitative studies on neural networks in the retina. Holden-Day, San Francisco, 1965. [SYT03] David G. Stork and Elad Yom-Tov. Classification Toolbox, for use with MATLAB r, 2003. http://tiger.technion.ac.il/ ~eladyt/classification/index.htm. 21 9 december 2003