Обучение с учителем
Богдан Немешаев · Опубликовано:
Чтобы модель научилась определять тему обращения или предсказывать время доставки, ей можно показать прошлые примеры с известными ответами. Такой подход называется обучением с учителем. Его цель — находить полезные закономерности и применять их к новым случаям.
Разберём два учебных примера: выбор категории обращения и прогноз числа часов до доставки. Нажмите на узел схемы, чтобы перейти к пояснению, или воспользуйтесь содержанием статьи.
Схема обучения с учителем
На узком экране прокручивайте схему внутри рамки. С клавиатуры выбирайте узлы клавишей Tab и переходите к пояснениям клавишей Enter. Ниже есть текстовое содержание.
Что такое обучение с учителем
Обучение с учителем, по-английски supervised learning, — способ машинного обучения на примерах, для которых известны целевые ответы. У обращения есть текст и установленная тема, у завершённой доставки — характеристики заказа и фактическое время в пути.
«Учитель» здесь — известные ответы в обучающих данных. По ним алгоритм подбирает модель, которая связывает входные характеристики с нужным результатом. Когда обучение закончено, модель получает новый пример и строит прогноз без подсказки правильного ответа от человека.
Человек по-прежнему определяет задачу, готовит данные и проверяет ошибки. Но сидеть рядом и указывать ответ при каждом применении модели не требуется. Обучение с учителем используют и для классических моделей, и для нейросетей: название описывает способ обучения, а не устройство модели.
Классификация: определить категорию
Классификация в машинном обучении помогает отнести объект к заранее заданной категории. Представим службу поддержки с темами «оплата», «доставка» и «возврат». В нашем учебном примере для каждого обращения выбирают одну тему.
- Вход при обучении: текст прошлого обращения «Деньги списались дважды». Перед обработкой текст преобразуют в признаки, с которыми может работать выбранная модель.
- Известный ответ: сотрудник проверил обращение и отметил тему «оплата». Эта отметка служит целевым ответом для обучения.
- Новый пример: приходит сообщение «После покупки вижу два одинаковых списания». Модель может предложить категорию «оплата» — это её предсказание, которое ещё может оказаться ошибочным.
Такой результат можно использовать для выбора очереди поддержки. Если человек спрашивает сразу о возврате и доставке или пишет на незнакомую тему, заранее нужны правила обработки подобных случаев. Модель, обученная выбирать из трёх категорий, не получает автоматически способность распознавать любые новые темы.
Регрессия: предсказать число
Регрессия в машинном обучении — задача прогноза числовой величины. Пусть служба доставки хочет оценить число часов от приёма заказа до вручения. Прогноз нужен в момент приёма, поэтому его входные данные должны быть доступны уже тогда.
- Вход при обучении: расчётное расстояние, масса посылки, выбранный способ доставки, день недели и известная на момент приёма загрузка службы.
- Известный ответ: фактическая продолжительность завершённой доставки, рассчитанная по времени приёма и вручения.
- Новый пример: для нового заказа передают те же виды входных данных. Результат — оценка продолжительности в часах, например 6 часов. Это условный прогноз для иллюстрации, а не измеренный результат внедрения.
Фактическое время вручения нового заказа ещё неизвестно: использовать его как входную характеристику нельзя. Сведения о пробке, возникшей после приёма заказа, тоже не подходят для прогноза, сделанного раньше.
Различие между классификацией и регрессией определяется вопросом. «Сколько часов займёт доставка?» требует числа. «Доставят ли заказ вовремя?» требует категории «да» или «нет». Запись этих категорий цифрами не превращает задачу в регрессию.
Какие методы и модели используют
Полезно различать три уровня: способ обучения задаёт работу с известными ответами; задача определяет, что предсказывать; модель и алгоритм её обучения определяют, как получить этот прогноз. Поэтому классификация не означает какой-то один конкретный алгоритм.
- Дерево решений проверяет последовательность условий, например способ доставки и диапазон расстояния. Условия подбираются по обучающим данным. Деревья можно использовать и для выбора категории, и для прогноза числа.
- Линейная регрессия прогнозирует число, складывая вклады признаков с подобранными при обучении весами. Это один из возможных исходных вариантов для оценки срока доставки; сложные зависимости он может описывать недостаточно хорошо.
- Логистическая регрессия, несмотря на название, используется для классификации. Она оценивает вероятности категорий; по этим оценкам можно выбрать предполагаемую тему обращения.
- Нейросеть тоже может учиться на примерах с целевыми ответами. В зависимости от устройства и обучения она решает задачу классификации или регрессии. Само слово «нейросеть» не определяет формат результата и не гарантирует качество.
Несколько подходов сравнивают на одной задаче и одинаковых проверочных данных. Общая карта методов и их место среди других подходов разобраны в статье «Классическое машинное обучение».
Какие данные нужны для обучения с учителем
Пример — отдельное обращение или доставка. Признаки — характеристики, по которым строится прогноз: слова в сообщении, расстояние, масса посылки. Целевой ответ — то, что нужно научиться предсказывать: тема обращения или число часов до вручения. Эти роли важно определить до сбора данных.
Разметка данных связывает примеры с целевыми ответами. Их источниками могут быть люди, история операций или измерения. Сотрудник назначает тему обращению, журнал событий хранит время вручения заказа, датчик фиксирует измеряемую величину. Ручная подпись каждого примера нужна не всегда, но корректность полученных ответов всё равно проверяют.
Для обращений нужны понятные правила: что считать «оплатой», а что «возвратом», как поступать с несколькими темами. Полезно независимо проверить часть разметки и разобрать расхождения. Для доставок важно одинаково определять начало и конец срока и не смешивать часы с днями.
Примеры должны представлять будущую работу модели. Если в истории есть только короткие доставки по центру города, качество на дальних маршрутах остаётся неизвестным. Если преобладают обращения об оплате, нужно отдельно проверить редкие темы. Большой объём однотипных записей не заменяет разнообразия. Универсального числа примеров, достаточного для любой задачи, нет: это выясняют по качеству проверки.
Как обучают и проверяют модель
Сначала определяют нужный результат и момент прогноза, собирают примеры, проверяют ответы и выбирают доступные признаки. Затем данные разделяют по назначению:
- Обучающая выборка. На этих примерах алгоритм подбирает параметры модели: например, условия дерева или веса линейной модели.
- Валидационная выборка. На отдельной части данных сравнивают варианты модели и выбирают настройки. Например, проверяют, сколько последовательных условий разрешить дереву.
- Тестовая выборка. Отложенные примеры используют для независимой итоговой проверки выбранного решения. По их результатам не подбирают настройки, иначе проверка перестаёт быть независимой.
Разделение должно соответствовать будущему применению. Для прогноза новых доставок по истории проверочные заказы берут из более позднего периода, чем обучающие. Копии одного обращения не должны оказываться одновременно в обучении и проверке. Подготовку признаков, которая сама учится по данным, тоже настраивают только на обучающей части.
Хороший результат на знакомых примерах ещё не показывает, что модель справится с новыми формулировками или заказами. Если она подстроилась под случайные детали истории, ошибки на обучающей выборке будут малы, а на новых случаях — заметно больше. Это называют переобучением.
Для классификации можно посчитать долю верно определённых тем, но одного общего числа недостаточно. Если почти все обращения относятся к доставке, модель может часто угадывать, всегда выбирая эту тему. Поэтому отдельно смотрят, сколько обращений об оплате она находит и сколько чужих тем ошибочно отправляет в очередь оплаты. Это разные стороны качества, и цена таких ошибок может различаться.
Для регрессии сравнивают прогноз с фактическим временем. Если в учебном примере предсказано 6 часов, а доставка заняла 8, ошибка составила 2 часа. Можно оценить среднюю величину отклонения без учёта знака, а также отдельно посмотреть большие ошибки и случаи занижения срока. Среднее по всем заказам способно скрыть проблемы на отдельных маршрутах.
Модель полезно сравнить с простым исходным правилом: например, прогнозировать типичный срок для данного способа доставки. Если сложное решение не улучшает нужный показатель на новых данных, его польза для этой задачи пока не подтверждена.
Где подход полезен и в чём его преимущества
Обучение с учителем подходит, когда понятен нужный ответ, есть примеры с достаточно надёжными ответами и доступные признаки связаны с результатом. Важно также понимать, как использовать прогноз и какую ошибку можно принять. Ниже — возможные сценарии для наших учебных примеров, а не реальные кейсы.
В поддержке классификатор может предложить очередь для нового сообщения. Перед запуском проверяют ошибки по каждой теме, а для спорных обращений предусматривают участие сотрудника. Если список тем постоянно меняется, придётся пересматривать разметку и проверять модель заново.
В доставке числовой прогноз может помочь планировать работу и ориентировать клиента по сроку. Для этого нужны история завершённых заказов и те же виды признаков, которые будут доступны при новом заказе. Оценку модели нельзя автоматически считать гарантированным сроком: непредвиденные события сохраняются.
Преимущество подхода — конкретная цель и возможность измерять ошибки по известным ответам. На одинаковых данных можно сравнить несколько моделей и проверить улучшение. После обучения модель способна выдавать прогнозы для новых примеров без ручной разметки каждого из них; затраты на подготовку данных и последующий контроль при этом остаются.
Ошибки и ограничения обучения с учителем
- Ошибки разметки. Если похожие сообщения без понятного правила получают разные темы, модель учится на противоречивых примерах. Если журнал доставки содержит неверное время вручения, ошибочным становится сам целевой ответ.
- Недостаток подходящих примеров. Привычные случаи могут обрабатываться хорошо, а редкие темы и новые маршруты — плохо. Это требует проверки по отдельным группам и сбора недостающих данных.
- Переобучение. Модель может запомнить особенности прошлых обращений вместо полезных закономерностей. Проверка на новых примерах помогает это заметить; среди возможных мер — ограничить сложность модели и расширить набор качественных данных.
- Попадание ответа в признаки. Например, при обучении классификатору передали название очереди, которую уже выбрал сотрудник, а при реальном прогнозе её ещё нет. Это утечка данных: оценка качества получается завышенной. В доставке аналогичная ошибка — использовать время вручения как вход для прогноза срока.
- Изменение условий. Новые товары меняют темы обращений, а новый график перевозок — сроки. Нужно следить за входными данными и сравнивать прогнозы с появляющимися фактическими ответами; при ухудшении качества может потребоваться обновление данных и повторное обучение.
Подход ограничен тем, чему позволяют научиться выбранные данные. Если надёжного целевого ответа пока нет или необходимые признаки недоступны в момент прогноза, сначала нужно уточнить постановку задачи. Замена одного алгоритма другим сама по себе эти проблемы не устраняет.
Чем отличается обучение с учителем от обучения без учителя
Главное различие — наличие заданных целевых ответов в обучающих примерах. При обучении с учителем мы заранее отмечаем темы обращений и учим модель выбирать их для новых сообщений.
При обучении без учителя таких отметок нет. Можно, например, сгруппировать похожие обращения и затем изучить, какие темы в них встречаются. Найденные группы не обязаны совпадать с готовыми категориями службы поддержки. Человек всё равно выбирает данные и оценивает смысл результата.
Для задачи с известным целевым ответом отправной точкой служат качественные примеры и проверка на новых случаях. Именно она показывает, насколько модель полезна для выбранного применения.