Машинное обучение с учителем: от математических основ до промышленной реализации

Глубокий теоретический и практический курс, ориентированный на подготовку к техническим собеседованиям и защите дипломных работ. Включает детальный разбор математического аппарата алгоритмов, методов оптимизации и стратегий валидации моделей.

1. Основы обучения с учителем и формальная постановка задач

Основы обучения с учителем и формальная постановка задач

Представьте, что вы учите ребенка отличать съедобные грибы от ядовитых. Вы не читаете ему лекцию о клеточном строении грибницы, а показываете сотни фотографий: «Это белый — он хороший», «Это бледная поганка — она опасна». Ребенок запоминает характерные признаки (цвет шляпки, наличие юбочки на ножке) и со временем начинает безошибочно определять грибы, которые видит впервые. В машинном обучении этот процесс называется обучением с учителем (Supervised Learning), где роль «учителя» играет размеченный набор данных. Но как перевести интуитивное узнавание образа на язык строгой математики, чтобы алгоритм мог минимизировать риск ошибки?

Математический скелет: объекты, признаки и ответы

В основе любой задачи обучения с учителем лежит попытка восстановить функциональную зависимость между входными данными и целевым показателем. Чтобы компьютер мог оперировать реальностью, мы должны формализовать её.

Пусть — множество объектов (например, клиенты банка, изображения МРТ или текстовые письма). Каждый объект описывается набором характеристик, которые мы называем признаками (features). Совокупность всех признаков одного объекта формирует признаковое описание — вектор , где — размерность признакового пространства.

Множество — это пространство ответов. Если мы хотим предсказать цену квартиры, будет множеством положительных вещественных чисел. Если мы определяем, является ли транзакция мошеннической, будет состоять из двух меток: .

Связующим звеном выступает неизвестная нам целевая зависимость . Наша цель — найти такую функцию , называемую алгоритмом или моделью, которая была бы максимально близка к на всем множестве . Проблема в том, что нам недоступна в явном виде. У нас есть лишь обучающая выборка (training set):

Здесь — это -й объект, а — правильный ответ для него, предоставленный «учителем». Число обозначает объем выборки. Задача обучения сводится к тому, чтобы по этой конечной выборке построить алгоритм , способный выдавать верные ответы на новых объектах, которых не было в обучении. Это свойство называется обобщающей способностью.

Типология признаков

Качество модели напрямую зависит от того, как мы представили объекты. В ML выделяют несколько типов признаков, каждый из которых требует особого математического подхода:

  • Бинарные признаки: принимают значения . Например, «есть ли у пациента кашель».
  • Номинальные (категориальные) признаки: значения не сравнимы между собой. Цвет машины (красный, синий, зеленый) или город проживания. Мы не можем сказать, что «Москва > Самара» в арифметическом смысле.
  • Порядковые признаки: значения можно ранжировать, но нельзя измерить расстояние между ними. Например, уровень образования (среднее, высшее, ученая степень).
  • Количественные признаки: вещественные числа, над которыми можно проводить любые арифметические операции. Возраст, доход, температура.
  • Пространство гипотез и функционал потерь

    Когда мы приступаем к обучению, мы не ищем функцию среди всех возможных математических функций (их бесконечно много, и большинство из них — шум). Мы заранее ограничиваем поиск некоторым семейством функций , которое называется пространством гипотез.

    Например, в линейной регрессии мы предполагаем, что ответ — это взвешенная сумма признаков:

    Здесь веса — это параметры модели, которые мы будем настраивать. Обучение — это процесс выбора наилучшей функции из заданного семейства .

    Но что значит «наилучшая»? Для этого нам нужна мера ошибки на одном конкретном объекте — функция потерь . Она вычисляет штраф за расхождение между предсказанием и истинным ответом .

    Классические функции потерь

    Выбор зависит от типа задачи. В задачах регрессии (когда ) чаще всего используют квадратичную потерю:

    Она сильно штрафует за большие отклонения, что делает модель чувствительной к выбросам. Альтернатива — абсолютная потеря , которая более устойчива к аномалиям в данных.

    В задачах классификации, где или , идеальной была бы индикаторная функция , которая равна при ошибке и при правильном ответе. Однако она разрывна и имеет нулевую производную почти везде, что делает невозможным применение градиентных методов оптимизации. Поэтому на практике используют гладкие аппроксимации, такие как логистическая функция потерь (LogLoss):

    Здесь произведение называется отступом (margin). Если отступ положителен, модель предсказывает верный знак, если отрицателен — ошибается.

    Эмпирический риск и принцип его минимизации

    Имея функцию потерь для одного объекта, мы можем оценить качество модели на всей выборке. Средняя ошибка на обучающих данных называется эмпирическим риском:

    Принцип минимизации эмпирического риска (Empirical Risk Minimization, ERM) гласит: наилучшей моделью будет та, которая минимизирует на обучающей выборке.

    Однако здесь кроется главная ловушка машинного обучения. Если мы выберем слишком сложное семейство функций (например, полиномы очень высокой степени), мы можем найти такую функцию, которая идеально пройдет через все точки обучающей выборки, показав нулевой риск. Но на новых данных такая модель, скорее всего, провалится. Это явление называется переобучением (overfitting).

    Модель просто «зазубрила» примеры вместе с шумом, вместо того чтобы выявить общие закономерности. Противоположная ситуация — недообучение (underfitting), когда модель слишком проста (например, прямая линия для данных, имеющих сложную кривизну) и не может уловить даже основную структуру данных.

    Основные типы задач обучения с учителем

    В зависимости от структуры множества ответов , задачи Supervised Learning делятся на несколько фундаментальных классов. Понимание того, к какому классу относится ваша проблема, определяет выбор алгоритма, функции потерь и метрик качества.

    Регрессия (Regression)

    В задачах регрессии целевая переменная является непрерывной величиной ( или интервал). * Пример: Прогнозирование спроса на электроэнергию в мегаваттах на следующий день на основе прогноза погоды и дня недели. * Нюанс: Важно учитывать распределение целевой переменной. Если оно имеет «тяжелые хвосты» (много экстремально больших значений), стандартная минимизация квадратичной ошибки может привести к смещенным результатам.

    Классификация (Classification)

    Здесь — это конечное множество меток (классов). * Бинарная классификация: . Ответ на вопрос «да/нет». Одобрить ли кредит? Является ли письмо спамом? * Многоклассовая классификация (Multiclass): . Объект принадлежит строго одному из классов. Например, распознавание рукописных цифр (). * Классификация с несколькими метками (Multi-label): Объект может принадлежать сразу к нескольким категориям. Например, новостная статья может одновременно относиться к темам «Политика», «Экономика» и «Технологии».

    Ранжирование (Ranking)

    В задачах ранжирования нам не столько важно точное значение или класс, сколько правильный порядок объектов. * Пример: Поисковая выдача. Для запроса пользователя алгоритм должен отсортировать миллионы веб-страниц так, чтобы наиболее релевантные оказались вверху. Здесь ответом является не число, а перестановка (permutation) объектов.

    Жизненный цикл разработки модели

    Процесс обучения с учителем в индустрии — это не просто вызов model.fit(). Это итеративный цикл, состоящий из критически важных этапов.

  • Сбор и разметка данных: Самый дорогой и важный этап. Качество модели ограничено качеством данных (принцип Garbage In, Garbage Out). Если разметчики ошибались в 20% случаев, модель вряд ли превзойдет этот порог.
  • Разведочный анализ данных (EDA): Исследование распределений, поиск корреляций и визуализация. На этом этапе мы понимаем, есть ли в данных пропуски, выбросы или перекосы (например, когда 99% транзакций легальны и только 1% — фрод).
  • Предобработка и генерация признаков (Feature Engineering): Перевод сырых данных в векторы. Тексты превращаются в эмбеддинги, даты — в признаки типа «день недели» или «праздничный день». Количественные признаки часто масштабируются, чтобы их разный масштаб не сбивал алгоритмы оптимизации.
  • Разбиение выборки: Чтобы честно оценить модель, мы делим данные на обучающую (train) и тестовую (test) части. Обучение идет на train, а финальный замер качества — на test, который модель никогда не видела.
  • Обучение и подбор гиперпараметров: Мы выбираем алгоритм и настраиваем его внешние параметры (например, глубину дерева или коэффициент регуляризации).
  • Валидация: Использование кросс-валидации для более устойчивой оценки качества и предотвращения переобучения на тестовой выборке в процессе подбора параметров.
  • Интерпретация и деплой: В бизнесе часто важно понимать, почему модель приняла то или иное решение. После проверки модель упаковывается в сервис и начинает обрабатывать реальные запросы.
  • Вероятностный взгляд на обучение

    За кадром детерминированных формул всегда стоит теория вероятностей. Мы предполагаем, что существует некоторая совместная плотность распределения , из которой независимо и одинаково распределенно (i.i.d. — independent and identically distributed) извлекаются наши данные.

    Тогда истинный риск — это математическое ожидание функции потерь:

    Мы не знаем , поэтому заменяем интеграл средним арифметическим по выборке — так мы снова возвращаемся к эмпирическому риску. По закону больших чисел, при увеличении объема выборки , эмпирический риск стремится к истинному. Однако скорость этой сходимости зависит от сложности семейства функций . Этот вопрос детально изучает теория Вапника-Червоненкиса (VC-theory), которая вводит понятие емкости модели.

    Проблема несбалансированных данных и цена ошибки

    В теории мы минимизируем среднюю ошибку. На практике ошибки имеют разную стоимость. Рассмотрим систему диагностики редкого, но смертельного заболевания. * Ошибка первого рода (False Positive): Здоровому человеку сказали, что он болен. Это вызовет стресс и потребует дополнительных анализов. Неприятно, но не фатально. * Ошибка второго рода (False Negative): Больному человеку сказали, что он здоров. Он не получит лечения и может умереть.

    Если в нашей выборке 999 здоровых людей и 1 больной, модель, которая всегда говорит «здоров», будет иметь точность (Accuracy) . С точки зрения математической минимизации риска без учета весов — это отличная модель. С точки зрения медицины — абсолютно бесполезная и опасная.

    Для решения этой проблемы в постановку задачи вводят веса объектов или используют специальные функции потерь, которые сильнее штрафуют за пропуск редкого класса. Также на этапе формализации важно выбрать правильную метрику: вместо Accuracy использовать -меру или площадь под ROC-кривой (ROC-AUC), о которых мы подробно поговорим в следующих главах.

    Границы применимости Supervised Learning

    Обучение с учителем — мощный инструмент, но у него есть фундаментальные ограничения:

  • Наличие разметки: Если у вас есть миллион логов сервера, но нет отметок о том, в какие моменты происходила хакерская атака, вы не сможете напрямую применить классическое обучение с учителем.
  • Стационарность среды: Модель предполагает, что зависимости, найденные в прошлом, сохранятся в будущем. Если поведение покупателей резко изменилось (например, из-за глобального кризиса), модель, обученная на старых данных, станет неадекватной. Это называется Data Drift.
  • Смещение в данных (Bias): Если в обучающей выборке банка на кредиты подавали в основном мужчины, модель может ошибочно выучить, что пол является важным фактором платежеспособности, что приведет к дискриминации.
  • Понимание этих основ — объектов, признаков, ответов, функций потерь и риска — закладывает фундамент для изучения любого алгоритма машинного обучения. В следующей главе мы перейдем от общей постановки к первому конкретному методу — линейной регрессии, где увидим, как минимизация эмпирического риска превращается в элегантную задачу матричного исчисления.