Algoritmii de învățare automată sunt programe informatice care învață din date. Ei funcționează prin extragerea de caractere sau modele din date și construirea unor modele matematice care să poată fi folosite pentru a face predicții sau pentru a clasifica noi date. Acești algoritmi pot fi supervizați, nesupervizați sau semi-supervizați și necesită un volum mare de date pentru a funcționa corect.