Allerede i 1959 definerede Arthur Lee Samuel, pioner inden for kunstig intelligens og selvlærende spil, machine learning som "the field of study that gives computers the ability to learn without being explicitly programmed". Det opsummerer grundlæggende begrebet, men der er siden kommet mange og mere detaljerede bud blandt andet fra udviklingshuse og undervisningsinstitutioner.
SAS Institute, som er en af de helt store spillere inden for data analytics, bruger denne formulering på sin hjemmeside: "Machine learning is a method of data analysis that automates analytical model building. Using algorithms that iteratively learn from data, machine learning allows computers to find hidden insights without being explicitly programmed where to look."
Denne definition medtager et vigtigt element i machine learning: Læringen opstår ved gennem dataanalyse af et meget stort antal eksempler at bygge og løbende forbedre en model, der kan bruges af en algoritme til at genkende mønstre og efterfølgende returnere gode forudsigelser og svar på det formulerede problem.
En værktøjskasse
Uddannelsesinstitutioner, der har taget machine learning ind som pensum, har også haft behov for at komme med en kort og præcis definition. Datalogisk Institut, Aarhus Universitet, definerer machine learning således i sin kursusoversigt:
"Machine learning handler om automatiske metoder til at lave præcise forudsigelser eller tage anvendelige beslutninger baseret på tidligere observationer og erfaringer. Machine learning kombinerer matematisk modellering, statistik og sandsynlighedsregning med algoritmik og optimering."
Denne beskrivelse afslører også, at machine learning i høj grad er tværdisciplinær og kan betragtes som en værktøjskasse, man kan gribe i til udvikling af den specifikke applikation.
Supervised, unsupervised og reinforcement
Machine learning opdeles typisk i nogle underkategorier. Nedenfor ses de tre kategorier, man underviser i på machine learning-kurset på Datalogisk Institut, Aarhus Universitet. Beskrivelserne er baseret på input fra specialkonsulent Allan Grønlund, der underviser på kurset.
Supervised learning
Baseret på eksempeldata, eksempelvis billeddata, der hvert er blevet tagget med, hvad det er et billede af, udleder supervised learning-mønstre i eksemplerne, der kan bruges til at udlede den korrekte label for det givne input. Disse mønstre kan funktionen så anvende i forsøg på at genkende data uden label og derved give dem en label. Outputtet af supervised learning-algoritmen er en funktion, der gør netop det.
To af de simpleste supervised learning-algoritmer er en algoritme, som finder den bedste lineære funktion, der passer med eksempeldataene og en funktion, der på et givet input returnerer en label for det punkt i eksempeldataene, der minder mest om inputpunktet.
En anden variant er deep learning, hvor algoritmen finder et godt ”dybt neuralt netværk” til at finde mønstre. Disse dybe neurale netværk kan definere/approksimere en bred vifte af funktioner og beskrives typisk som en serie af lag, der hver laver en række lineære kombinationer af outputtet af det tidligere lag og derefter sender resultaterne gennem en ikke-lineær transformation og videre til det næste lag. Så det dybe kommer af, at dataene går igennem mange (ikke-lineære) transformationer for at lave mønstergenkendelsen, inden der tages en beslutning om, hvilken label inputtet skal have. Det er disse dybe netværk, der har været med til at revolutionere billed- og talegenkendelse igennem de seneste år.
Unsupervised learning
Her arbejder algoritmen på unlabeled data, hvor man ønsker at finde mønstre og strukturer, som eksempelvis kan anvendes til at identificere og gruppere objekter, der minder om hinanden. Kan for eksempel anvendes til analyse af kundeadfærd med henblik på at målrette reklameindsatser.
Reinforcement learning
Minder om de to andre, men trækker på spilkonceptet, hvor en agent interagerer med det omkringliggende miljø, tager en bestemt aktion, hvorved der sker en ændring i miljøet. Algoritmen "lærer ved at spille spillet" og optimeres dermed til at opnå noget bestemt. Anvendes eksempelvis i kontrolsystemer og tenderer noget, man kunne kalde kunstig intelligens.