Модуль 3: Классические алгоритмы. От простого к сложному
Прежде чем переходить к нейросетям и бустингу, полезно разобрать «классику»: линейную и логистическую регрессию, KNN и решающие деревья. Эти модели относительно просты, их легко интерпретировать, и они часто служат бейзлайном в проектах. Понимание их работы помогает осознанно выбирать между простой и сложной моделью и разбираться в ансамблях (следующий модуль), где деревья — базовый строительный блок.
Задача модуля: понять логику работы интерпретируемых моделей и их ограничения, чтобы потом осознанно сравнивать их с «чёрным ящиком» нейросетей и ансамблей.
3.1 Линейная регрессия и её механика
Линейная регрессия — это предсказание целевой переменной как линейной комбинации признаков. В школе это прямая y = kx + b; в многомерном случае — y = w₁x₁ + w₂x₂ + … + wₙxₙ + w₀, где w₀ — свободный член (bias), а w₁, w₂, … — веса признаков.
Обучение — подбор весов так, чтобы предсказания как можно лучше совпадали с правильными ответами. Классический способ — метод наименьших квадратов (МНК): минимизировать средний квадрат ошибки (MSE). То же можно делать градиентным спуском, что особенно важно для больших данных и как шаг к нейросетям.
Интерпретация: если признак xᵢ увеличить на 1 при неизменных остальных, предсказание изменится на wᵢ. Поэтому коэффициенты линейной регрессии часто смотрят в отчётах и при отборе признаков.
Ограничения: модель предполагает линейную связь между признаками и целью. Нелинейные зависимости и взаимодействия признаков требуют либо ручного создания новых признаков, либо более сложных моделей (деревья, нейросети).
3.2 Логистическая регрессия (основа классификации)
Для классификации нельзя просто выдать число как в регрессии: нужна вероятность принадлежности классу. Логистическая регрессия берёт ту же линейную комбинацию весов и признаков, но пропускает её через сигмоиду (логистическую функцию) — S-образную кривую, которая «сжимает» любое число в интервал от 0 до 1. Это число и трактуется как вероятность положительного класса.
Граница принятия решения — обычно 0,5: если вероятность выше 0,5 — предсказываем один класс, ниже — другой. Порог можно менять, если важнее минимизировать ложные срабатывания или пропуски (в зависимости от задачи).
Несмотря на название «регрессия», это классификатор; он обучается максимизацией правдоподобия или минимизацией кросс-энтропии. Логистическая регрессия остаётся одним из самых распространённых и интерпретируемых методов бинарной классификации.
3.3 Метрические методы (KNN)
KNN (k ближайших соседей) — пример «ленивого» обучения: модель по сути запоминает обучающую выборку. Для нового объекта мы ищем k ближайших к нему объектов в пространстве признаков и выдаём ответ по ним: при классификации — голосование по классам (какой класс чаще среди k соседей), при регрессии — среднее значение целевой переменной у соседей.
Меры расстояния — обычно евклидово расстояние или манхэттенское; выбор метрики влияет на то, что считается «похожим». Важно масштабировать признаки: иначе признак с большей дисперсией (например, доход в рублях) будет доминировать над признаками в меньшем масштабе. Число k и веса соседей (например, обратное расстоянию) позволяют снизить влияние шума и сгладить предсказания.
Плюсы и минусы
KNN прост и не требует явного обучения, но предсказание может быть медленным на больших выборках (нужно искать соседей), и качество сильно зависит от выбора k и метрики.
3.4 Решающие деревья (Decision Trees)
Решающее дерево разбивает данные по условиям вида «признак < порог»: в корне один вопрос, по ответу переходим в левую или правую ветку, и так далее, пока не попадём в лист с предсказанием. По сути это цепочка if-else по признакам, которую алгоритм строит сам по данным.
Энтропия и прирост информации — мера «размазанности» классов в узле. Дерево на каждом шаге выбирает признак и порог разбиения так, чтобы уменьшить энтропию (сделать узлы «чище» по классам) или максимизировать прирост информации. Критерии могут быть и другими (например, Gini).
Проблема переобучения: глубокое дерево может запомнить шум и выучить каждое наблюдение, тогда на новых данных качество падает. Ограничивают глубину, минимальное число объектов в листе, обрезают дерево после построения или используют ансамбли (Random Forest, бустинг) — в следующем модуле.
Плюсы: дерево легко интерпретировать (можно распечатать правила), хорошо работает с нелинейными зависимостями и не требует масштабирования признаков. Деревья — основа бустинга и случайного леса.