Логистическая регрессия

Sigmoid, decision boundary, кейс классификации.

Линейная регрессия хорошо справляется с предсказанием чисел, но как только задача становится бинарной – "да или нет", "спам или не спам", "клиент уйдет или останется" – она начинает работать против нас. Модель может выдавать значения больше 1 или меньше 0, а интерпретация результата становится размытой.

Логистическая регрессия решает именно эту проблему. По духу это все та же линейная модель, но поверх линейной комбинации признаков мы накладываем нелинейное преобразование – сигмоиду. В результате модель предсказывает не произвольное число, а вероятность принадлежности объекта к классу 1. Это хорошо укладывается в общий подход книги: сначала простая линейная идея, затем аккуратное расширение под реальную задачу.

От линейной модели к вероятности

Начнем с привычной формы линейной модели. Пусть у нас есть объект с признаками xx. Тогда

z=wx+bz = w·x + b

Это обычное аффинное преобразование: скалярное произведение вектора признаков и весов плюс смещение. В линейной регрессии zz и было бы итоговым предсказанием. В логистической регрессии zz – лишь промежуточная величина, логит, который сам по себе еще не является вероятностью.

Чтобы превратить логит в вероятность, используется sigmoid-функция:

σ(z)=1/(1+e(z))σ(z) = 1 / (1 + e^{(−z)})

Она переводит любое вещественное число в диапазон (0,1)(0, 1). Большие положительные значения zz дают вероятность, близкую к 11, большие отрицательные – близкую к 00.

[IMAGE 1: sigmoid_curve]

Промпт для изображения:

“График сигмоидной функции: ось X – z, ось Y – σ(z). Плавная S-образная кривая, проходящая через точку (0, 0.5), асимптотически приближающаяся к 0 и 1. Минималистичный учебный стиль, белый фон, четкие оси.”

Здесь важно уловить смысл. Логистическая регрессия не просто "классификатор с порогом". Она моделирует вероятность P(y=1x)P(y = 1 | x). Классификация появляется уже потом, как прикладное решение, когда мы вводим порог вероятности.

Decision boundary – граница решений

Пусть мы решаем задачу бинарной классификации и считаем, что объект относится к классу 11, если вероятность не меньше 0.50.5. Тогда условие выглядит так:

σ(z)0.5σ(z) ≥ 0.5

Так как σ(0)=0.5σ(0) = 0.5, это эквивалентно более простому линейному условию:

wx+b0w·x + b ≥ 0

Отсюда следует важный вывод: decision boundary – это множество точек, для которых wx+b=0w·x + b = 0. В двумерном случае это прямая, в трехмерном – плоскость, в общем случае – гиперплоскость.

[IMAGE 2: decision_boundary_2d]

Промпт для изображения

“Двумерное пространство признаков. Точки двух классов: синие и красные. Прямая decision boundary, разделяющая пространство на две области. Подписи областей: w·x + b > 0 и w·x + b < 0. Плоский, учебный стиль.”

Здесь хорошо видно сходство с линейной регрессией и одновременно ключевое отличие. Сама граница линейна, но уверенность модели меняется нелинейно по мере удаления от нее. Рядом с границей модель сомневается, далеко от нее – уверена в своем решении.

Немного математики: логарифм шансов

Почему именно сигмоида? Ответ связан с логарифмом шансов, или log-odds. Пусть p=P(y=1x)p = P(y = 1 | x). Тогда отношение шансов равно

p/(1p)p / (1 − p)

Логистическая регрессия предполагает, что логарифм этого отношения линейно зависит от признаков:

log(p/(1p))=wx+blog(p / (1 − p)) = w·x + b

Если выразить p из этого уравнения, мы снова получим сигмоидную функцию. Важно подчеркнуть: логистическая регрессия – это линейная модель в пространстве log-odds. Сигмоида здесь не случайный трюк, а следствие выбранного предположения о данных.

Функция потерь и обучение

Так как модель предсказывает вероятность, MSE здесь работает плохо. Вместо нее используется логистическая функция потерь, чаще всего называемая log loss или binary cross-entropy:

L(y,p)=[ylog(p)+(1y)log(1p)]L(y, p) = −[ y·log(p) + (1 − y)·log(1 − p) ]

Эта функция особенно сильно штрафует уверенные, но неправильные предсказания. Если модель говорит p1p ≈ 1, а реальный класс равен 00, ошибка становится большой. Это именно то поведение, которое ожидается от классификатора.

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

Кейс: бинарная классификация клиентов

Рассмотрим простой и при этом реалистичный кейс. Есть сервис подписки. Для каждого пользователя известны:

  • количество входов за последний месяц,

  • средняя длительность сессии,

  • число дней с момента регистрации.

Цель – предсказать, уйдет ли пользователь в ближайший месяц (11 – уйдёт, 00 – останется).

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

[IMAGE 3: churn_probability]

Промпт для изображения

“Сигмоидная кривая вероятности ухода клиента. По оси X – логит z, по оси Y – вероятность. Несколько точек пользователей на кривой с подписями 0.2, 0.5, 0.8. Акцент на интерпретации вероятности, учебный стиль.”

Важно подчеркнуть, что выбор порога (0.5,0.7,0.9)(0.5, 0.7, 0.9) – это уже бизнес-решение. Модель лишь предоставляет вероятность, а не жесткий ответ.

Ограничения логистической регрессии

Несмотря на нелинейность сигмоиды, логистическая регрессия остается линейным классификатором. Если классы не разделимы линейно, модель будет ошибаться независимо от качества обучения. В таких случаях помогают либо новые признаки, либо более сложные модели – деревья решений, SVM с ядрами, нейросети.

Тем не менее логистическая регрессия до сих пор остается одной из самых популярных моделей в прикладном машинном обучении. Она проста, интерпретируема, устойчива и часто оказывается отличной отправной точкой.

Вывод

Логистическая регрессия – это логичное продолжение линейных моделей в задачах классификации. Она сохраняет простоту линейного подхода, но добавляет вероятностную интерпретацию, четкую decision boundary и удобную связь с реальными бизнес-задачами. Именно поэтому с нее почти всегда начинают изучение бинарной классификации в машинном обучении.

Last updated