---
title: Логистическая регрессия
seo:
  title: Логистическая регрессия — Data Scientist
  description: Тема «Логистическая регрессия» для собеседования Data Scientist. Как работает логистическая регрессия и какую функцию потерь она использует? Как записывают и обучают логистическую регрессию и проверяют значимость коэффициентов?
---

[Все темы Data Scientist](/data-scientist)

## Как работает логистическая регрессия и какую функцию потерь она использует? [#q-14bee738d69b81798374cf477a8587ce]

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

Функция потерь, обычно используемая для логистической регрессии, называется кросс-энтропией (или логистической функцией потерь). Она измеряет разницу между фактическими и предсказанными вероятностями классов и минимизируется в процессе обучения модели.

:::note[Ссылки для изучения]

1. [Логистическая регрессия в ML](https://ml-cheatsheet-russian.readthedocs.io/ru/latest/logistic_regression.html)
   :::

---

## Как записывают и обучают логистическую регрессию и проверяют значимость коэффициентов? [#q-14bee738d69b819f8a43c00d7bc6913b]

Формула логистической регрессии выглядит следующим образом&#58;

$$
P(y=1|x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \beta_2 x_2 + ... + \beta_n x_n)}}
$$

где&#58;

- <InlineMath tex={"P(y=1|x)"} /> - вероятность того, что целевая переменная
  <InlineMath tex={"y"} /> равна 1 при условии значений предикторов
  <InlineMath tex={"x"} />.

- <InlineMath tex={"\\beta_0, \\beta_1, \\beta_2, ..., \\beta_n"} /> -
  коэффициенты модели, которые необходимо оценить.

- <InlineMath tex={"x_1, x_2, ..., x_n"} /> - значения предикторов.

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

В обычной логистической регрессии без регуляризации значимость отдельного коэффициента часто проверяют тестом Вальда&#58; z-статистика равна оценке коэффициента, делённой на её стандартную ошибку. Для сравнения вложенных моделей используют тест отношения правдоподобий. Проверяйте предпосылки модели и способ расчёта стандартных ошибок; обычный t-тест линейной регрессии нельзя переносить сюда автоматически.

:::note[Ссылки для изучения]

1. [Логистическая регрессия в ML](https://ml-cheatsheet-russian.readthedocs.io/ru/latest/logistic_regression.html)
   :::

---

## Как записываются модель и функция потерь логистической регрессии? [#q-14bee738d69b815cb4bcef2267043742]

Логистическая регрессия — это статистическая модель, используемая для оценки вероятности принадлежности к определённому классу (обычно бинарному). Она широко применяется в машинном обучении для задач классификации.

#### Математическая модель&#58;

Основой логистической регрессии является логистическая функция, также называемая сигмоидной функцией, которая описывается формулой&#58;

$$
\sigma(z) = \frac{1}{1 + e^{-z}}
$$

где <InlineMath tex={"z"} /> — это линейная комбинация входных признаков <InlineMath tex={"x"} /> и их весов <InlineMath tex={"w"} />, плюс свободный член <InlineMath tex={"b"} />&#58;

$$
z = w_1x_1 + w_2x_2 + \ldots + w_nx_n + b
$$

#### Вероятность и классификация&#58;

Логистическая регрессия моделирует вероятность <InlineMath tex={"P(y=1|x) "} /> того, что пример <InlineMath tex={"x"} /> принадлежит классу <InlineMath tex={"y=1"} />, как&#58;

$$
P(y=1|x) = \sigma(w \cdot x + b)
$$

где <InlineMath tex={"w \\cdot x "} /> обозначает скалярное произведение векторов весов и признаков, а <InlineMath tex={"b"} /> — смещение <code>&#40;bias&#41;</code>.

#### Обучение модели&#58;

Цель обучения — найти параметры <InlineMath tex={"w"} /> и <InlineMath tex={"b"} />, которые минимизируют ошибку между предсказанными и истинными метками. В логистической регрессии часто используется функция потерь, называемая логистической потерей или перекрёстной энтропией&#58;

$$
L(y, \hat{y}) = -[y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})]
$$

где <InlineMath tex={"y"} /> — истинная метка, а <InlineMath tex={"\\hat{y}"} /> — предсказанная вероятность.

#### Оптимизация&#58;

Для минимизации функции потерь обычно используют методы оптимизации, такие как градиентный спуск. В каждом шаге веса <InlineMath tex={"w"} /> и смещение <InlineMath tex={"b"} /> обновляются в направлении, уменьшающем функцию потерь.

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

:::note[Ссылки для изучения]

1. [Логистическая регрессия в ML](https://ml-cheatsheet-russian.readthedocs.io/ru/latest/logistic_regression.html)
   :::

---

## Как связаны сигмоида, логит и граница классов в логистической регрессии? [#q-14bee738d69b81199aeaf68ccfc67de4]

<strong>Формула логистической регрессии&#58;</strong>
<InlineMath tex={"P(y=1∣x)= \\frac{1}{1+e^{-z}}"} />

где <InlineMath tex={"P(y=1∣x)"} /> - вероятность принадлежности к классу 1 для входного признака <InlineMath tex={"x"} />, <InlineMath tex={"e"} /> - основание натурального логарифма, <InlineMath tex={"z"} /> - линейная комбинация входных признаков с их весами&#58;

<InlineMath tex={"z = w_1x_1 + w_2x_2 + \\ldots + w_nx_n + b"} />

Логит — логарифм отношения вероятности класса 1 к вероятности класса 0&#58; <InlineMath tex={"\\operatorname{logit}(p)=\\log\\frac{p}{1-p}=z"} /> при 0 \< p \< 1. Здесь p — вероятность класса 1, а z — линейная комбинация признаков до применения сигмоиды. Не следует путать логит с бинарной кросс-энтропией — функцией потерь для обучения модели.

Для получения метки класса задают порог t&#58; при p ≥ t выбирают класс 1. При t = 0,5 это равносильно z ≥ 0, поэтому граница решений линейна в используемых признаках. Порог выбирают с учётом стоимости ошибок и требований задачи. Параметры модели обучают, минимизируя логистическую потерю; без регуляризации это эквивалентно максимизации правдоподобия.

:::note[Ссылки для изучения]

1. [Логистическая регрессия в ML](https://ml-cheatsheet-russian.readthedocs.io/ru/latest/logistic_regression.html)
   :::
