Kategorisering av nyhetstexter med RBF-nät

Relevanta dokument
Statistik 1 för biologer, logopeder och psykologer

Tentamen i matematisk statistik (9MA241/9MA341/LIMAB6, STN2) kl 08-13

Mätningar på op-förstärkare. Del 3, växelspänningsförstärkning med balanserad ingång.

Något om permutationer

Enkätresultat för elever i åk 9 i Borås Kristna Skola i Borås hösten Antal elever: 20 Antal svarande: 19 Svarsfrekvens: 95% Klasser: Klass 9

Enkätresultat för elever i år 2 i Nösnäsgymnasiet 2 i Stenungsund våren 2014

CAEBBK01 Drag och tryckarmering

Uppgift

Enkätresultat för elever i år 2 i Mega Musik gymnasium hösten Antal elever: 47 Antal svarande: 46 Svarsfrekvens: 98% Klasser: MM13

Enkätresultat för elever i år 2 i Praktiska Skövde i Praktiska Sverige AB hösten 2014

Kapitel 6. f(x) = sin x. Figur 6.1: Funktionen sin x. 1 Oinas-Kukkonen m.fl. Kurs 6 kapitel 1

Träning i bevisföring

4-6 Trianglar Namn:..

a n = A2 n + B4 n. { 2 = A + B 6 = 2A + 4B, S(5, 2) = S(4, 1) + 2S(4, 2) = 1 + 2(S(3, 1) + 2S(3, 2)) = 3 + 4(S(2, 1) + 2S(2, 2)) = = 15.

4-3 Vinklar Namn: Inledning. Vad är en vinkel?

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b 2 a b

Tränarguide del 1. Mattelek.

SANNOLIKHET. Sannolikhet är: Hur stor chans (eller risk) att något inträffar.

Lathund, procent med bråk, åk 8

Ekvationssystem, Matriser och Eliminationsmetoden

Tentamen i TMA321 Matematisk Statistik, Chalmers Tekniska Högskola.

Lunds tekniska högskola Matematikcentrum Matematisk statistik

Föreläsning 9: Hypotesprövning

Vi skall skriva uppsats

Facit med lösningsförslag kommer att anslås på vår hemsida Du kan dessutom få dem via e-post, se nedan.

parametriska test Mätning Ordinalskala: Nominalskala:

Ha det kul med att förmedla och utveckla ett knepigt område!

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

Individuellt Mjukvaruutvecklingsprojekt

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

INLÄMNINGSUPPGIFT 2 (Del 2, MATEMATISK STATISTIK) Kurs: MATEMATIK OCH MATEMATISK STATISTIK 6H3000

Snabbslumpade uppgifter från flera moment.

Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare

Linjära system av differentialekvationer

Enkätresultat för vårdnadshavare till elever i Centralskolan Söder 4-9 i Grästorp hösten Antal svar: 50

Övningshäfte i matematik för. Kemistuderande BL 05

Vetenskapliga begrepp. Studieobjekt, metod, resultat, bidrag

Tentamen i Linjär algebra (TATA31/TEN1) ,

Elektronen och laddning

Sundbybergs stad Skolundersökning 2015 Föräldrar förskola Stella Nova förskola

Vid ett flertal tillfällen ställde individer frågor till Edgar Cayce om

Pesach Laksman är lärarutbildare i matematik och matematikdidaktik vid Malmö högskola.

HT 2011 FK2004 Tenta Lärare delen 4 problem 6 poäng / problem

ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD

Hävarmen. Peter Kock

Systematiskt kvalitetsarbete

Linjära system av differentialekvationer

Omvandla Vinklar. 1 Mattematiskt Tankesätt

Tillståndsmaskiner. 1 Konvertering mellan Mealy och Moore. Ola Dahl och Mattias Krysander Linköpings tekniska högskola, ISY, Datorteknik

Invisible Friend Senast uppdaterad

Sundbybergs stad Skolundersökning 2015 Föräldrar förskola Fristående förskolor totalt Antal svar samtliga fristående förskolor: 360 (57 %)

Särskilt stöd i grundskolan

SF1625 Envariabelanalys

BibliotekMitt.se. Riktlinjer för Boktips, Artiklar, Arrangemang, Utställningar Arrangemang mm

Sammanfattning av kursdag 2, i Stra ngna s och Eskilstuna

Lösningar till Tentamen i Matematisk Statistik, 5p 22 mars, Beräkna medelvärdet, standardavvikelsen, medianen och tredje kvartilen?

Projekt benböj på olika belastningar med olika lång vila

Mätning av effekter. Vad är elektrisk effekt? Vad är aktiv-, skenbar- reaktiv- medel- och direkteffekt samt effektfaktor?

NATIONELLA MATEMATIKTÄVLING

Kryssproblem (redovisningsuppgifter).

Statistiska metoder för säkerhetsanalys

Möbiustransformationer.

Får nyanlända samma chans i den svenska skolan?

Gissa det hemliga talet

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

Presentationsövningar

Friskoleurval med segregation som resultat

Manpower Work Life: 2014:1. Manpower Work Life. Rapport Mångfald på jobbet

Kampanj kommer från det franska ordet campagne och innebär att man under en tidsbegränsad period bedriver en viss verksamhet.

Kontrollskrivning i Linjär algebra ,

Översikt. Rapport från skolverket. Förändring av matematikprestationerna Grundtankar bakom Pixel

Exempel på tentamensuppgifter i LMA100, del 1

912 Läsförståelse och matematik behöver man lära sig läsa matematik?

Matris för Hem och Konsumentkunskap åk.6 8 Nivå 1 Nivå 2 Nivå 3 Nivå 4

ANVÄNDARHANDLEDNING FÖR

Sammanfatta era aktiviteter och effekten av dem i rutorna under punkt 1 på arbetsbladet.

Arbeta bäst där du är Dialect Unified Mi

Sannolikhet och Odds

Statsbidrag för läxhjälp till huvudmän 2016

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Program Handledning Förutsättningar: Träningar Teori

Tankar om elevtankar. HÖJMA-projektet

Kvalster. Korrelation och regression: lineära modeller för bivariata samband. Spridningsdiagram. Bivariata samband

Arbetsplan Jämjö skolområde

Skillnaden mellan betygsresultat på nationella prov och ämnesbetyg i årskurs 9, läsåret 2010/11

NATIONELLT KURSPROV I MATEMATIK KURS B HÖSTEN Tidsbunden del

Volymer av n dimensionella klot

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Måttbandet nr 236 mars 2014

Frågor och svar TLV:s beslut att begränsa subventionen för Cymbalta

Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik

FINLAND I EUROPA 2008

x 2 + px = ( x + p 2 x 2 2x = ( x + 2

Kundservicerapport Luleå kommun 2015

Modul 6: Integraler och tillämpningar

Laborationspecifikation

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4

Abstrakt. Resultat. Sammanfattning.

Manual för BPSD registret. Version 6 /

Programmera en NXT Robot

Transkript:

Kategorisering av nyhetstexter med RBF-nät Henrik Linström {me00_lik@nada.kth.se} Oscar Täckström {me00_tcr@nada.kth.se} 2D1418 - Språteknologi, HT04, Nada, KTH 13 oktober 2004 Sammanfattning Kategorisering av svensk nyhetstext utförs med RBF-nät. Radialbaslagret tränas med Expectation Maximization, en oövervakad iterativ algoritm. Utlagrets vikter tränas med övervakad inlärning i vilken minsta-kvadratfelet mellan utdata och facit minimeras med hjälp av minsta-kvadratmetoden. Indata består av en term-dokumentmatris vilken dimensionsreduceras innan den skickas till RBF-nätet. Som bäst klassificeras 90 95% av för systemet okända nyhetstexter rätt. 1 Textkategorisering Grundantagandet vid textkategorisering är att texter som tillhör samma kategori är mer lika varandra än vad texter som tillhör olika kategorier är. Ett besläktat problem är textklustring då man, istället för att försöka mappa texter till olika fördefinierade kategorier, försöker hitta en naturlig uppdelning av textmängden sådan att varje delmängd innehåller liknande texter. Vi representerar varje text som en vektor med ett element för varje ord som existerar i korpusen. Varje element består av frekvensen av ordet i texten, relativt totala antalet ord i texten. Eftersom texterna representeras av vektorer kan många olika likhetsmått definieras. Vanligast är att det euklidiska avståndet används. En textkategori kan därefter representeras som en typvektor och texter som ligger närmare denna typvektor än alla andra typvektorer anses tillhöra kategorin. Istället för att använda typvektorer låter vi ett RBF-nät lära sig en representation av textkategorier. Denna representation består av en linjärkombination av radialbasfunktioner som automatiskt placerats ut i textrymden. Hur dessa placeras ut och viktas samman beskrivs i följande avsnitt. 2 ANN/RBF-nät Artificiella neuronnät, ANN, används för att lösa olika typer av inlärnings och mönsterigenkänningsproblem. Korfattat kan man säga att ett ANN utgörs av en mängd noder kopplade till varandra via vikter, se Figur 1. Oftast har man ett inlager som läser in indata. Noderna i inlagret är kopplade till noder i ett gömt mellanlager vilka i sin tur är kopplade till ett utlager. Varje nod i mellanlagret får som indata en viktad linjärkombination av indata via innoderna, och svarar, eller exciteras, enligt en funktion av denna indata. Mellannodernas svar linjärkombineras sedan och utgör indata till utlagret. Värdet på vikterna bestäms under en inlärningsfas där nätet matas med träningsdata. [1] Vi använder oss av radialbasfunktioner, 1

Figur 1: Ett RBF-nät RBF:er, i mellanlagret. RBF:erna utgörs av gaussklockor av samma dimensionalitet som indata. Som vi ser i Figur 1 är varje nod i indatalagret kopplad till varje nod i mellanlagret. Motsvarande gäller för kopplingen mellan mellanlagret och utdatalagret. Träningen av nätet sker i två steg, vilka beskrivs mer ingående nedan. 1. Beräkning av RBF:ernas medelvärden och varianser 2. Beräkning av vikterna i kopplingarna till utlagret 2.1 Träning av mellanlager I steg 1. används en algoritm som kallas Expectation Maximization, EM, vilket är en oövervakad inlärningsalgoritm [2]. Algoritmen arbetar under antagandet att indata kan beskrivas som ett antal idealkluster och att varje sample ligger på ett normalfördelat avstånd till sitt idealkluster. Därmed kan dessa kluster beskrivas med hjälp av gaussklockor. RBF:erna ses alltså som sannolikhetsfördelningar och algoritmen maximerar sannolikheten för att indata generats av dessa. Detta under antagandet att a-priori sannolikheten för att ett visst sample ska ha genererats av en viss fördelning är uniform. Algoritmen arbetar iterativt genom att svaret, d v s funktionsvärdet, för varje RBF för varje vektor i indata beräknas. Därefter uppdateras RBF:ernas medelvärden och varianser för att bättre beskriva indatarymden. Uppdateringen viktas med hur mycket varje RBF svarar, ju större utslaget på en RBF är desto mer uppdateras den. I teorin är EM garanterad att konvergera till ett lokalt maximum, d v s varianser och medelvärden stabiliseras. I praktiken kan dock, vilket vi fått erfara, svåra numeriska problem uppstå, se avsnitt 3.2, där implementationen beskrivs mer ingående. 2.2 Träning av vikter till utlager När EM-algoritmen konvergerat tar steg 2. vid. Detta består av en övervakad batchinlärning där vikterna för linjärkombinationerna av RBF:erna till utnoderna beräknas. Det totala felet för nätets approximation av funktionen från indata till utdata minimeras. Detta fel beräknas som: ˆf( x i ) f( x i ) 2, där ˆf( x i ) är nätets approximation för sample x i. Vi ställer upp ett linjärt ekvationssystem Φ W = f, där Φ är en matris som innehåller respektive RBF:s svar på varje sample i indata och W är den önskade viktmatrisen. Minstakvadratlösningen beräknas varpå nätet är färdigtränat och kan testas genom att köras på testdata och sedan jämföra svaret från nätet med ett facit. 3 Implementation 3.1 Utvinning av data På grund av begränsat minnesutrymme och begränsad tid används bara 450 texter till trä- 2

ning och 50 texter till testning, jämnt fördelat över kategorierna. Texterna tas slumpvis ur en korpus bestående av ca. 6000 nyhetsartiklar ur Dagens Nyheter från de senaste 20 åren. Varje text är märkt med någon av kategorierna: ekonomi, utrikes, inrikes, sport och kultur. Med hjälp av programmet tokstem, skrivet av diverse personer på Nada, tokeniseras dessa texter, sammansättningar delas upp och alla ord överförs till grundform. En termdokumentmatris byggs därefter med hjälp av ett enkelt program skrivet i Java. Matrisen har efter detta i det aktuella fallet 8113x500 element, varav de fem sista kolonnerna representerar klassificeringen av varje dokument, en ekonomitext klassificeras t.ex. som (1, 0, 0, 0, 0). Term-dokumentmatrisen används därefter som indata till RBF-nätalgoritmen, vars implementation beskrivs nedan. 3.2 Implementation av RBF-nätet Term-dokumentmatrisen är mycket gles eftersom det i varje dokument endast förekommer ett fåtal av alla de ord som förekommer i alla texter sammanlagt. Detta skapar problem då vi använder EM för att placera ut RBF:erna. Origo får för stor dragningskraft, och alla RBF:er dras dit. Vi löser detta problem genom att dimensionsreducera data: de dimensioner där variansen över alla dokument är som störst skickas vidare till nätet. Ett experimentellt bestämt lämpligt tröskelvärde för denna varians används, se avsnitt 4. Alla dimensioner med en varians under detta värde kastas. Det dyker emellertid upp ett nytt problem. Då indata är så gles som i vårt fall, visar det sig att algoritmen ofta inte konvergerar. Detta gäller speciellt då en stor del av indata är identisk i många dimensioner. För en mer djupgående analys hänvisas till [3]. På grund av denna uppgifts begränsade omfång väljer vi att lösa problemet genom att bortse från uppdateringen av variansen. Vi antar alltså att variansen är fix och lika för alla gaussklockor. Under detta antagande fås algoritmen att konvergera. Variansen uppskattas till σ 2 = d max d min 2 /M, där d max, d min är största respektive minsta värdet hos indata över alla dimensioner och M är antalet RBF:er. För att få hyfsade initialvärden sätts RBF:ernas medelvärde till slumpvis utvalda samples av indata. Dessutom adderas ett litet värde, 0, 2 visar sig fungera bra, till alla dimensioner för att motverka den höga densiteten i origo. Detta ger snabbare konvergens jämfört med att slumpa ut medelpunkterna helt fritt i indatarymden. I steg 2. viktas svaren från RBF:erna till fem stycken utnoder, en för varje kategori av text, och vikterna beräknas så som beskrivs i avsnitt 2.2. Idealvärdena hos utnoderna är f i ( x j ) = 1 om x j tillhör kategori i och 0 annars, dessa värden kommer dock aldrig att uppnås i praktiken. Intressant är att värdet på varje nod faktiskt kan tolkas som ett slags mått på sannolikheten att texten tillhör den aktuella kategorin. Slutligen låter vi vårt nät klassificera testdata och beräknar de olika utvärderingsmåtten, se avsnitt 4. RBF-nätet har implementerats i Matlab och denna implementation bygger till viss del på kod som används i laboration 4 i Nadakursen ANN och andra lärande system, VT04. Vi använder en modifierad form av gaussfunktionen för att undvika numeriska problem vid den höga dimensionaliteten: φ i ( x) = e x µ i 2 2σ 2 d där µ i och σ 2 är väntevärde respektive varians för RBF i och d är dimensionaliteten hos indata x. φ i ( x) normaliseras sedan så att summan av alla φ i ( x) för ett visst sample x är lika med 1. Vi låter act i beteckna detta normaliserade värde. Efter att φ i ( x j ) beräknats för alla i och j, så 3

uppdateras RBF:ernas väntevärden enligt: Ni=1 µ t+1 act t i j = x i Ni=1 act t i där µ t+1 j är skattningen av väntevärdet vid iteration t+1. Ovanstående två steg itereras tills konvergens nås, d v s då felfunktionen E = (1/d) µ t+1 i µ t i 2 nått under ett tröskelvärde (i vårt fall 10 4 ). För att optimera antalet RBF:er och hur starkt indata ska dimensionsreduceras körs en metaalgoritm som testar olika kombinationer av dessa två parametrar. För varje kombination tränas och testas nätet tre gånger, varefter medelvärdet för dessa testresultat beräknas och sparas undan (detta görs eftersom algoritmen inte är helt deterministisk). Den kombination med det högsta medelvärdet väljs sedan ut som parameterinställning. 4 Resultat Som bäst klassificerar systemet runt 95% av texterna rätt, detta sker vid en varianströskel på 0.05 och med 220 RBF:er. Den vanligaste felklassificeringen, speciellt då få RBF:er används, är att utrikestexter klassificeras som kulturtexter, detta kan dock vara en tillfällighet. Som vi ser i Figur 2 är antalet dimensioner av avgörande betydelse då antalet RBF:er är tillräckligt stort. Vid färre antal RBF:er är dock deras antal av avgörande betydelse, vilket framgår av Figur 3. Detta kan förklaras med att vi mättar behovet av beskrivningskraft och att vi måste låta nätet arbeta med fler dimensioner för att alla RBF:er ska komma till användning. Det bör observeras att tidskomplexiteten ökar markant då vi ökar antalet RBF:er. Vi har inte gjort något noggrann analys av komplexiteten, men noterar att vi för att beräkna vikterna till utlagret måste lösa ett ekvationssystem av storlek Mxm, där m är antalet RBF:er och M är antalet träningsexempel. Minneskomplexiteten är även den stor. Utnyttjandet av RBF:erna är kraftigt ooptimerat. En stor del av alla RBF:er lägger sig kring origo, vilket inte tillför någon beskrivningskraft åt nätet. Med detta i åtanke bör man kunna optimera nätet så att ett mycket mindre antal RBF:er behövs. Andel korrekt klassade testexempel 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.05 0.10 0.15 0.20 Tröskelvärde för dimensionsvarians 160 170 180 190 200 210 220 Antal RBF:er Figur 2: Prestanda med avseende på varianströskel och antal RBF:er Andel korrekt klassade texter 0.8 0.75 0.7 0.65 0.6 0.55 0.5 0.45 0.4 0 50 100 150 200 250 Antal RBF:er Figur 3: Prestanda med avseende på antal RBF:er, vid varianströskel=0.2 4

Referenser [1] An Introduction to Neural Networks. Kevin Gurney, Routledge, London, 2002. [2] Machine Learning. Tom Mitchell, McGraw- Hill, Singapore, 1997. [3] On Convergence Problems of the EM Algorithm for Finite Gaussian Mixtures. Cédrik Archaumbeau et al., ESANN2003 proceedings, s. 99-106, 2003. 5