Maskinlæring

Maskinlæring er en gren av kunstig intelligens, et tverrfaglig fagområde med bidrag fra blant annet informatikk, matematikk og beregningsorientert statistikk. Det er en vitenskapelig disiplin opptatt av design og utvikling av algoritmer som gjør datamaskiner i stand å lære fra og utvikle atferd basert på empiriske data. 

Et hovedfokus innen forskning på maskinlæring er automatisk å lære gjenkjenning av komplekse mønstre og gjøre intelligente beslutninger basert på data. En læringsalgoritme bruker et sett treningsdata for å utvikle eller forbedre en atferd. Et problemområde er det faktum at alle mulige atferder gitt alle mulige inntrykk, er for mange til å dekkes av mengden observerte eksempler. Algoritmen må altså være i stand å generalisere, og finne løsninger på problemer den ikke har observert eksempler på tidligere.

Viktige anvendelsene av maskinlæring er innen beslutningsstøttesystemer, der man skal ekstrahere kortfattede oversikter fra store mengder data (også kjent som data mining) stemmegjenkjenning, automatisk føring av kjøretøy, samt andre områder der anledningen til forprogrammering av maskinen er begrenset.

Alle norske universitet, og enkelte høgskoler, tilbyr studier som inkluderer maskinlæring som tema. Maskinlæring som fag krever tverrfaglig kompetanse på flere områder, for eksempel sannsynlighetsteori, statistikk, kognitiv vitenskap og informatikk.

Definisjon

Et dataprogram kan sies å lære fra erfaring E i henhold til en type oppgaver O og ytelsesmål Y, hvis ytelsen ved oppgaver O, som målt ved Y, forbedres ved erfaring E.

Generalisering

Hovedmålet til en lærende agent, er å generalisere fra erfaring. Agenten må kunne ta et sett treningseksempler, og utlede en generell erfaring. Dette for å være i stand til å gi nyttige svar i tilfeller den ikke har sett før.

Menneskelig interaksjon
Noen maskinlæringssystemer søker å eliminere behovet for menneskelig intuisjon i dataanalysen, mens andre ønsker en samarbeidende tilnærming mellom menneske og maskin. Menneskelig intuisjon kan likevel ikke helt elimineres, da systemdesigneren må spesifisere hvordan data skal representeres samt hvilke mekanismer som skal brukes for å søke etter en karakterisering av data.

Algoritmetyper

Maskinlæringsalgoritmer kan organiseres i en taksonomi basert på det ønskede resultatet av algoritmen.
 Veiledet læring genererer en funksjon som tilordner inndata til ønsket utdata, basert på kategoriserte treningsdata.
 Ikke-veiledet læring genererer en funksjon som tilordner inndata til ønsket utdata, uten bruk av kategoriserte treningsdata.
 Delvis-veiledet læring kombinerer bruk av kategoriserte treningsdata og ikke-kategoriserte treningsdata for å generere en passende funksjon eller klassifiserer.
 Forsterkende læring bruker observasjoner av verden for å lære. Alle handlinger har en effekt på miljøet, samt at miljøet gir tilbakemelding i form av belønninger som veileder læringsalgoritmen.
 Transduksjon prøver å forutse nye utdata basert på treningsdata som inndata, utdata og testdata.
 Læring for å lære lærer sin egen induktiv bias basert på tidligere erfaringer.

Tilnærminger

Beslutningstrær

Læring ved beslutningstre bruker et beslutningstre som en prediktiv modell for å tilordne obvervasjoner om et element til konklusjoner om elementets målverdi.

Assosiasjonsregler

Læring ved assosiasjonsregler er en metode for å oppdage interessante relasjoner mellom variabler i store datasett.

Nevrale nettverk

Læring ved et kunstig nervralt nettverk, vanligvis referert til som "nevralt nettverk", bruker en læringsalgoritme som er inspirert av strukturen og funksjonen til biologiske nevrale nettverk. Utregninger er strukturert som sammenkoblete grupper av kunstige nevroner. Moderne kunstige nevrale nettverk er ikke-linære statistiske verktøy for datamodellering. De er vanligvis brukt til å modellere komplekse forhold mellom inndata og utdata, for å finne mønster i og klassifisere data.

Genetisk programmering

Genetisk programmering er en evolusjonær algoritme-basert metodologi, inspirert av biologisk evolusjon, for å lage programmer som utfører brukerdefinerte oppgaver. Dette er en spesialisering av genetiske algoritmer hvor hvert individ er et program. Dette er en maskinlæringsteknikk som optimaliserer populasjonen av programmer, basert på ytelsen gitt ved hvor godt programmene kan utføre den brukerdefinerte oppgaven.

Støttevektormaskiner

Støttevektormaskiner (engelsk: support vector machines) er et sett av beslektede metoder for veiledet læring, brukt for å klassifisere og gjøre regresjonsanalyse. Gitt et sett med treningseksempler, hvor individene er markert for å tilhøre én av to kategorier, lager treningsalgoritmen for støttevektormaskinen en modell som kan beslutte om et nytt eksempel faller inn i den ene kategorien eller den andre.

Bayesianske nettverk

Et bayesiansk nettverk er en grafisk modell for sannsynlighet. Den representerer et sett av tilfeldige variabler og deres betingede avhengigheter fremstilt ved hjelp av en rettet asyklisk graf . Et praktisk eksempel kan være en representasjon av sannsynlighetsfordelingen mellom sykdommer og relaterte symptomer. Nettverket kan, gitt ulike symptomer, kalkulere sannsynligheten for at en person har en sykdom. Det finnes effektive algoritmer for resonering og læring.

Forsterkende læring 

Forsterkende læring fokuserer på hvordan en agent bør handle i et miljø, med formålet å maksimerer muligheten for langsiktige belønninger. Algoritmer for forsterkende læring søker å finne regler som tilordner tilstander i verden til handlinger agenten bør utføre i den gitte tilstannden. Forsterkende læring er forskjellig fra veiledet læring da ingen korrekte par av inndata og utdata blir presentert, samt at mindre enn optimale handlinger ikke eksplisitt blir korrigert.

Se også 
 Datavitenskap
 Stordata

Referanser

Litteratur  
 Trevor Hastie, Robert Tibshirani & Jerome H. Friedman (2001). The Elements of Statistical Learning, Springer. .
 Pedro Domingos (2015), The Master Algorithm, Basic Books,  
 Stuart Russell & Peter Norvig, (2009). Artificial Intelligence – A Modern Approach. Pearson,