
Лекции / 5. Введение в методы машинного обучения
.pdf
При обучении с учителем на вход подается набор тренировочных примеров, который обычно называют обучающим или тренировочным набором данных
(training set или training sample — тренировочная выборка), и задача состоит в том, чтобы продолжить уже известные ответы на новый опыт, выраженный обычно в виде тестового набора данных (test set, test sample).
Основное предположение здесь в том, что данные, доступные для обучения, будут чем-то похожи на данные, на которых потом придется применять обученную модель, иначе никакое обобщение будет невозможно.
Для «чтения» текста пример обучения с учителем — это обучение модели, которая строит деревья синтаксического разбора предложений (какие слова от каких зависят) по набору деревьев, построенных людьми для конкретных предложений. Предположение здесь в том, что деревья разбора строятся по одним и тем же законам, и модель, обученную на некотором наборе деревьев разбора, можно будет применить и к новым предложениям, не входящим в обучающий набор.
Если это предположение нарушится, модель работать не будет. Например, если лингвисты размечали предложения на английском языке, а потом применили обученную модель к немецкому, где буквы примерно те же, но синтаксис совершенно другой, ожидать от модели разумного поведения не стоит.

Задачи обучения с учителем обычно делятся на задачи классификации и регрессии. В задаче классификации нужно поданный на вход объект определить в один из (обычно конечного числа) классов, например, разделить фотографии животных на кошек, собак, лошадей и «все остальное»; или по фотографии человеческого лица понять, кто из ваших друзей в социальной сети на ней изображен.
Если продолжать пример с языком, то типичная задача классификации — это разметка слов по частям речи. А в задаче регрессии нужно предсказать значение некоей функции, у которой обычно может быть бесконечно много разных значений. Например, по росту человека предсказать его вес, сделать прогноз завтрашней погоды, предсказать цену акции или, скажем, выделить на фотографии прямоугольник, в котором находится человеческое лицо — сделать это необходимо, чтобы затем эти прямоугольники подать на вход упомянутому выше классификатору.

Деление на регрессию и классификацию, конечно, очень условно, можно легко придумать «промежуточные» примеры (тот же разбор предложения — к какому классу отнести задачу «построить дерево»?). Но обычно ясно, какую задачу мы решаем, и это деление имеет содержательный смысл: меняются целевые функции и, как следствие, процесс обучения.
А есть и откровенно иные виды задач, не укладывающиеся в эту несложную классификацию. Например, в поисковых и рекомендательных системах часто встречается задача обучения ранжирования (learning to rank). Она ставится так: по имеющимся данным (в поисковой системе это будут тексты документов и прошлое поведение пользователей) отранжировать, расставить имеющиеся объекты в порядке убывания целевой функции (в поисковой системе она
называется релевантностью: насколько данный документ подходит, чтобы
выдать его в ответ на данный запрос).
Эта задача чем-то похожа на задачу регрессии — нам так или иначе нужно предсказывать непрерывную целевую функцию, ту самую релевантность. Но при этом значений самой функции в данных совсем нет, да они нам и не важны. Имеют значение только результаты сравнения этой функции на разных объектах (какой документ будет выше другого в поисковой выдаче). Это приводит к ряду интересных и специфических методов обучения.

Если же размеченного набора данных, соответствующего конкретной задаче, нет, а есть просто данные, в которых надо «найти какой-нибудь смысл», то возникают задачи обучения без учителя. Типичнейший пример задачи обучения без учителя — это кластеризация (clustering): нужно разбить данные на заранее неизвестные классы по некоторой мере похожести так, чтобы точки, отнесенные к одному и тому же кластеру, были как можно ближе друг к другу, как можно более похожи, а точки из разных кластеров были бы как можно дальше друг от друга, как можно менее похожи.
Например, решив задачу кластеризации, можно выделить семейства генов из последовательностей нуклеотидов, или кластеризовать пользователей вашего веб-сайта и персонализовать его под каждый кластер, или сегментировать медицинский снимок, чтобы легко было понять, где же там опухоль.
Еще одна часто встречающаяся задача обучения без учителя — это снижение размерности (dimensionality reduction), когда входные данные имеют большую размерность (например, если у вас на входе разбитый на слова текст, размерность будет исчисляться десятками тысяч, а если фотографии — миллионами), а задача состоит в том, чтобы построить представление данных меньшей размерности, которое тем не менее будет достаточно полно отражать исходные данные.

Нередко в жизни возникает нечто среднее между обучением с учителем и обучением без учителя. Так обычно получается тогда, когда неразмеченные примеры найти очень легко, а размеченные получить сложно. Например, во все том же примере с синтаксическим разбором набрать сколько угодно неразмеченных текстов не представляет никакой сложности, а вот вручную нарисовать даже одно дерево нелегко.
Задумайтесь о том, что такое «размеченные данные» для распознавания речи. Просто установить соответствие между звуковым файлом с речью и текстом, особенно если тексты достаточно длинные, может быть недостаточно. Понастоящему размеченные данные для распознавания — это звуковые файлы, в которых вручную отмечены (или хотя бы проверены) границы каждой фонемы, каждого звука человеческой речи. Это адский труд, обычно делегируемый младшим научным сотрудникам, но даже целая армия лингвистов-фонологов будет двигаться достаточно медленно. А неразмеченных звуков живой человеческой речи вы можете записать сколько угодно, просто включив диктофон на запись.
Такую ситуацию иногда называют обучением с частичным привлечением учителя, или полуконтролируемым обучением (английский термин semisupervised learning устоялся куда больше).

Обучение с подкреплением (reinforcement learning), - это когда агент,
находясь в некоей среде, производит те или иные действия и получает за это награды. Цель агента — получить как можно большую награду с течением времени, а для этого неплохо бы понять, какие действия в конечном счете ведут к успеху. Так можно обучиться играть в разные игры или, например, сделать отличный протокол для A/B-тестирования
(метод маркетингового исследования, суть которого заключается в том, что контрольная группа элементов сравнивается с набором тестовых групп, в которых один или несколько показателей были изменены для того, чтобы выяснить, какие из изменений улучшают целевой показатель).
Метод часто используется в веб-дизайне, типичные применения — исследование влияния цветовой схемы, расположения и размера элементов интерфейса на конверсию сайта. В веб-дизайне часто тестируются две очень похожие веб-страницы (страница А и страница В), которые различаются лишь одним элементом или несколькими элементами.