Obstajajo predvsem tri vrste strojnega učenja: nadzorovano učenje (sistem se uči iz označenih podatkov), nenadzorovano učenje (sistem išče vzorce v neoznačenih podatkih) in učenje z okrepitvijo (sistem se uči z interakcijo z okoljem in prejemanjem nagrad ali kazni).