Часть I • Актуальность и основные понятия
предложений типа «свобода не дается бесплатно» или наслаждения противоречиями
и ссылками на самого себя в картинах М. К. Эшера. Подобная «глубина» остается
пока недостижимой целью для исследователей ИИ
1
. В будущем глубокое обучение
может приблизить нас к подобной глубине, но ее явно не так просто достичь и оце
нить количественно, как добавить слои в нейронные сети.
ИНФОБОКС 1.1. Не только нейронные сети: другие популярные методики машинного обучения Мы перешли от круга «Машинное обучение» на диаграмме Венна (см. рис. 1.1) непо
средственно к внутреннему кругу «Нейронная сеть». Впрочем, имеет смысл вкратце
упомянуть и не относящиеся к нейронным сетям методики машинного обучения:
не только ради исторического контекста, но и потому, что некоторые из них могут
встретиться вам в уже существующем коде.
Наивный байесовский классификатор (naive Bayes classifier) — одна из первых форм
машинного обучения. Попросту говоря, теорема Байеса дает возможность оценки
вероятности события по: 1) априорной вероятности этого события; 2) наблюдаемым
фактам относительно этого события (называемым
признаками ). Пользуясь этой тео
ремой, можно классифицировать наблюдаемые точки данных по одной из множества
категорий, выбрав наиболее вероятную (правдоподобную) в смысле наблюдаемых
фактов категорию. В основе наивного байесовского классификатора лежит допущение,
что наблюдаемые факты взаимно независимы (строгое и наивное допущение, отсюда
и название).
Логистическая регрессия (logistic regression, logreg) — еще один метод классификации.
Благодаря простоте и гибкости она до сих пор популярна, и исследователи данных
зачастую начинают с нее работу над любой задачей классификации.
Ядерные методы (kernel methods), самый известный пример которых —
метод опорных векторов (support vector machine, SVM), предназначены для решения задач бинарной
(с двумя классами) классификации. Она выполняется путем отображения исходных
данных в пространства более высокой размерности и поиска преобразования, которое
максимизировало бы расстояние (так называемый
отступ (margin)) между двумя
классами примеров данных.
Деревья принятия решений (decision trees) — напоминающие блоксхемы структуры,
с помощью которых можно классифицировать входные точки данных или предсказы
вать выходные значения по входным. На каждом шаге этой блоксхемы вы отвечаете
на простой вопрос наподобие: «Превышает ли значение признака X заданное порого
вое значение?» В зависимости от ответа (да/нет) выполняется переход к одному из
двух других вопросов (тоже типа да/нет) и т. д. По достижении конца блоксхемы вы
получаете окончательный ответ. Деревья принятия решений наглядны и удобны для
интерпретации людьми.
Случайные леса (random forests) и
градиентный бустинг (gradientboosted machine) по
вышают безошибочность деревьев принятия решений за счет формирования ансамблей
1
Hofstadter D. The Shallowness of Google Translate // The Atlantic. 30 Jan. 2018. http://
mng.bz/5AE1.