Логистическая регрессия
Sigmoid, decision boundary, кейс классификации.
Линейная регрессия хорошо справляется с предсказанием чисел, но как только задача становится бинарной – "да или нет", "спам или не спам", "клиент уйдет или останется" – она начинает работать против нас. Модель может выдавать значения больше 1 или меньше 0, а интерпретация результата становится размытой.
Логистическая регрессия решает именно эту проблему. По духу это все та же линейная модель, но поверх линейной комбинации признаков мы накладываем нелинейное преобразование – сигмоиду. В результате модель предсказывает не произвольное число, а вероятность принадлежности объекта к классу 1. Это хорошо укладывается в общий подход книги: сначала простая линейная идея, затем аккуратное расширение под реальную задачу.
От линейной модели к вероятности
Начнем с привычной формы линейной модели. Пусть у нас есть объект с признаками . Тогда
Это обычное аффинное преобразование: скалярное произведение вектора признаков и весов плюс смещение. В линейной регрессии и было бы итоговым предсказанием. В логистической регрессии – лишь промежуточная величина, логит, который сам по себе еще не является вероятностью.
Чтобы превратить логит в вероятность, используется sigmoid-функция:
Она переводит любое вещественное число в диапазон . Большие положительные значения дают вероятность, близкую к , большие отрицательные – близкую к .
[IMAGE 1: sigmoid_curve]
Промпт для изображения:
“График сигмоидной функции: ось X – z, ось Y – σ(z). Плавная S-образная кривая, проходящая через точку (0, 0.5), асимптотически приближающаяся к 0 и 1. Минималистичный учебный стиль, белый фон, четкие оси.”
Здесь важно уловить смысл. Логистическая регрессия не просто "классификатор с порогом". Она моделирует вероятность . Классификация появляется уже потом, как прикладное решение, когда мы вводим порог вероятности.
Decision boundary – граница решений
Пусть мы решаем задачу бинарной классификации и считаем, что объект относится к классу , если вероятность не меньше . Тогда условие выглядит так:
Так как , это эквивалентно более простому линейному условию:
Отсюда следует важный вывод: decision boundary – это множество точек, для которых . В двумерном случае это прямая, в трехмерном – плоскость, в общем случае – гиперплоскость.
[IMAGE 2: decision_boundary_2d]
Промпт для изображения
“Двумерное пространство признаков. Точки двух классов: синие и красные. Прямая decision boundary, разделяющая пространство на две области. Подписи областей: w·x + b > 0 и w·x + b < 0. Плоский, учебный стиль.”
Здесь хорошо видно сходство с линейной регрессией и одновременно ключевое отличие. Сама граница линейна, но уверенность модели меняется нелинейно по мере удаления от нее. Рядом с границей модель сомневается, далеко от нее – уверена в своем решении.
Немного математики: логарифм шансов
Почему именно сигмоида? Ответ связан с логарифмом шансов, или log-odds. Пусть . Тогда отношение шансов равно
Логистическая регрессия предполагает, что логарифм этого отношения линейно зависит от признаков:
Если выразить p из этого уравнения, мы снова получим сигмоидную функцию. Важно подчеркнуть: логистическая регрессия – это линейная модель в пространстве log-odds. Сигмоида здесь не случайный трюк, а следствие выбранного предположения о данных.
Функция потерь и обучение
Так как модель предсказывает вероятность, MSE здесь работает плохо. Вместо нее используется логистическая функция потерь, чаще всего называемая log loss или binary cross-entropy:
Эта функция особенно сильно штрафует уверенные, но неправильные предсказания. Если модель говорит , а реальный класс равен , ошибка становится большой. Это именно то поведение, которое ожидается от классификатора.
Оптимизация проводится стандартными методами – чаще всего градиентным спуском. По механике это очень похоже на линейную регрессию, но градиенты проходят через сигмоиду, добавляя нелинейность в процесс обучения.
Кейс: бинарная классификация клиентов
Рассмотрим простой и при этом реалистичный кейс. Есть сервис подписки. Для каждого пользователя известны:
количество входов за последний месяц,
средняя длительность сессии,
число дней с момента регистрации.
Цель – предсказать, уйдет ли пользователь в ближайший месяц ( – уйдёт, – останется).
Логистическая регрессия здесь подходит особенно хорошо. Модель возвращает вероятность ухода. Это важно не только с технической, но и с продуктовой точки зрения: мы можем ранжировать пользователей по риску и работать лишь с теми, у кого вероятность выше выбранного порога.
[IMAGE 3: churn_probability]
Промпт для изображения
“Сигмоидная кривая вероятности ухода клиента. По оси X – логит z, по оси Y – вероятность. Несколько точек пользователей на кривой с подписями 0.2, 0.5, 0.8. Акцент на интерпретации вероятности, учебный стиль.”
Важно подчеркнуть, что выбор порога – это уже бизнес-решение. Модель лишь предоставляет вероятность, а не жесткий ответ.
Ограничения логистической регрессии
Несмотря на нелинейность сигмоиды, логистическая регрессия остается линейным классификатором. Если классы не разделимы линейно, модель будет ошибаться независимо от качества обучения. В таких случаях помогают либо новые признаки, либо более сложные модели – деревья решений, SVM с ядрами, нейросети.
Тем не менее логистическая регрессия до сих пор остается одной из самых популярных моделей в прикладном машинном обучении. Она проста, интерпретируема, устойчива и часто оказывается отличной отправной точкой.
Вывод
Логистическая регрессия – это логичное продолжение линейных моделей в задачах классификации. Она сохраняет простоту линейного подхода, но добавляет вероятностную интерпретацию, четкую decision boundary и удобную связь с реальными бизнес-задачами. Именно поэтому с нее почти всегда начинают изучение бинарной классификации в машинном обучении.
Last updated