В современном ИИ (которое по большей части представлено машинным обучением) есть три основных задачи:
1) Классификация, она же обучение с учителем: есть тренировочное множество объектов, каждый объект помечен меткой. Задача алгоритма состоит в том чтобы обучиться присваивать верные метки объектам даже тем которые он не видел.
Есть вариант этой задачи - регрессия - когда каждому объекту присваивается вещественное число а не метка из небольшого конечного множества.
Лучшие алгоритмы для решения этой задачи - свёрточные нейронные сети, SVM, random forest, AdaBoost.
2) Обучение без учителя, она же кластеризация, она же извлечение особенностей (feature extraction):
Задача алгоритма состоит в том чтобы распределить объекты по группам по похожести оптимальным в некотором смысле образом. В идеале если такому алгоритму дать набор где перемешаны фотографии людей и котов то он сам раскидает их в две кучи так что в одной будут почти только люди а в другой почти только коты. (Разреженный автоэнкодер Google научился это делать с неплохой точностью).
Лучшие алгоритмы для этой задачи - kmeans, PCA, разреженные автоэнкодеры.
3) Обучение с подкреплением, оно же reinforcement learning.
В этой задаче алгоритм на каждом шаге принимает входные данные из некоторой среды а также число означающее "награду" (то что можно интерпретировать как удовольствие или боль) и выбирает одно из множества доступных действий. Цель агента - добиться максимальной суммы награды по шагам.
Т.е. такому алгоритму приходится исследовать какие действия и их последовательности в данной ему среде приводят к награде (удовольствию) в зависимости от воспринимаемых данных и учиться достигать этих состояний снова и снова.
Замечу что задача 3) наиболее общая, так как задачи 1) и 2) сводятся к ней. Именно способность алгоритма к решению широкого множества частных случаев задач типа 3) стало принято считать наиболее общим определением интеллекта.
Лучшие алгоритмы для решения этой задачи - TD(lambda), Q-обучение с аппроксиматором на основе свёрточной нейросети.