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.