Det finns ett stort antal olika metoder som kan kallas lärande system. Många av metoderna har sina rötter i mönsterigenkänning och maskininlärning, men teoretiska genombrott under de senaste åren tillsammans med allt kraftfullare datorer, har också givit upphov till ett antal nya kraftfulla algoritmer.
Lärande system är användbara för många olika typer av uppgifter. Några typiska exempel är: Sekvensanalys, Dataanalys, "Data mining", Statistisk modellering, Prediktion, Klassificering, Diagnostisering, Övervakning, Styrning, Beslutsstöd, med mera.
Möjliga tillämpningar finns inom de flesta branscher och samhällsfunktioner, som till exempel Elindustri, Processindustri, Läkemedelsindustri, Sjukvård, Telekommunikation, Affärsverksamhet, Banker, Försäkringsbolag, etc.
Här följer kortfattade beskrivningar av de huvudsakliga inriktningarna inom Lärande System, med referenser för vidare läsning.
En av de enklaste ideerna för att göra automatisk klassificering är att samla ett antal träningsexempel i en tabell. När man får ett nytt exempel som ska klassificeras, så letar man i tabellen efter det mest lika exemplet, och klassificerar det nya exemplet som samma klass. Denna metod kallas "Nearest Neighbour" och är trots sin enelhet användbar i många fall. Det finns många varianter av samma ide, t.ex. "k-Nearest neighbour" där den vanligaste klassen bland de k närmaste exemplen får styra. En annan variant är att klumpa ihop träningsexempel som ligger nära varandra till "prototyper" som sen används vid klassificeringen. Gemensamt för dessa fallbaserade metoder är att de förutsätter att det finns något naturligt sätt att beräkna avståndet mellan olika exempel, och att detta avstånd verkligen återspeglar likheter och skillnader mellan klasser.
Referenser: Cover and Hart 1967
Iden med artificiella neuronnät kommer från hur biologiska neuronnät arbetar, i avseendet att man har ett antal "noder" sammankopplade med olika starka länkar genom vilka noderna sänder signaler till varandra. Varje nod har vanligtvis en mycket enkel funktion, t.ex som att summera ihop signalerna från de noder den är förbunden med, och om detta överstiger en viss tröskel själv börja sända ut signaler till de andra. Genom "träning" av nätet sätts länkarnas styrkor, dvs hur mycket noderna påverkar varandra med sina signaler. Genom att de exempel man hanterar har en "distribuerad" representation, i form av aktivering av ett antal noder i näten, blir dessa ofta robusta och feltåliga (bortfall av några noder, eller några felaktiga eller saknade invärden, påverkar bara helhetsaktiveringen marginellt).
Men med detta slutar oftast de biologiska likheterna. Till exempel räknar man vanligtvis med kontinuerliga aktivitetsnivåer, i stället för sekvenser av "spikar" som vanliga nervceller använder, och sättet att träna de artificiella nätet kan avvika ganska mycket från vad som är biologiskt realistiskt.
Det finns många olika typer av artificiella neuronnät. En av de vanligaste är flerlagersperceptronen ("Multi layer perceptron"), som tränas genom att justera länkarnas styrkor för att minimera kvadratfelet i klassificeringen (genom "Error backpropagation"). En annan viktig klass är radialbasnätverk ("Radial Basis Function neural networks"). Istället för att som i flerlagersperceptronen varje nod reagerar på indata som ligger på ena sidan av ett hyperplan i inrymden, så reagerar en nod i ett radialbasnätverk på indata i ett radialsymmetriskt område i rymden. Ytterligare två klasser av neuronnät är återkopplade neuronnät samt självorganiserande neuronnät, vilka båda kan användas för bland annat autoassociation och klustring.
Beslutsträd är en representationsform för klassificerare där varje intern nod svarar mot en testvariabel, och där varje möjligt utfall på denna leder till en efterföljande nod, samt där varje löv är rubricerat med en klass. Ett exempel klassificeras genom att besvara testerna (utgående från roten i beslutsträdet) tills ett löv har nåtts, vilket anger klassen för exemplet.
Metoder för induktion av beslutsträd (dvs. konstruktion av beslutsträd utifrån förklassificerade exempel) har utvecklats under flera decennier och innefattar bl.a. olika metoder för att välja lämplig testvariabel, metoder för undvikande av överanpassning (särskilt viktigt då exempelmängderna innehåller brus) samt hantering av kontinuerliga värden och saknade värden.
Regler är en kraftfullare formalism än beslutsträd och kan på ett mer kompakt sätt representera samma information som beslutsträd. Denna formalism kan dessutom på ett naturligt sätt utökas till att inkludera utsagor i första ordningens logik, vilket gör att bakgrundskunskap på samma form kan användas vid inlärningsprocessen. Det senare studeras inom området induktiv logikprogrammering, ett i Europa och Japan mycket aktivt forskningsområde, och har gett upphov till en mängd tillämpningar inom vitt skilda områden som molekylärbiologi och naturligt språkbehandling.
Genetiska Algoritmer, tillsammans med EvolutionsStrategier och Genetisk Programmering, är typer av algoritmer som går under samlingsnamnet Evolutionsbaserade Algoritmer. Gemensamt för dessa algoritmer är att de bygger på en mängd koncept hämtade från biologisk evolutionsteori, med inslag såsom korsning, mutation och "de starkas överlevnad".
Genetiska Algoritmer kan karakteriseras som sök- eller optimeringsmetoder, dvs de används för att hitta en uppsättning parametrar som uppfyller ett antal angivna kriterier. Metoden är i grunden en stokastisk metod där man söker efter områden i sökrymden som innehåller bra parameteruppsättningar i förhållande till ett angivet problem. Till början är sökningen helt slumpartad men riktas snabbt in på områden som tycks innehålla goda parameteruppsättningar.
Sökningen bygger på att man har en hel uppsättning ("population") med individer, där varje individ utgör en komplett uppsättning parametrar för problemet. Varje individ betygssätts, dess "fitness" bedöms, genom att man testar hur väl individens parameteruppsättning verkligen löser problemet. Efter samtliga individer i populationen tilldelats varsin fitness, väljer man ut individerna med den högsta fitnessen och låter dessa utgöra grunden för nästa generation av individer. Denna nya generation skapas genom att man exempelvis väljer ut par av hög-presterande individer ("föräldrar") från den befintliga generationen och bildar nya individer vars parameteruppsättning är korsningar av båda föräldrarnas. Tanken är att dessa individer, som är skapade från lovande föräldrar, skall prestera ännu bättre, dvs man får allt bättre anpassade individer; man säger att man "korsar" individer med varandra samt introducerar även några slumpvisa "mutationer" för att utforska omkringliggande områden i sökrymden.
Genetiska Algoritmer kan också användas tillsammans med andra lärande system, som till exempel för att hitta lämpliga parameteruppsättningar i artificiella neuronnät, då oftast deras viktstyrkor och/eller topologi.
Det finns en uppsjö av olika statistikbaserade klassificeringsmetoder. Det är också naturligt att många av de andra metoderna använder mer eller mindre statistiskt baserade modeller, som t.ex. många neuronnät eller fallbaserade metoder.
Den vanligast förekommande statistiska tekniken som används i industrin är baserad på linjär regression, d.v.s. man utrycker ett attribut som en viktad summa av de andra attributen. Det finns ett antal olika varianter på hur man väljer optimala vikter, eller försäkrar sig om att inte råka ut för överanpassning. Det går naturligtvis också att utvidga metoden genom att ansätta ett polynom eller något annat uttryck som inte är rent linjärt. Linjär regression lämpar sig bäst för kontinuerliga, isotropa, relativt lågdimensionella rymder, och där data är i huvudsak Gaussfördelat eller åtminstone monomodalt. För högdimensionella rymder (t.ex. flera hundra attribut) måste någon dimensionsreducering användas, typiskt PCA eller PLS.
Om den fördelning man vill lära sig inte är Gaussisk eller ens monomodal, så är en möjlig teknik att använda en finit blandning ("mixture model") istället. Det innebär att fördelningen betraktas som en summa av enklare fördelningar, till exempel Gaussfördelningar. Med en summa av tillräckligt många Gaussfördelningar kan man approximera vilken annan kontinuerlig fördelning som helst godtyckligt bra. I praktiken vill man naturligtvis inte använda fler komponent-fördelningar än man har data att träna, men finita blandningar är ändå ett mycket kraftfullt sätt att uttrycka komplicerade fördelningar. Finita blandningar är inte begränsade till att bestå av Gaussfördelningar, eller ens att modellera kontinuerligtvärda rymder, utan kan även beskriva diskreta fördelningar.
Allt för hög dimensionalitet på rymden kan vara ett problem i dessa samanhang, eftersom skattningarna av fördelningarna då blir ganska osäkra, och drabbade av överanpassning. En mycket enkel modell som ofta fungerar förvånande bra för sin enkelhet, är den "Naiva Bayesianska Klassificeraren". Den är liksom linjär regression en linjär metod, som bara kan hitta första ordningens samband, men till skillnad från regression är den mer anpassad att fungera för attribut av blandade typer och karaktär, speciellt diskreta eller binära (då regression oftast inte är tillämplig alls). Grundantagandet här är att de olika attributen är oberoende av varandra inom varje klass. Då går den totala sannolikhetsfördelningen över attributen för en klass att skriva som en produkt av fördelningarna för de enskilda attributen, vilka är mycket lättare att skatta.
Om attributen inte är "tillräckligt" oberoende av varandra, så kan man istället använda grafiska probabilistiska modeller, som till exempel de mycket populära "Bayesian belief networks". Dessa är i första hand lämpliga att använda i mångdimensionella rymder som inte är isotropa, och ofta övervägande diskreta, och där olika attribut beror olika mycket på varandra. Genom att först bygga upp en graf över hur de olika attributen påverkar varandra, kan man återigen skriva om den totala sannolikhetsfördelningen över hela rymden som en produkt av fördelningarna över betydligt mindre subrymder.
En teknik som också är mycket användbar ihop samtliga ovanstående metoder är Bayesiansk Statistik. Den största skillnaden i detta sammanhang jämfört med "klassisk statistik" är i hur man skattar fördelningarna. Istället för att hitta de parametrar som gör de aktuella data så sannolika som möjligt ("maximum likelihood"), så försöker man välja de parametrar som är sannolikast givet data (en hårfin skillnad - läs meningen en gång till om det var oklart). Det gör man genom att väga in en "apriori-fördelning", vilken är ett mått på de förkunskaper man har om domänen. En positiv effekt av detta är att det kan minska överinlärningen.
Det finns givetvis ett stort antal ytterligare metoder, samt olika varianter av dem som beskrivits här.
Page last modified: April 18 2006 23:04:16.
Copyright © 2011 SAIS
Contact the webmaster