Участник:Dovlat Demin

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
-
# Логистическая регрессия
+
= Логистическая регрессия =
-
** Логистическая регрессия** — это статистическая модель и алгоритм машинного обучения для бинарной (и многоклассовой) классификации, позволяющий предсказывать вероятности отнесения объектов к тому или иному классу. Несмотря на название, логистическая регрессия не выполняет регрессию в привычном смысле (предсказание непрерывной величины), а моделирует дискретную зависимость целевой переменной, обычно принимающей значения 0 или 1. Модель широко применяется в медицине, финансовом скоринге, маркетинге и других областях, где необходимо оценить вероятность события (например, заболеет/не заболеет пациент, кредит будет погашен/не погашен и т. д.). Логистическая регрессия является простым и интерпретируемым линейным классификатором (также называемым логит-регрессией или моделью максимальной энтропии). Она часто используется как базовая «отправная» модель перед применением более сложных методов, а также входит в семейство **обобщённых линейных моделей** (GLM) с логит-связью.
+
'''Логистическая регрессия''' — это метод обучения с учителем для задач классификации, который моделирует вероятность принадлежности объекта к классу как функцию линейной комбинации признаков. Несмотря на название, метод относится к [[линейные модели|линейным моделям]].
-
## Математическая формулировка
+
Модель является частным случаем [[обобщённые линейные модели|обобщённых линейных моделей (GLM)]].
-
Пусть даны объекты, описанные вектором признаков \(x=(x_1,\dots, x_n)\), и целевая переменная \(y\in\{0,1\}\). Модель логистической регрессии строит линейную комбинацию признаков и преобразует её с помощью сигмоидной (логистической) функции \(\sigma(z)=1/(1+e^{-z})\), чтобы получить вероятность принадлежности к классу 1. Формально задают
+
== 1. Определения ==
-
<math>P(y=1 \mid x) = \sigma(\beta_0 + \beta_1 x_1 + \dots + \beta_n x_n),</math>
+
-
где \(\beta_0\) — свободный член, \(\beta_1,\dots,\beta_n\) — параметры модели. Сигмоидная функция \(\sigma(z)\) сглаживает линейный прогноз \(z=\beta_0+\beta^T x\) на отрезке \([0,1]\): при больших положительных \(z\) она близка к 1, при больших отрицательных — к 0. Таким образом, логистическая регрессия выдает оценку апостериорной вероятности класса 1, а класс 0 получается как \(P(y=0\mid x)=1-P(y=1\mid x)\). Для принятия конкретного решения (классификации) часто применяют порог: если \(\hat p=P(y=1|x)\ge 0.5\), относят объект к классу 1, иначе — к классу 0.
+
-
### Функция потерь и оценка параметров
+
Пусть задана обучающая выборка:
 +
<tex>X^m = \{(x_1,y_1),\dots,(x_m,y_m)\}</tex>,
-
Параметры \(\beta\) оценивают методом максимального правдоподобия. Это эквивалентно минимизации логистической функции потерь (кросс-энтропии) на обучающей выборке. Для наблюдений \((x_i, y_i)\), \(i=1,\dots, m\), функция правдоподобия записывается как
+
где <tex>x_i \in \mathbb{R}^d</tex> — вектор признаков, а <tex>y_i</tex> — метка класса.
-
<math>L(\beta)=\prod_{i=1}^m P(y_i\mid x_i;\beta)^{y_i}\,(1-P(y_i\mid x_i;\beta))^{1-y_i},</math>
+
-
а её логарифм — функция лог-правдоподобия. Минимизируется отрицательный логарифм правдоподобия:
+
-
<math>L(\beta)= -\sum_{i=1}^m \bigl[y_i\ln\sigma(\beta^T x_i) + (1-y_i)\ln(1-\sigma(\beta^T x_i))\bigr].</math>
+
-
В scikit-learn эта цель (с учётом регуляризации) записывается формулой:
+
-
<math>\min_{\beta}\frac{1}{m}\sum_{i=1}^m \Bigl(-y_i\ln \hat p(x_i) - (1-y_i)\ln(1 - \hat p(x_i))\Bigr) + \frac{r(\beta)}{m C},</math>
+
-
где \(\hat p(x_i)=\sigma(\beta^T x_i)\), \(r(\beta)\) — регуляризатор (\(\ell_1\), \(\ell_2\) или их смесь), а \(C\) регулирует его силу.
+
-
Поскольку уравнение не разрешимо в замкнутом виде, оптимизация проводится численно (например, стохастическим градиентным спуском или методом Ньютона-Рафсона). Минимизация кросс-энтропии соответствует методу максимального правдоподобия при распределении Бернулли для целевого признака. Регуляризация (L2 или L1) обычно добавляется, чтобы избежать переобучения и повысить устойчивость алгоритма.
+
Линейная модель задаёт скалярный отклик:
 +
<tex>z = w^T x + b</tex>,
-
## Интерпретация коэффициентов
+
где <tex>w \in \mathbb{R}^d</tex> — веса модели, <tex>b</tex> — смещение.
-
Коэффициенты \(\beta\) имеют ясную смысловую интерпретацию. Для двоичной модели вводят функцию логарифма шансов (логит):
+
Далее этот отклик преобразуется в вероятность.
-
<math>\ln\frac{P(y=1\mid x)}{P(y=0\mid x)} = \beta_0 + \beta_1x_1 + \dots + \beta_n x_n.</math>
+
-
Таким образом, при увеличении признака \(x_j\) на единицу логарифм отношения шансов изменяется на \(\beta_j\). Иначе говоря, коэффициент \(\beta_j\) отражает, во сколько раз (в логарифмической шкале) изменяются шансы наступления события при изменении соответствующего признака. Это позволяет оценивать значимость факторов: признак с большим \(|\beta_j|\) сильнее влияет на вероятность положительного класса. Формально это означает, что
+
-
<math>\frac{P(y=1\mid x_j+1)}{P(y=0\mid x_j+1)} \Big/ \frac{P(y=1\mid x_j)}{P(y=0\mid x_j)} = e^{\beta_j}.</math>
+
-
Меньшие коэффициенты (близкие к нулю) указывают на слабое влияние признака.
+
-
## Многоклассовая логистическая регрессия
+
=== 1.1. Случай двух классов ===
-
Логистическая регрессия обобщается на задачи с более чем двумя классами. При \(K\) классах обычно используют **многономиальную (Softmax-)регрессию**, задавая матрицу коэффициентов \(W\in\mathbb{R}^{K\times n}\). Тогда предсказанная вероятность принадлежности к классу \(k\) описывается функцией Softmax:
+
Для бинарной классификации <tex>y \in \{0,1\}</tex> используется сигмоидная функция:
-
<math>P(y=k \mid x) = \frac{\exp(\beta_{0,k} + \beta_k^T x)}{\sum_{\ell=1}^K \exp(\beta_{0,\ell} + \beta_\ell^T x)},\quad k=1,\dots,K,\</math>
+
-
где \(\beta_k\) — вектор коэффициентов для класса \(k\), \(\beta_{0,k}\) — его свободный член. Такая модель также оптимизируется через максимизацию правдоподобия (суммируя потери по классам). Она часто реализуется как «один против всех» (один классификатор на каждый класс) или сразу с \(K\) классами, но по сути эквивалентна одной многоклассовой модели.
+
-
## Регуляризация
+
<tex>
 +
P(y=1|x) = \sigma(z) = \frac{1}{1 + \exp(-z)}
 +
</tex>
-
Наиболее распространёнными регуляризаторами в логистической регрессии являются \(\ell_2\)-регуляризация (Ридж) и \(\ell_1\)-регуляризация (Lasso), а также их комбинация ElasticNet. Они добавляют штраф за крупные значения коэффициентов к целевой функции, что помогает уменьшить переобучение и повысить числовую устойчивость. В scikit-learn по умолчанию применяется \(\ell_2\)-регуляризация (каноническая «норма-2»). Регуляризация эквивалентна добавлению априорного распределения на параметры в байесовском представлении.
+
<tex>
 +
P(y=0|x) = 1 - P(y=1|x)
 +
</tex>
-
## Пример кода на Python
+
Решающее правило:
 +
<tex>
 +
\hat{y} =
 +
\begin{cases}
 +
1, & P(y=1|x) \ge 0.5 \\
 +
0, & \text{иначе}
 +
\end{cases}
 +
</tex>
-
Ниже приведён пример обучения логистической регрессии с помощью библиотеки scikit-learn:
+
== 2. Обоснования ==
-
```python
+
=== 2.1. С точки зрения минимизации эмпирического риска ===
-
from sklearn.linear_model import LogisticRegression
+
-
from sklearn.model_selection import train_test_split
+
-
# X, y — данные (матрица признаков и вектор меток 0/1)
+
Логистическая регрессия получается как решение задачи максимального правдоподобия, что эквивалентно минимизации логистической функции потерь:
-
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
+
-
model = LogisticRegression(penalty='l2', C=1.0) # L2-регуляризация по умолчанию
+
<tex>
-
model.fit(X_train, y_train) # обучение модели
+
L(w) = - \sum_{i=1}^m \left[y_i \log p_i + (1-y_i)\log(1-p_i)\right]
-
y_pred = model.predict(X_test) # предсказание классов
+
</tex>
-
proba = model.predict_proba(X_test)[:, 1] # предсказанные вероятности класса 1
+
-
```
+
-
В этом примере мы создаём экземпляр `LogisticRegression` и обучаем его на тренировочной выборке. Полученные `proba` — это апостериорные вероятности класса 1 для тестовой выборки. Метка класса предсказывается по порогу 0.5 (или другому, заданному параметром `threshold`).
+
где <tex>p_i = P(y_i=1|x_i)</tex>.
-
## Применение
+
Эта функция также называется бинарной кросс-энтропией.
-
Логистическая регрессия применяется во множестве прикладных задач как простой и хорошо интерпретируемый классификатор. **Примеры применения:** диагностика заболеваний (оценка вероятности наличия болезни по медицинским показателям), кредитный скоринг (вероятность дефолта по финансовым данным заемщика), анализ тональности текстов (положительная/отрицательная), прогноз оттока клиентов, маркетинговые исследования, экономические прогнозы и др. Благодаря тому, что модель выдаёт вероятности, её результаты удобно использовать для оценки рисков и принятия решений.
+
=== 2.2. С точки зрения байесовской классификации ===
-
## Литература
+
Если предположить, что:
 +
* классы разделяются линейной функцией
 +
* распределения принадлежат экспоненциальному семейству
-
— Hastie T., Tibshirani R., Friedman J. *The Elements of Statistical Learning*. Springer, 2009 (гл. 4).
+
то апостериорная вероятность принимает логистическую форму:
-
James G., Witten D., Hastie T., Tibshirani R. *An Introduction to Statistical Learning*. Springer, 2013 (гл. 4).
+
 
-
Bishop C. *Pattern Recognition and Machine Learning*. Springer, 2006 (гл. 4).
+
<tex>
-
— Hosmer D.W., Lemeshow S., Sturdivant R.X. *Applied Logistic Regression*. Wiley, 2013.
+
P(y=1|x) = \sigma(w^T x + b)
-
— J. Zhanibekov, «Лекция 4. Логистическая регрессия», Учебные материалы (2021).
+
</tex>
-
— Scikit-learn documentation: *Linear Models* (раздел «Логистическая регрессия»).
+
 
-
— Wikipedia: «Logistic regression» (по состоянию на 2025 г.).
+
Таким образом, логистическая регрессия является параметрической моделью байесовского классификатора.
 +
 
 +
== 3. Методы настройки весов ==
 +
 
 +
=== 3.1. Градиентный метод первого порядка ===
 +
 
 +
Градиент функции потерь:
 +
 
 +
<tex>
 +
\nabla L(w) = \sum_{i=1}^m (p_i - y_i)x_i
 +
</tex>
 +
 
 +
Правило обновления:
 +
 
 +
<tex>
 +
w := w - \eta \nabla L(w)
 +
</tex>
 +
 
 +
где <tex>\eta</tex> — шаг обучения.
 +
 
 +
=== 3.2. Метод второго порядка IRLS ===
 +
 
 +
IRLS (Iteratively Reweighted Least Squares) основан на методе Ньютона:
 +
 
 +
<tex>
 +
w_{t+1} = w_t - H^{-1} \nabla L(w)
 +
</tex>
 +
 
 +
где <tex>H</tex> гессиан функции потерь.
 +
 
 +
Алгоритм интерпретируется как последовательность взвешенных задач наименьших квадратов.
 +
 
 +
== 4. Геометрическая интерпретация ==
 +
 
 +
Логистическая регрессия задаёт гиперплоскость разделения:
 +
 
 +
<tex>
 +
w^T x + b = 0
 +
</tex>
 +
 
 +
Свойства:
 +
* вероятность зависит от расстояния до гиперплоскости
 +
* при удалении от границы вероятность стремится к 0 или 1
 +
* поверхность уровня <tex>P(y=1|x)=0.5</tex> совпадает с разделяющей гиперплоскостью
 +
 
 +
Таким образом модель можно рассматривать как «размытую» линейную классификацию.
 +
 
 +
== 5. Многоклассовая логистическая регрессия ==
 +
 
 +
Для <tex>K</tex> классов используется обобщение — softmax-регрессия.
 +
 
 +
Для каждого класса <tex>k</tex> вводится свой вектор параметров:
 +
 
 +
<tex>
 +
z_k = w_k^T x + b_k
 +
</tex>
 +
 
 +
Вероятности задаются softmax-функцией:
 +
 
 +
<tex>
 +
P(y=k|x) = \frac{\exp(z_k)}{\sum_{j=1}^K \exp(z_j)}
 +
</tex>
 +
 
 +
Функция потерь:
 +
 
 +
<tex>
 +
L = - \sum_{i=1}^m \sum_{k=1}^K y_{ik} \log p_{ik}
 +
</tex>
 +
 
 +
где <tex>y_{ik}</tex> — one-hot представление меток.
 +
 
 +
Свойства:
 +
* <tex>\sum_k P(y=k|x)=1</tex>
 +
* при <tex>K=2</tex> сводится к бинарной логистической регрессии
 +
* является линейной моделью в пространстве признаков
 +
 
 +
== 6. Связь с другими методами ==
 +
 
 +
Логистическая регрессия связана с:
 +
* [[линейная регрессия]]
 +
* [[перцептрон]]
 +
* [[SVM]]
 +
* [[нейронные сети]] (softmax-слой)
 +
 
 +
== 7. Интерпретация как вероятностная модель ==
 +
 
 +
Логистическая регрессия является представителем [[обобщённые линейные модели|GLM]] с логит-функцией связи:
 +
 
 +
<tex>
 +
\log \frac{P(y=1|x)}{1 - P(y=1|x)} = w^T x + b
 +
</tex>
 +
 
 +
== 8. Литература ==
 +
 
 +
* Bishop C. M. "Pattern Recognition and Machine Learning", 2006
 +
* Hastie T., Tibshirani R., Friedman J. "The Elements of Statistical Learning", 2009
 +
* Murphy K. "Machine Learning: A Probabilistic Perspective", 2012
 +
* McCullagh P., Nelder J. "Generalized Linear Models", 1989
 +
* Goodfellow I., Bengio Y., Courville A. "Deep Learning", 2016
 +
 
 +
== 9. Ссылки ==
 +
 
 +
* https://en.wikipedia.org/wiki/Logistic_regression
 +
* https://en.wikipedia.org/wiki/Softmax_function

Текущая версия

Содержание

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

Логистическая регрессия — это метод обучения с учителем для задач классификации, который моделирует вероятность принадлежности объекта к классу как функцию линейной комбинации признаков. Несмотря на название, метод относится к линейным моделям.

Модель является частным случаем обобщённых линейных моделей (GLM).

1. Определения

Пусть задана обучающая выборка: X^m = \{(x_1,y_1),\dots,(x_m,y_m)\},

где x_i \in \mathbb{R}^d — вектор признаков, а y_i — метка класса.

Линейная модель задаёт скалярный отклик: z = w^T x + b,

где w \in \mathbb{R}^d — веса модели, b — смещение.

Далее этот отклик преобразуется в вероятность.

1.1. Случай двух классов

Для бинарной классификации y \in \{0,1\} используется сигмоидная функция:


P(y=1|x) = \sigma(z) = \frac{1}{1 + \exp(-z)}


P(y=0|x) = 1 - P(y=1|x)

Решающее правило: 
\hat{y} =
\begin{cases}
1, & P(y=1|x) \ge 0.5 \\
0, & \text{иначе}
\end{cases}

2. Обоснования

2.1. С точки зрения минимизации эмпирического риска

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


L(w) = - \sum_{i=1}^m \left[y_i \log p_i + (1-y_i)\log(1-p_i)\right]

где p_i = P(y_i=1|x_i).

Эта функция также называется бинарной кросс-энтропией.

2.2. С точки зрения байесовской классификации

Если предположить, что:

  • классы разделяются линейной функцией
  • распределения принадлежат экспоненциальному семейству

то апостериорная вероятность принимает логистическую форму:


P(y=1|x) = \sigma(w^T x + b)

Таким образом, логистическая регрессия является параметрической моделью байесовского классификатора.

3. Методы настройки весов

3.1. Градиентный метод первого порядка

Градиент функции потерь:


\nabla L(w) = \sum_{i=1}^m (p_i - y_i)x_i

Правило обновления:


w := w - \eta \nabla L(w)

где \eta — шаг обучения.

3.2. Метод второго порядка IRLS

IRLS (Iteratively Reweighted Least Squares) основан на методе Ньютона:


w_{t+1} = w_t - H^{-1} \nabla L(w)

где H — гессиан функции потерь.

Алгоритм интерпретируется как последовательность взвешенных задач наименьших квадратов.

4. Геометрическая интерпретация

Логистическая регрессия задаёт гиперплоскость разделения:


w^T x + b = 0

Свойства:

  • вероятность зависит от расстояния до гиперплоскости
  • при удалении от границы вероятность стремится к 0 или 1
  • поверхность уровня P(y=1|x)=0.5 совпадает с разделяющей гиперплоскостью

Таким образом модель можно рассматривать как «размытую» линейную классификацию.

5. Многоклассовая логистическая регрессия

Для K классов используется обобщение — softmax-регрессия.

Для каждого класса k вводится свой вектор параметров:


z_k = w_k^T x + b_k

Вероятности задаются softmax-функцией:


P(y=k|x) = \frac{\exp(z_k)}{\sum_{j=1}^K \exp(z_j)}

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


L = - \sum_{i=1}^m \sum_{k=1}^K y_{ik} \log p_{ik}

где y_{ik} — one-hot представление меток.

Свойства:

  • \sum_k P(y=k|x)=1
  • при K=2 сводится к бинарной логистической регрессии
  • является линейной моделью в пространстве признаков

6. Связь с другими методами

Логистическая регрессия связана с:

7. Интерпретация как вероятностная модель

Логистическая регрессия является представителем GLM с логит-функцией связи:


\log \frac{P(y=1|x)}{1 - P(y=1|x)} = w^T x + b

8. Литература

  • Bishop C. M. "Pattern Recognition and Machine Learning", 2006
  • Hastie T., Tibshirani R., Friedman J. "The Elements of Statistical Learning", 2009
  • Murphy K. "Machine Learning: A Probabilistic Perspective", 2012
  • McCullagh P., Nelder J. "Generalized Linear Models", 1989
  • Goodfellow I., Bengio Y., Courville A. "Deep Learning", 2016

9. Ссылки

Личные инструменты