Логистическая регрессия
Материал из MachineLearning.
(→Ссылки: добавлена ссылка на пример) |
|||
| (6 промежуточных версий не показаны.) | |||
| Строка 1: | Строка 1: | ||
| - | {{ | + | {{well|Статья написана с использованием LLM '''GPT-5.3-mini''' и проверена участником ~~Dovlat Demin~~}} не закончена еще |
| - | ''' | + | = Логистическая регрессия = |
| - | + | '''Логистическая регрессия''' (''logistic regression'', ''logit model'') — линейный [[классификатор]], предназначенный для решения задач [[бинарная классификация|бинарной классификации]]. В отличие от большинства линейных классификаторов, логистическая регрессия не только относит объект к одному из классов, но и оценивает условную вероятность принадлежности объекта каждому классу. | |
| - | + | Метод относится к классу [[обобщённые линейные модели|обобщённых линейных моделей]] и является одним из наиболее распространённых алгоритмов машинного обучения благодаря простоте, интерпретируемости и высокой эффективности на широком круге задач. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | Типичные области применения: | |
| - | + | ||
| - | + | * фильтрация спама; | |
| - | + | * кредитный скоринг; | |
| - | + | * медицинская диагностика; | |
| - | + | * прогнозирование оттока клиентов; | |
| - | + | * анализ кликов в рекомендательных системах; | |
| - | + | * обнаружение мошеннических операций. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | == Постановка задачи == | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | Пусть задана обучающая выборка | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | == | + | <tex> |
| + | X^\ell=\{(x_i,y_i)\}_{i=1}^{\ell}, | ||
| + | </tex> | ||
| - | + | где | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | <tex> | |
| - | + | x_i\in\mathbb{R}^d | |
| + | </tex> | ||
| - | + | — вектор признаков объекта, | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | <tex> | |
| - | + | y_i\in\{0,1\} | |
| - | + | </tex> | |
| - | + | ||
| - | + | — метка класса. | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | Требуется построить алгоритм, который по признаковому описанию нового объекта оценивает вероятность его принадлежности положительному классу | |
| - | = | + | <tex> |
| + | P(y=1\mid x), | ||
| + | </tex> | ||
| - | + | после чего принимает решение о классификации. | |
| - | + | ||
| - | + | ||
| - | + | Наиболее часто используется правило | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | <tex> | |
| - | + | a(x)= | |
| - | + | \begin{cases} | |
| - | + | 1,&P(y=1\mid x)\ge0.5,\\ | |
| + | 0,&\text{иначе}. | ||
| + | \end{cases} | ||
| + | </tex> | ||
| - | == | + | Однако на практике порог может изменяться в зависимости от стоимости ошибок первого и второго рода. |
| - | + | ||
| - | + | == Почему линейная регрессия не подходит для классификации == | |
| + | |||
| + | На первый взгляд задачу можно попытаться решить при помощи [[линейная регрессия|линейной регрессии]], рассматривая метки классов как числа 0 и 1. Тогда модель имеет вид | ||
| + | |||
| + | <tex> | ||
| + | f(x)=w^\top x+b. | ||
| + | </tex> | ||
| + | |||
| + | Однако такой подход обладает несколькими принципиальными недостатками. | ||
| + | |||
| + | Во-первых, значения линейной функции не ограничены и могут принимать любые значения на всей числовой оси, тогда как вероятность должна принадлежать интервалу | ||
| + | |||
| + | <tex> | ||
| + | [0,1]. | ||
| + | </tex> | ||
| + | |||
| + | Во-вторых, линейная регрессия минимизирует среднеквадратичную ошибку, предполагая нормальное распределение ошибок наблюдений. Для бинарной зависимой переменной такое предположение не выполняется. | ||
| + | |||
| + | Наконец, при использовании линейной регрессии одинаковое изменение выхода модели имеет различный смысл в разных областях. Например, изменение прогноза с 0.50 до 0.60 существенно влияет на принимаемое решение, тогда как изменение с 2.0 до 2.1 вообще не имеет вероятностной интерпретации. | ||
| + | |||
| + | Поэтому для задач классификации требуется модель, которая: | ||
| + | |||
| + | * возвращает значения только из интервала <tex>[0,1]</tex>; | ||
| + | * допускает вероятностную интерпретацию; | ||
| + | * позволяет обучать параметры методом максимального правдоподобия. | ||
| + | |||
| + | Этим требованиям удовлетворяет логистическая регрессия. | ||
| + | |||
| + | == Вероятностная модель == | ||
| + | |||
| + | Основная идея логистической регрессии состоит в том, что линейная комбинация признаков моделирует не саму вероятность, а ''логарифм отношения шансов'' (log-odds): | ||
| + | |||
| + | <tex> | ||
| + | \log\frac{P(y=1\mid x)}{P(y=0\mid x)} | ||
| + | = | ||
| + | w^\top x+b. | ||
| + | </tex> | ||
| + | |||
| + | Поскольку | ||
| + | |||
| + | <tex> | ||
| + | P(y=0\mid x)=1-P(y=1\mid x), | ||
| + | </tex> | ||
| + | |||
| + | из предыдущего равенства получается выражение для вероятности положительного класса | ||
| + | |||
| + | <tex> | ||
| + | P(y=1\mid x)= | ||
| + | \sigma(w^\top x+b), | ||
| + | </tex> | ||
| + | |||
| + | где | ||
| + | |||
| + | <tex> | ||
| + | \sigma(z)=\frac{1}{1+e^{-z}} | ||
| + | </tex> | ||
| + | |||
| + | — '''логистическая функция''' (сигмоида). | ||
| + | |||
| + | Соответственно, | ||
| + | |||
| + | <tex> | ||
| + | P(y=0\mid x)=1-\sigma(w^\top x+b). | ||
| + | </tex> | ||
| + | |||
| + | Таким образом, логистическая регрессия является линейной моделью в пространстве признаков, но нелинейной по отношению к вероятности. | ||
| + | |||
| + | == Свойства сигмоидной функции == | ||
| + | |||
| + | Сигмоидная функция обладает рядом свойств, делающих её естественным выбором для моделирования вероятностей. | ||
| + | |||
| + | * принимает значения только в интервале <tex>(0,1)</tex>; | ||
| + | * монотонно возрастает; | ||
| + | * непрерывна и дифференцируема; | ||
| + | * симметрична относительно точки | ||
| + | <tex> | ||
| + | (0,\frac12); | ||
| + | </tex> | ||
| + | * при больших положительных значениях аргумента вероятность стремится к единице, а при больших отрицательных — к нулю. | ||
| + | |||
| + | Производная сигмоиды имеет простой вид | ||
| + | |||
| + | <tex> | ||
| + | \sigma'(z)= | ||
| + | \sigma(z)\left(1-\sigma(z)\right), | ||
| + | </tex> | ||
| + | |||
| + | что существенно упрощает вычисление градиента при обучении модели. | ||
| + | |||
| + | Величина | ||
| + | |||
| + | <tex> | ||
| + | w^\top x+b | ||
| + | </tex> | ||
| + | |||
| + | называется ''логитом'' (''logit''), поскольку представляет собой логарифм отношения шансов. Именно логит моделируется линейной функцией, а сама вероятность получается после применения сигмоиды. | ||
| + | |||
| + | == Интерпретация коэффициентов == | ||
| + | |||
| + | Каждый коэффициент модели характеризует влияние соответствующего признака на логарифм отношения шансов. | ||
| + | |||
| + | Если признак увеличивается на единицу, а остальные признаки остаются фиксированными, то логарифм отношения шансов изменяется на величину | ||
| + | |||
| + | <tex> | ||
| + | w_j. | ||
| + | </tex> | ||
| + | |||
| + | После экспоненцирования коэффициент | ||
| + | |||
| + | <tex> | ||
| + | e^{w_j} | ||
| + | </tex> | ||
| + | |||
| + | показывает, во сколько раз изменяются шансы наступления события при увеличении данного признака на единицу. | ||
| + | |||
| + | Такая интерпретация широко используется в прикладной статистике, эконометрике, медицине и биостатистике, где важна не только точность прогноза, но и количественная оценка влияния факторов. | ||
| + | |||
| + | == Обучение логистической регрессии == | ||
| + | |||
| + | Параметры логистической регрессии выбираются таким образом, чтобы модель максимально точно описывала наблюдаемые данные. В отличие от [[линейная регрессия|линейной регрессии]], где обычно минимизируется сумма квадратов ошибок, здесь естественным критерием является '''метод максимального правдоподобия'''. Такой подход непосредственно следует из вероятностной интерпретации модели и является стандартным для [[обобщённые линейные модели|обобщённых линейных моделей]]. :contentReference[oaicite:0]{index=0} | ||
| + | |||
| + | === Метод максимального правдоподобия === | ||
| + | |||
| + | Пусть | ||
| + | |||
| + | <tex> | ||
| + | p_i=P(y_i=1\mid x_i)=\sigma(w^\top x_i+b). | ||
| + | </tex> | ||
| + | |||
| + | Тогда вероятность наблюдать правильную метку объекта равна | ||
| + | |||
| + | <tex> | ||
| + | P(y_i\mid x_i)= | ||
| + | p_i^{y_i}(1-p_i)^{1-y_i}. | ||
| + | </tex> | ||
| + | |||
| + | Предполагая независимость объектов обучающей выборки, получаем функцию правдоподобия | ||
| + | |||
| + | <tex> | ||
| + | L(w,b)= | ||
| + | \prod_{i=1}^{\ell} | ||
| + | p_i^{y_i}(1-p_i)^{1-y_i}. | ||
| + | </tex> | ||
| + | |||
| + | Максимизация произведения неудобна вычислительно, поэтому переходят к логарифму правдоподобия | ||
| + | |||
| + | <tex> | ||
| + | \ell(w,b)= | ||
| + | \sum_{i=1}^{\ell} | ||
| + | \left( | ||
| + | y_i\log p_i+ | ||
| + | (1-y_i)\log(1-p_i) | ||
| + | \right). | ||
| + | </tex> | ||
| + | |||
| + | Поскольку логарифм является монотонной функцией, максимум логарифма достигается при тех же значениях параметров, что и максимум исходного правдоподобия. | ||
| + | |||
| + | === Логистическая функция потерь === | ||
| + | |||
| + | В задачах оптимизации обычно минимизируют отрицательное логарифмическое правдоподобие | ||
| + | |||
| + | <tex> | ||
| + | Q(w,b)= | ||
| + | -\ell(w,b), | ||
| + | </tex> | ||
| + | |||
| + | которое имеет вид | ||
| + | |||
| + | <tex> | ||
| + | Q(w,b)= | ||
| + | -\sum_{i=1}^{\ell} | ||
| + | \left( | ||
| + | y_i\log p_i+ | ||
| + | (1-y_i)\log(1-p_i) | ||
| + | \right). | ||
| + | </tex> | ||
| + | |||
| + | Этот функционал известен как '''логистическая функция потерь''', '''логарифмическая потеря''' (''log-loss'') или '''бинарная кросс-энтропия''' (''binary cross-entropy''). Она обладает рядом важных свойств: | ||
| + | |||
| + | * штрафует уверенные ошибочные прогнозы значительно сильнее, чем неуверенные; | ||
| + | * является выпуклой по параметрам модели; | ||
| + | * непосредственно соответствует принципу максимального правдоподобия. | ||
| + | |||
| + | Если модель предсказывает вероятность, близкую к единице для истинного класса, вклад соответствующего объекта в функцию потерь оказывается малым. Напротив, уверенный неправильный прогноз приводит к очень большому значению ошибки. | ||
| + | |||
| + | === Градиент функции потерь === | ||
| + | |||
| + | Благодаря простой производной сигмоиды | ||
| + | |||
| + | <tex> | ||
| + | \sigma'(z)= | ||
| + | \sigma(z)(1-\sigma(z)) | ||
| + | </tex> | ||
| + | |||
| + | градиент функции потерь также имеет простой аналитический вид. | ||
| + | |||
| + | Для весового вектора | ||
| + | |||
| + | <tex> | ||
| + | w | ||
| + | </tex> | ||
| + | |||
| + | получается | ||
| + | |||
| + | <tex> | ||
| + | \nabla_w Q= | ||
| + | \sum_{i=1}^{\ell} | ||
| + | (p_i-y_i)x_i, | ||
| + | </tex> | ||
| + | |||
| + | а для свободного коэффициента | ||
| + | |||
| + | <tex> | ||
| + | \frac{\partial Q}{\partial b}= | ||
| + | \sum_{i=1}^{\ell} | ||
| + | (p_i-y_i). | ||
| + | </tex> | ||
| + | |||
| + | Заметим, что выражение | ||
| + | |||
| + | <tex> | ||
| + | p_i-y_i | ||
| + | </tex> | ||
| + | |||
| + | представляет собой разность между предсказанной вероятностью и истинной меткой объекта. Именно поэтому вычисление градиента логистической регрессии существенно проще, чем может показаться из определения функции правдоподобия. | ||
| + | |||
| + | === Методы оптимизации === | ||
| + | |||
| + | В отличие от линейной регрессии, аналитическое решение задачи оптимизации отсутствует. Причина заключается в нелинейности сигмоидной функции. | ||
| + | |||
| + | Поэтому параметры модели находятся численными методами. Наиболее распространены: | ||
| + | |||
| + | * [[градиентный спуск]]; | ||
| + | * стохастический и мини-пакетный градиентный спуск; | ||
| + | * метод Ньютона; | ||
| + | * алгоритм IRLS (''Iteratively Reweighted Least Squares''); | ||
| + | * квазиньютоновские методы BFGS и L-BFGS. | ||
| + | |||
| + | Поскольку функция потерь выпукла, любая локальная точка минимума одновременно является глобальной. Это существенно упрощает обучение по сравнению со многими современными нелинейными моделями, например [[нейронная сеть|нейронными сетями]]. :contentReference[oaicite:1]{index=1} | ||
| + | |||
| + | === Регуляризация === | ||
| + | |||
| + | При большом числе признаков модель может переобучаться. Для уменьшения сложности модели в функцию потерь добавляют штраф за большие значения коэффициентов. | ||
| + | |||
| + | Наиболее распространена <tex>L_2</tex>-регуляризация: | ||
| + | |||
| + | <tex> | ||
| + | Q_{\lambda}(w)= | ||
| + | Q(w)+ | ||
| + | \frac{\lambda}{2}\|w\|_2^2, | ||
| + | </tex> | ||
| + | |||
| + | где | ||
| + | |||
| + | <tex> | ||
| + | \lambda\ge0 | ||
| + | </tex> | ||
| + | |||
| + | — коэффициент регуляризации. | ||
| + | |||
| + | Такой штраф уменьшает величину коэффициентов, делает решение более устойчивым и снижает дисперсию модели. | ||
| + | |||
| + | Другой популярный вариант — <tex>L_1</tex>-регуляризация | ||
| + | |||
| + | <tex> | ||
| + | Q_{\lambda}(w)= | ||
| + | Q(w)+ | ||
| + | \lambda\|w\|_1, | ||
| + | </tex> | ||
| + | |||
| + | которая способствует появлению разреженных решений, зануляя часть коэффициентов. Благодаря этому логистическая регрессия одновременно выполняет классификацию и отбор наиболее информативных признаков. | ||
| + | |||
| + | == Геометрическая интерпретация == | ||
| + | |||
| + | Как и любой линейный классификатор, логистическая регрессия строит в пространстве признаков разделяющую гиперплоскость | ||
| + | |||
| + | <tex> | ||
| + | w^\top x+b=0. | ||
| + | </tex> | ||
| + | |||
| + | Все объекты, лежащие по одну сторону гиперплоскости, относятся к одному классу, по другую — к другому. | ||
| + | |||
| + | В отличие от [[метод опорных векторов|метода опорных векторов]], логистическая регрессия не максимизирует ширину разделяющей полосы. Вместо этого она подбирает параметры таким образом, чтобы максимизировать вероятность наблюдаемых данных. | ||
| + | |||
| + | Удалённость точки от разделяющей гиперплоскости определяется значением | ||
| + | |||
| + | <tex> | ||
| + | w^\top x+b. | ||
| + | </tex> | ||
| + | |||
| + | После применения сигмоиды это расстояние преобразуется в вероятность принадлежности положительному классу. | ||
| + | |||
| + | Следовательно, логистическая регрессия является одновременно линейным классификатором и вероятностной моделью: геометрическое положение объекта относительно разделяющей гиперплоскости определяет степень уверенности классификации. | ||
| + | == Обучение логистической регрессии == | ||
| + | |||
| + | Параметры логистической регрессии выбираются таким образом, чтобы модель максимально точно описывала наблюдаемые данные. В отличие от [[линейная регрессия|линейной регрессии]], где обычно минимизируется сумма квадратов ошибок, здесь естественным критерием является '''метод максимального правдоподобия'''. Такой подход непосредственно следует из вероятностной интерпретации модели и является стандартным для [[обобщённые линейные модели|обобщённых линейных моделей]]. :contentReference[oaicite:0]{index=0} | ||
| + | |||
| + | === Метод максимального правдоподобия === | ||
| + | |||
| + | Пусть | ||
| + | |||
| + | <tex> | ||
| + | p_i=P(y_i=1\mid x_i)=\sigma(w^\top x_i+b). | ||
| + | </tex> | ||
| + | |||
| + | Тогда вероятность наблюдать правильную метку объекта равна | ||
| + | |||
| + | <tex> | ||
| + | P(y_i\mid x_i)= | ||
| + | p_i^{y_i}(1-p_i)^{1-y_i}. | ||
| + | </tex> | ||
| + | |||
| + | Предполагая независимость объектов обучающей выборки, получаем функцию правдоподобия | ||
| + | |||
| + | <tex> | ||
| + | L(w,b)= | ||
| + | \prod_{i=1}^{\ell} | ||
| + | p_i^{y_i}(1-p_i)^{1-y_i}. | ||
| + | </tex> | ||
| + | |||
| + | Максимизация произведения неудобна вычислительно, поэтому переходят к логарифму правдоподобия | ||
| + | |||
| + | <tex> | ||
| + | \ell(w,b)= | ||
| + | \sum_{i=1}^{\ell} | ||
| + | \left( | ||
| + | y_i\log p_i+ | ||
| + | (1-y_i)\log(1-p_i) | ||
| + | \right). | ||
| + | </tex> | ||
| + | |||
| + | Поскольку логарифм является монотонной функцией, максимум логарифма достигается при тех же значениях параметров, что и максимум исходного правдоподобия. | ||
| + | |||
| + | === Логистическая функция потерь === | ||
| + | |||
| + | В задачах оптимизации обычно минимизируют отрицательное логарифмическое правдоподобие | ||
| + | |||
| + | <tex> | ||
| + | Q(w,b)= | ||
| + | -\ell(w,b), | ||
| + | </tex> | ||
| + | |||
| + | которое имеет вид | ||
| + | |||
| + | <tex> | ||
| + | Q(w,b)= | ||
| + | -\sum_{i=1}^{\ell} | ||
| + | \left( | ||
| + | y_i\log p_i+ | ||
| + | (1-y_i)\log(1-p_i) | ||
| + | \right). | ||
| + | </tex> | ||
| + | |||
| + | Этот функционал известен как '''логистическая функция потерь''', '''логарифмическая потеря''' (''log-loss'') или '''бинарная кросс-энтропия''' (''binary cross-entropy''). Она обладает рядом важных свойств: | ||
| + | |||
| + | * штрафует уверенные ошибочные прогнозы значительно сильнее, чем неуверенные; | ||
| + | * является выпуклой по параметрам модели; | ||
| + | * непосредственно соответствует принципу максимального правдоподобия. | ||
| + | |||
| + | Если модель предсказывает вероятность, близкую к единице для истинного класса, вклад соответствующего объекта в функцию потерь оказывается малым. Напротив, уверенный неправильный прогноз приводит к очень большому значению ошибки. | ||
| + | |||
| + | === Градиент функции потерь === | ||
| + | |||
| + | Благодаря простой производной сигмоиды | ||
| + | |||
| + | <tex> | ||
| + | \sigma'(z)= | ||
| + | \sigma(z)(1-\sigma(z)) | ||
| + | </tex> | ||
| + | |||
| + | градиент функции потерь также имеет простой аналитический вид. | ||
| + | |||
| + | Для весового вектора | ||
| + | |||
| + | <tex> | ||
| + | w | ||
| + | </tex> | ||
| + | |||
| + | получается | ||
| + | |||
| + | <tex> | ||
| + | \nabla_w Q= | ||
| + | \sum_{i=1}^{\ell} | ||
| + | (p_i-y_i)x_i, | ||
| + | </tex> | ||
| + | |||
| + | а для свободного коэффициента | ||
| + | |||
| + | <tex> | ||
| + | \frac{\partial Q}{\partial b}= | ||
| + | \sum_{i=1}^{\ell} | ||
| + | (p_i-y_i). | ||
| + | </tex> | ||
| + | |||
| + | Заметим, что выражение | ||
| + | |||
| + | <tex> | ||
| + | p_i-y_i | ||
| + | </tex> | ||
| + | |||
| + | представляет собой разность между предсказанной вероятностью и истинной меткой объекта. Именно поэтому вычисление градиента логистической регрессии существенно проще, чем может показаться из определения функции правдоподобия. | ||
| + | |||
| + | === Методы оптимизации === | ||
| + | |||
| + | В отличие от линейной регрессии, аналитическое решение задачи оптимизации отсутствует. Причина заключается в нелинейности сигмоидной функции. | ||
| + | |||
| + | Поэтому параметры модели находятся численными методами. Наиболее распространены: | ||
| + | |||
| + | * [[градиентный спуск]]; | ||
| + | * стохастический и мини-пакетный градиентный спуск; | ||
| + | * метод Ньютона; | ||
| + | * алгоритм IRLS (''Iteratively Reweighted Least Squares''); | ||
| + | * квазиньютоновские методы BFGS и L-BFGS. | ||
| + | |||
| + | Поскольку функция потерь выпукла, любая локальная точка минимума одновременно является глобальной. Это существенно упрощает обучение по сравнению со многими современными нелинейными моделями, например [[нейронная сеть|нейронными сетями]]. :contentReference[oaicite:1]{index=1} | ||
| + | |||
| + | === Регуляризация === | ||
| + | |||
| + | При большом числе признаков модель может переобучаться. Для уменьшения сложности модели в функцию потерь добавляют штраф за большие значения коэффициентов. | ||
| + | |||
| + | Наиболее распространена <tex>L_2</tex>-регуляризация: | ||
| + | |||
| + | <tex> | ||
| + | Q_{\lambda}(w)= | ||
| + | Q(w)+ | ||
| + | \frac{\lambda}{2}\|w\|_2^2, | ||
| + | </tex> | ||
| + | |||
| + | где | ||
| + | |||
| + | <tex> | ||
| + | \lambda\ge0 | ||
| + | </tex> | ||
| + | |||
| + | — коэффициент регуляризации. | ||
| + | |||
| + | Такой штраф уменьшает величину коэффициентов, делает решение более устойчивым и снижает дисперсию модели. | ||
| + | |||
| + | Другой популярный вариант — <tex>L_1</tex>-регуляризация | ||
| + | |||
| + | <tex> | ||
| + | Q_{\lambda}(w)= | ||
| + | Q(w)+ | ||
| + | \lambda\|w\|_1, | ||
| + | </tex> | ||
| + | |||
| + | которая способствует появлению разреженных решений, зануляя часть коэффициентов. Благодаря этому логистическая регрессия одновременно выполняет классификацию и отбор наиболее информативных признаков. | ||
| + | |||
| + | == Геометрическая интерпретация == | ||
| + | |||
| + | Как и любой линейный классификатор, логистическая регрессия строит в пространстве признаков разделяющую гиперплоскость | ||
| + | |||
| + | <tex> | ||
| + | w^\top x+b=0. | ||
| + | </tex> | ||
| + | |||
| + | Все объекты, лежащие по одну сторону гиперплоскости, относятся к одному классу, по другую — к другому. | ||
| + | |||
| + | В отличие от [[метод опорных векторов|метода опорных векторов]], логистическая регрессия не максимизирует ширину разделяющей полосы. Вместо этого она подбирает параметры таким образом, чтобы максимизировать вероятность наблюдаемых данных. | ||
| + | |||
| + | Удалённость точки от разделяющей гиперплоскости определяется значением | ||
| + | |||
| + | <tex> | ||
| + | w^\top x+b. | ||
| + | </tex> | ||
| + | |||
| + | После применения сигмоиды это расстояние преобразуется в вероятность принадлежности положительному классу. | ||
| + | |||
| + | Следовательно, логистическая регрессия является одновременно линейным классификатором и вероятностной моделью: геометрическое положение объекта относительно разделяющей гиперплоскости определяет степень уверенности классификации. | ||
| + | == Многоклассовая логистическая регрессия == | ||
| + | |||
| + | Логистическая регрессия в исходном виде предназначена для решения задач [[бинарная классификация|бинарной классификации]]. Для случая, когда число классов | ||
| + | |||
| + | <tex> | ||
| + | K>2, | ||
| + | </tex> | ||
| + | |||
| + | используются два основных подхода. | ||
| + | |||
| + | === Схема «один против всех» === | ||
| + | |||
| + | Наиболее простым способом является обучение | ||
| + | |||
| + | <tex> | ||
| + | K | ||
| + | </tex> | ||
| + | |||
| + | независимых бинарных классификаторов. Для каждого класса строится собственная модель, отличающая данный класс от всех остальных. | ||
| + | |||
| + | Для нового объекта вычисляются вероятности | ||
| + | |||
| + | <tex> | ||
| + | P(y=k\mid x), | ||
| + | \quad | ||
| + | k=1,\ldots,K, | ||
| + | </tex> | ||
| + | |||
| + | после чего выбирается класс с максимальной оценкой. | ||
| + | |||
| + | Достоинствами подхода являются простота реализации и возможность использовать любой алгоритм бинарной классификации. Недостаток состоит в том, что вероятности различных моделей обучаются независимо и поэтому могут быть плохо согласованы между собой. | ||
| + | |||
| + | === Мультиномиальная логистическая регрессия === | ||
| + | |||
| + | Более естественным обобщением является '''мультиномиальная логистическая регрессия''' (''multinomial logistic regression'', ''softmax regression''), в которой вероятности всех классов моделируются одновременно. :contentReference[oaicite:0]{index=0} | ||
| + | |||
| + | Каждому классу соответствует собственный вектор параметров | ||
| + | |||
| + | <tex> | ||
| + | w_k. | ||
| + | </tex> | ||
| + | |||
| + | Для объекта вычисляются линейные оценки | ||
| + | |||
| + | <tex> | ||
| + | a_k(x)=w_k^\top x+b_k, | ||
| + | </tex> | ||
| + | |||
| + | которые преобразуются в вероятности с помощью функции softmax: | ||
| + | |||
| + | <tex> | ||
| + | P(y=k\mid x)= | ||
| + | \frac{\exp(a_k(x))} | ||
| + | {\sum\limits_{j=1}^{K}\exp(a_j(x))}. | ||
| + | </tex> | ||
| + | |||
| + | Полученные вероятности обладают двумя важными свойствами: | ||
| + | |||
| + | * принадлежат интервалу <tex>[0,1]</tex>; | ||
| + | * их сумма равна единице. | ||
| + | |||
| + | Как и в бинарном случае, параметры модели оцениваются методом максимального правдоподобия, а функция потерь представляет собой многоклассовую кросс-энтропию. :contentReference[oaicite:1]{index=1} | ||
| + | |||
| + | == Достоинства == | ||
| + | |||
| + | Логистическая регрессия остаётся одним из наиболее популярных методов классификации благодаря сочетанию простоты и высокой практической эффективности. | ||
| + | |||
| + | Основные достоинства метода: | ||
| + | |||
| + | * вероятностная интерпретация результатов; | ||
| + | * выпуклая задача оптимизации с единственным глобальным минимумом; | ||
| + | * высокая скорость обучения и предсказания; | ||
| + | * небольшое число настраиваемых гиперпараметров; | ||
| + | * интерпретируемость коэффициентов модели; | ||
| + | * возможность использования регуляризации и отбора признаков; | ||
| + | * хорошая работа на выборках большого объёма и высокой размерности. | ||
| + | |||
| + | По этим причинам логистическая регрессия часто используется как базовый алгоритм при сравнении методов машинного обучения и как отправная точка при решении новых прикладных задач. | ||
| + | |||
| + | == Ограничения == | ||
| + | |||
| + | Несмотря на широкую область применения, логистическая регрессия имеет ряд ограничений. | ||
| + | |||
| + | Прежде всего, модель предполагает линейную зависимость логарифма отношения шансов от признаков. Если истинная граница между классами существенно нелинейна, качество классификации может оказаться недостаточным. | ||
| + | |||
| + | Кроме того: | ||
| + | |||
| + | * модель чувствительна к сильной мультиколлинеарности признаков; | ||
| + | * качество зависит от выбора информативного признакового описания; | ||
| + | * при наличии большого числа выбросов возможна деградация качества; | ||
| + | * без построения новых признаков модель не способна описывать сложные нелинейные зависимости. | ||
| + | |||
| + | Для повышения качества нередко используют полиномиальные признаки, взаимодействия признаков или предварительные нелинейные преобразования данных. | ||
| + | |||
| + | == Связь с другими методами == | ||
| + | |||
| + | Логистическая регрессия занимает промежуточное положение между классическими статистическими моделями и современными алгоритмами машинного обучения. | ||
| + | |||
| + | По сравнению с [[линейная регрессия|линейной регрессией]] она использует вероятностную модель бинарной случайной величины и оптимизирует логарифмическое правдоподобие вместо среднеквадратичной ошибки. | ||
| + | |||
| + | По сравнению с [[метод опорных векторов|методом опорных векторов]] логистическая регрессия непосредственно оценивает условные вероятности классов, тогда как SVM ориентирован на максимизацию разделяющего зазора и требует дополнительной калибровки для получения вероятностных оценок. | ||
| + | |||
| + | С точки зрения статистики логистическая регрессия является частным случаем [[обобщённые линейные модели|обобщённых линейных моделей]] с биномиальным распределением отклика и логит-функцией связи. | ||
| + | |||
| + | Наконец, функция потерь логистической регрессии — кросс-энтропия — широко используется при обучении [[нейронная сеть|нейронных сетей]]. В этом смысле логистическая регрессия может рассматриваться как однослойная нейронная сеть без скрытых слоёв, использующая сигмоидную (или softmax) функцию активации на выходе. | ||
| + | |||
| + | == См. также == | ||
| + | |||
| + | * [[Линейная регрессия]] | ||
| + | * [[Линейный классификатор]] | ||
| + | * [[Обобщённые линейные модели]] | ||
| + | * [[Метод максимального правдоподобия]] | ||
| + | * [[Градиентный спуск]] | ||
| + | * [[Метод опорных векторов]] | ||
| + | * [[Кросс-энтропия]] | ||
| + | |||
| + | == Литература == | ||
| - | + | # Bishop C. M. ''Pattern Recognition and Machine Learning.'' Springer, 2006. | |
| - | + | # Hastie T., Tibshirani R., Friedman J. ''The Elements of Statistical Learning.'' 2nd ed. Springer, 2009. | |
| - | + | # Murphy K. P. ''Machine Learning: A Probabilistic Perspective.'' MIT Press, 2012. | |
| - | + | # McCullagh P., Nelder J. A. ''Generalized Linear Models.'' 2nd ed. Chapman & Hall, 1989. | |
| + | # Hosmer D. W., Lemeshow S., Sturdivant R. X. ''Applied Logistic Regression.'' 3rd ed. Wiley, 2013. | ||
| + | # Cox D. R. ''The Regression Analysis of Binary Sequences.'' Journal of the Royal Statistical Society, Series B, 1958. | ||
Текущая версия
| | Статья написана с использованием LLM GPT-5.3-mini и проверена участником ~~Dovlat Demin~~ |
не закончена еще
Логистическая регрессия
Логистическая регрессия (logistic regression, logit model) — линейный классификатор, предназначенный для решения задач бинарной классификации. В отличие от большинства линейных классификаторов, логистическая регрессия не только относит объект к одному из классов, но и оценивает условную вероятность принадлежности объекта каждому классу.
Метод относится к классу обобщённых линейных моделей и является одним из наиболее распространённых алгоритмов машинного обучения благодаря простоте, интерпретируемости и высокой эффективности на широком круге задач.
Типичные области применения:
- фильтрация спама;
- кредитный скоринг;
- медицинская диагностика;
- прогнозирование оттока клиентов;
- анализ кликов в рекомендательных системах;
- обнаружение мошеннических операций.
Постановка задачи
Пусть задана обучающая выборка
где
— вектор признаков объекта,
— метка класса.
Требуется построить алгоритм, который по признаковому описанию нового объекта оценивает вероятность его принадлежности положительному классу
после чего принимает решение о классификации.
Наиболее часто используется правило
Однако на практике порог может изменяться в зависимости от стоимости ошибок первого и второго рода.
Почему линейная регрессия не подходит для классификации
На первый взгляд задачу можно попытаться решить при помощи линейной регрессии, рассматривая метки классов как числа 0 и 1. Тогда модель имеет вид
Однако такой подход обладает несколькими принципиальными недостатками.
Во-первых, значения линейной функции не ограничены и могут принимать любые значения на всей числовой оси, тогда как вероятность должна принадлежать интервалу
Во-вторых, линейная регрессия минимизирует среднеквадратичную ошибку, предполагая нормальное распределение ошибок наблюдений. Для бинарной зависимой переменной такое предположение не выполняется.
Наконец, при использовании линейной регрессии одинаковое изменение выхода модели имеет различный смысл в разных областях. Например, изменение прогноза с 0.50 до 0.60 существенно влияет на принимаемое решение, тогда как изменение с 2.0 до 2.1 вообще не имеет вероятностной интерпретации.
Поэтому для задач классификации требуется модель, которая:
- возвращает значения только из интервала
;
- допускает вероятностную интерпретацию;
- позволяет обучать параметры методом максимального правдоподобия.
Этим требованиям удовлетворяет логистическая регрессия.
Вероятностная модель
Основная идея логистической регрессии состоит в том, что линейная комбинация признаков моделирует не саму вероятность, а логарифм отношения шансов (log-odds):
Поскольку
из предыдущего равенства получается выражение для вероятности положительного класса
где
— логистическая функция (сигмоида).
Соответственно,
Таким образом, логистическая регрессия является линейной моделью в пространстве признаков, но нелинейной по отношению к вероятности.
Свойства сигмоидной функции
Сигмоидная функция обладает рядом свойств, делающих её естественным выбором для моделирования вероятностей.
- принимает значения только в интервале
;
- монотонно возрастает;
- непрерывна и дифференцируема;
- симметрична относительно точки
- при больших положительных значениях аргумента вероятность стремится к единице, а при больших отрицательных — к нулю.
Производная сигмоиды имеет простой вид
что существенно упрощает вычисление градиента при обучении модели.
Величина
называется логитом (logit), поскольку представляет собой логарифм отношения шансов. Именно логит моделируется линейной функцией, а сама вероятность получается после применения сигмоиды.
Интерпретация коэффициентов
Каждый коэффициент модели характеризует влияние соответствующего признака на логарифм отношения шансов.
Если признак увеличивается на единицу, а остальные признаки остаются фиксированными, то логарифм отношения шансов изменяется на величину
После экспоненцирования коэффициент
показывает, во сколько раз изменяются шансы наступления события при увеличении данного признака на единицу.
Такая интерпретация широко используется в прикладной статистике, эконометрике, медицине и биостатистике, где важна не только точность прогноза, но и количественная оценка влияния факторов.
Обучение логистической регрессии
Параметры логистической регрессии выбираются таким образом, чтобы модель максимально точно описывала наблюдаемые данные. В отличие от линейной регрессии, где обычно минимизируется сумма квадратов ошибок, здесь естественным критерием является метод максимального правдоподобия. Такой подход непосредственно следует из вероятностной интерпретации модели и является стандартным для обобщённых линейных моделей. :contentReference[oaicite:0]{index=0}
Метод максимального правдоподобия
Пусть
Тогда вероятность наблюдать правильную метку объекта равна
Предполагая независимость объектов обучающей выборки, получаем функцию правдоподобия
Максимизация произведения неудобна вычислительно, поэтому переходят к логарифму правдоподобия
Поскольку логарифм является монотонной функцией, максимум логарифма достигается при тех же значениях параметров, что и максимум исходного правдоподобия.
Логистическая функция потерь
В задачах оптимизации обычно минимизируют отрицательное логарифмическое правдоподобие
которое имеет вид
Этот функционал известен как логистическая функция потерь, логарифмическая потеря (log-loss) или бинарная кросс-энтропия (binary cross-entropy). Она обладает рядом важных свойств:
- штрафует уверенные ошибочные прогнозы значительно сильнее, чем неуверенные;
- является выпуклой по параметрам модели;
- непосредственно соответствует принципу максимального правдоподобия.
Если модель предсказывает вероятность, близкую к единице для истинного класса, вклад соответствующего объекта в функцию потерь оказывается малым. Напротив, уверенный неправильный прогноз приводит к очень большому значению ошибки.
Градиент функции потерь
Благодаря простой производной сигмоиды
градиент функции потерь также имеет простой аналитический вид.
Для весового вектора
получается
а для свободного коэффициента
Заметим, что выражение
представляет собой разность между предсказанной вероятностью и истинной меткой объекта. Именно поэтому вычисление градиента логистической регрессии существенно проще, чем может показаться из определения функции правдоподобия.
Методы оптимизации
В отличие от линейной регрессии, аналитическое решение задачи оптимизации отсутствует. Причина заключается в нелинейности сигмоидной функции.
Поэтому параметры модели находятся численными методами. Наиболее распространены:
- градиентный спуск;
- стохастический и мини-пакетный градиентный спуск;
- метод Ньютона;
- алгоритм IRLS (Iteratively Reweighted Least Squares);
- квазиньютоновские методы BFGS и L-BFGS.
Поскольку функция потерь выпукла, любая локальная точка минимума одновременно является глобальной. Это существенно упрощает обучение по сравнению со многими современными нелинейными моделями, например нейронными сетями. :contentReference[oaicite:1]{index=1}
Регуляризация
При большом числе признаков модель может переобучаться. Для уменьшения сложности модели в функцию потерь добавляют штраф за большие значения коэффициентов.
Наиболее распространена -регуляризация:
где
— коэффициент регуляризации.
Такой штраф уменьшает величину коэффициентов, делает решение более устойчивым и снижает дисперсию модели.
Другой популярный вариант — -регуляризация
которая способствует появлению разреженных решений, зануляя часть коэффициентов. Благодаря этому логистическая регрессия одновременно выполняет классификацию и отбор наиболее информативных признаков.
Геометрическая интерпретация
Как и любой линейный классификатор, логистическая регрессия строит в пространстве признаков разделяющую гиперплоскость
Все объекты, лежащие по одну сторону гиперплоскости, относятся к одному классу, по другую — к другому.
В отличие от метода опорных векторов, логистическая регрессия не максимизирует ширину разделяющей полосы. Вместо этого она подбирает параметры таким образом, чтобы максимизировать вероятность наблюдаемых данных.
Удалённость точки от разделяющей гиперплоскости определяется значением
После применения сигмоиды это расстояние преобразуется в вероятность принадлежности положительному классу.
Следовательно, логистическая регрессия является одновременно линейным классификатором и вероятностной моделью: геометрическое положение объекта относительно разделяющей гиперплоскости определяет степень уверенности классификации.
Обучение логистической регрессии
Параметры логистической регрессии выбираются таким образом, чтобы модель максимально точно описывала наблюдаемые данные. В отличие от линейной регрессии, где обычно минимизируется сумма квадратов ошибок, здесь естественным критерием является метод максимального правдоподобия. Такой подход непосредственно следует из вероятностной интерпретации модели и является стандартным для обобщённых линейных моделей. :contentReference[oaicite:0]{index=0}
Метод максимального правдоподобия
Пусть
Тогда вероятность наблюдать правильную метку объекта равна
Предполагая независимость объектов обучающей выборки, получаем функцию правдоподобия
Максимизация произведения неудобна вычислительно, поэтому переходят к логарифму правдоподобия
Поскольку логарифм является монотонной функцией, максимум логарифма достигается при тех же значениях параметров, что и максимум исходного правдоподобия.
Логистическая функция потерь
В задачах оптимизации обычно минимизируют отрицательное логарифмическое правдоподобие
которое имеет вид
Этот функционал известен как логистическая функция потерь, логарифмическая потеря (log-loss) или бинарная кросс-энтропия (binary cross-entropy). Она обладает рядом важных свойств:
- штрафует уверенные ошибочные прогнозы значительно сильнее, чем неуверенные;
- является выпуклой по параметрам модели;
- непосредственно соответствует принципу максимального правдоподобия.
Если модель предсказывает вероятность, близкую к единице для истинного класса, вклад соответствующего объекта в функцию потерь оказывается малым. Напротив, уверенный неправильный прогноз приводит к очень большому значению ошибки.
Градиент функции потерь
Благодаря простой производной сигмоиды
градиент функции потерь также имеет простой аналитический вид.
Для весового вектора
получается
а для свободного коэффициента
Заметим, что выражение
представляет собой разность между предсказанной вероятностью и истинной меткой объекта. Именно поэтому вычисление градиента логистической регрессии существенно проще, чем может показаться из определения функции правдоподобия.
Методы оптимизации
В отличие от линейной регрессии, аналитическое решение задачи оптимизации отсутствует. Причина заключается в нелинейности сигмоидной функции.
Поэтому параметры модели находятся численными методами. Наиболее распространены:
- градиентный спуск;
- стохастический и мини-пакетный градиентный спуск;
- метод Ньютона;
- алгоритм IRLS (Iteratively Reweighted Least Squares);
- квазиньютоновские методы BFGS и L-BFGS.
Поскольку функция потерь выпукла, любая локальная точка минимума одновременно является глобальной. Это существенно упрощает обучение по сравнению со многими современными нелинейными моделями, например нейронными сетями. :contentReference[oaicite:1]{index=1}
Регуляризация
При большом числе признаков модель может переобучаться. Для уменьшения сложности модели в функцию потерь добавляют штраф за большие значения коэффициентов.
Наиболее распространена -регуляризация:
где
— коэффициент регуляризации.
Такой штраф уменьшает величину коэффициентов, делает решение более устойчивым и снижает дисперсию модели.
Другой популярный вариант — -регуляризация
которая способствует появлению разреженных решений, зануляя часть коэффициентов. Благодаря этому логистическая регрессия одновременно выполняет классификацию и отбор наиболее информативных признаков.
Геометрическая интерпретация
Как и любой линейный классификатор, логистическая регрессия строит в пространстве признаков разделяющую гиперплоскость
Все объекты, лежащие по одну сторону гиперплоскости, относятся к одному классу, по другую — к другому.
В отличие от метода опорных векторов, логистическая регрессия не максимизирует ширину разделяющей полосы. Вместо этого она подбирает параметры таким образом, чтобы максимизировать вероятность наблюдаемых данных.
Удалённость точки от разделяющей гиперплоскости определяется значением
После применения сигмоиды это расстояние преобразуется в вероятность принадлежности положительному классу.
Следовательно, логистическая регрессия является одновременно линейным классификатором и вероятностной моделью: геометрическое положение объекта относительно разделяющей гиперплоскости определяет степень уверенности классификации.
Многоклассовая логистическая регрессия
Логистическая регрессия в исходном виде предназначена для решения задач бинарной классификации. Для случая, когда число классов
используются два основных подхода.
Схема «один против всех»
Наиболее простым способом является обучение
независимых бинарных классификаторов. Для каждого класса строится собственная модель, отличающая данный класс от всех остальных.
Для нового объекта вычисляются вероятности
после чего выбирается класс с максимальной оценкой.
Достоинствами подхода являются простота реализации и возможность использовать любой алгоритм бинарной классификации. Недостаток состоит в том, что вероятности различных моделей обучаются независимо и поэтому могут быть плохо согласованы между собой.
Мультиномиальная логистическая регрессия
Более естественным обобщением является мультиномиальная логистическая регрессия (multinomial logistic regression, softmax regression), в которой вероятности всех классов моделируются одновременно. :contentReference[oaicite:0]{index=0}
Каждому классу соответствует собственный вектор параметров
Для объекта вычисляются линейные оценки
которые преобразуются в вероятности с помощью функции softmax:
Полученные вероятности обладают двумя важными свойствами:
- принадлежат интервалу
;
- их сумма равна единице.
Как и в бинарном случае, параметры модели оцениваются методом максимального правдоподобия, а функция потерь представляет собой многоклассовую кросс-энтропию. :contentReference[oaicite:1]{index=1}
Достоинства
Логистическая регрессия остаётся одним из наиболее популярных методов классификации благодаря сочетанию простоты и высокой практической эффективности.
Основные достоинства метода:
- вероятностная интерпретация результатов;
- выпуклая задача оптимизации с единственным глобальным минимумом;
- высокая скорость обучения и предсказания;
- небольшое число настраиваемых гиперпараметров;
- интерпретируемость коэффициентов модели;
- возможность использования регуляризации и отбора признаков;
- хорошая работа на выборках большого объёма и высокой размерности.
По этим причинам логистическая регрессия часто используется как базовый алгоритм при сравнении методов машинного обучения и как отправная точка при решении новых прикладных задач.
Ограничения
Несмотря на широкую область применения, логистическая регрессия имеет ряд ограничений.
Прежде всего, модель предполагает линейную зависимость логарифма отношения шансов от признаков. Если истинная граница между классами существенно нелинейна, качество классификации может оказаться недостаточным.
Кроме того:
- модель чувствительна к сильной мультиколлинеарности признаков;
- качество зависит от выбора информативного признакового описания;
- при наличии большого числа выбросов возможна деградация качества;
- без построения новых признаков модель не способна описывать сложные нелинейные зависимости.
Для повышения качества нередко используют полиномиальные признаки, взаимодействия признаков или предварительные нелинейные преобразования данных.
Связь с другими методами
Логистическая регрессия занимает промежуточное положение между классическими статистическими моделями и современными алгоритмами машинного обучения.
По сравнению с линейной регрессией она использует вероятностную модель бинарной случайной величины и оптимизирует логарифмическое правдоподобие вместо среднеквадратичной ошибки.
По сравнению с методом опорных векторов логистическая регрессия непосредственно оценивает условные вероятности классов, тогда как SVM ориентирован на максимизацию разделяющего зазора и требует дополнительной калибровки для получения вероятностных оценок.
С точки зрения статистики логистическая регрессия является частным случаем обобщённых линейных моделей с биномиальным распределением отклика и логит-функцией связи.
Наконец, функция потерь логистической регрессии — кросс-энтропия — широко используется при обучении нейронных сетей. В этом смысле логистическая регрессия может рассматриваться как однослойная нейронная сеть без скрытых слоёв, использующая сигмоидную (или softmax) функцию активации на выходе.
См. также
- Линейная регрессия
- Линейный классификатор
- Обобщённые линейные модели
- Метод максимального правдоподобия
- Градиентный спуск
- Метод опорных векторов
- Кросс-энтропия
Литература
- Bishop C. M. Pattern Recognition and Machine Learning. Springer, 2006.
- Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. 2nd ed. Springer, 2009.
- Murphy K. P. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
- McCullagh P., Nelder J. A. Generalized Linear Models. 2nd ed. Chapman & Hall, 1989.
- Hosmer D. W., Lemeshow S., Sturdivant R. X. Applied Logistic Regression. 3rd ed. Wiley, 2013.
- Cox D. R. The Regression Analysis of Binary Sequences. Journal of the Royal Statistical Society, Series B, 1958.

