Maskinlæringsteknikker for klassifisering

Publisert
2001
Emneord
Kunstig intelligens
Nevrale nettverk
Maskinlæring
Rapportnummer
2001/01501
Permalenke
http://hdl.handle.net/20.500.12242/1048
Samling
Rapporter
01-01501.pdf
Size: 1M
Sammendrag
This diploma thesis treats classification tasks in machine learning. It focuses on three types of classification algorithms: support vector machines, neural nets and decision trees. The scope of its treatment of neural nets is limited to feedforward nets (i.e. neural nets without internal feedback loops), trained by backpropagation. Several types of decision trees exist. This thesis focuses on an algorithm called C4.5. As a part of the thesis, a classification module was written in VisualWorks 3.0 Smalltalk. The module consists of three submodules, each implementing one of the classification techniques mentioned. The three modules were tested on non-trivial examples. Some of the experiments showed that the classifiers were able to learn the training data perfectly, and that their parameters could be set to achieve good generalisation as well.
Denne diplomoppgaven er gitt av Forsvarets Forskningsinstitutt. Oppgaven omhandler klassifisering i maskinlæring. Klassifisering i maskinlæring benyttes i f.eks mønstergjenkjenning og beslutningsstøtte. Klassifiseringsalgoritmene må kunne lære og de må kunne generalisere. Læringen kan foregå ved at klassifiseringsalgoritmene grupperer objekter som ligner på hverandre i klasser eller at de blir gitt eksempler på objekter som tilhører forskjellige klasser. Generaliseringen består i at klassifiseringsalgoritmene kan klassifisere objekter som de ikke har sett før. Denne diplomoppgaven omhandler tre typer klassifiseringsalgoritmer: Støttevektormaskiner, nevrale nettverk og beslutningstrær. Støttevektormaskiner er basert på å representere kunnskap som punkter i et egenskapsrom og separere forskjellige klasser ved hjelp av et optimalt plan som kalles hyperplan når det er mer enn tre egenskaper/dimensjoner. Nevrale nettverk er bygd opp av kunstige nevroner som etterlikner noe av funksjonaliteten til biologiske nevroner. Signalene som overføres mellom nevronene blir vektet. Når nettverket lærer, justeres denne vektingen. Dette kan sammenliknes med justeringen av koblingen mellom biologiske nevroner. Oppgaven omhandler nettverk uten interne tilbakekoblinger (“Feed Forward”-nettverk) som læres opp ved hjelp av tilbakepropagering (“Backpropagation”-algoritmen). Det fins flere typer beslutningstrær. I denne oppgaven fokuseres det på en algoritme som heter C4.5. Denne algoritmen benytter informasjonsteori for å konstruere beslutningstreet. Treet dannes ved å sammenligne nytten med hensyn til informasjonsverdi ved å splitte opp treningseksemplene på de mulige verdiene til en egenskap. Den egenskapen som gir best resultat velges som forgreningspunkt i treet og prosessen fortsetter rekursivt for de oppsplittede treningseksemplene. Som en del av oppgaven ble det skrevet en klassifiseringsmodul i Smalltalk/ VisualWorks3.0. Modulen består av tre moduler som implementerer hver av de omtalte klassifiseringsalgoritmene. Modulen som implementerer nevrale nettverk var skrevet fra før av ansatte ved FFI, så i forbindelse med den ble det bare skrevet kode som knytter den til resten av modulen. De tre modulene ble testet på ikke-trivielle eksempler. Resultatene viste at klassifiseringsmodulene hadde bra egenskaper med hensyn til å lære og til å klassifisere. Siden treningssettene var konsistente og uten støy, var det mulig å se om klassifiseringsalgoritmene var gode til å lære ved å lære dem opp og teste dem på samme datasett. Dette ga ingen feil. Generaliseringsevnen viste seg å være bra. Algoritmene feilklassifiserte mellom 3% og 11% av testdatasettet. Det nevrale nettverket viste best resultater.
View Meta Data