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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Логистическая регрессия или логит-регрессия (англ. logit model) — это статистическая модель, используемая для предсказания вероятности возникновения некоторого события путём подгонки данных к логистической кривой.

Описание[править | править вики-текст]

Логистическая функция: f(x) = \frac{1}{1 + e^{-x}}.

Логистическая регрессия применяется для предсказания вероятности возникновения некоторого события по значениям множества признаков. Для этого вводится так называемая зависимая переменная y, принимающая лишь одно из двух значений — как правило, это числа 0 (событие не произошло) и 1 (событие произошло), и множество независимых переменных (также называемых признаками, предикторами или регрессорами) — вещественных x_1, x_2, ..., x_n, на основе значений которых требуется вычислить вероятность принятия того или иного значения зависимой переменной.

Делается предположение о том, что вероятность наступления события y=1 равна:

\mathbb{P}\{y=1 \mid x\} = f(z),

где z = \theta^T x = \theta_1 x_1 + \ldots + \theta_n x_n, x и \theta — векторы-столбцы значений независимых переменных x_1, ..., x_n и параметров (коэффициентов регрессии) — вещественных чисел \theta_1, ..., \theta_n, соответственно, а f(z) — так называемая логистическая функция (иногда также называемая сигмоидом или логит-функцией):

f(z) = \frac{1}{1 + e^{-z}}.

Так как y принимает лишь значения 0 и 1, то вероятность второго возможного значения равна:

\mathbb{P}\{y=0 \mid x\} = 1 - f(z) = 1 - f(\theta^T x).

Для краткости функцию распределения y при заданном x можно записать в таком виде:

\mathbb{P}\{y \mid x\} = f(\theta^T x)^y (1 - f(\theta^T x))^{1 - y}, \quad y \in \{ 0, 1 \}.

Фактически, это есть распределение Бернулли с параметром, равным f(\theta^T x).

Подбор параметров[править | править вики-текст]

Для подбора параметров \theta_1, ..., \theta_n необходимо составить обучающую выборку, состоящую из наборов значений независимых переменных и соответствующих им значений зависимой переменной y. Формально, это множество пар \!(x^{(1)}, y^{(1)}), ..., (x^{(m)}, y^{(m)}), где x^{(i)} \in \mathbb{R}^n — вектор значений независимых переменных, а y^{(i)} \in \{0,1\} — соответствующее им значение y. Каждая такая пара называется обучающим примером.

Обычно используется метод максимального правдоподобия, согласно которому выбираются параметры \theta, максимизирующие значение функции правдоподобия на обучающей выборке:

\hat{\theta} = \operatorname{argmax}_{\theta} L(\theta) = \operatorname{argmax}_{\theta} \prod_{i=1}^{m} \mathbb{P}\{y=y^{(i)} \mid x=x^{(i)}\}.

Максимизация функции правдоподобия эквивалентна максимизации её логарифма:

\ln L(\theta) = \sum_{i=1}^m \log \mathbb{P}\{y=y^{(i)} \mid x=x^{(i)}\}
    = \sum_{i=1}^m y^{(i)} \ln f(\theta^T x^{(i)}) + (1 - y^{(i)}) \ln (1 - f(\theta^T x^{(i)})).

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

\theta := \theta + \alpha \nabla \ln L(\theta) = \theta + \alpha \sum_{i=1}^{m} (y^{(i)} - f(\theta^T x^{(i)})) x^{(i)}, \alpha > 0.

На практике также применяют метод Ньютона и стохастический градиентный спуск.

Регуляризация[править | править вики-текст]

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

Регуляризация заключается в том, что вектор параметров \theta рассматривается как случайный вектор с некоторой заданной априорной плотностью распределения p(\theta). Для обучения модели вместо метода наибольшего правдоподобия при этом используется метод максимизации апостериорной оценки, то есть ищутся параметры \theta, максимизирующие величину:

\prod_{i=1}^m\mathbb{P}\{y^{(i)} \mid x^{(i)}, \theta\} \cdot p(\theta).

В качестве априорного распределения часто выступает многомерное нормальное распределение \mathcal{N}(0, \sigma^2 I) с нулевым средним и матрицей ковариации \sigma^2 I, соответствующее априорному убеждению о том, что все коэффициенты регрессии должны быть небольшими числами, идеально — многие малозначимые коэффициенты должны быть нулями. Подставив плотность этого априорного распределения в формулу выше, и прологарифмировав, получим следующую оптимизационную задачу:

\sum\limits_{i=1}^m \log \mathbb{P}\{y^{(i)} \mid x^{(i)}, \theta\} - \lambda \|\theta\|^2 \, \to \mbox{max},

где \lambda = \mbox{const} / {\sigma^2} — параметр регуляризации. Этот метод известен как L2-регуляризованная логистическая регрессия, так как в целевую функцию входит L2-норма вектора параметров для регуляризации.

Если вместо L2-нормы использовать L1-норму, что эквивалентно использованию распределения Лапласа, как априорного, вместо нормального, то получится другой распространённый вариант метода — L1-регуляризованная логистическая регрессия:

\sum_{i=1}^m \log \mathbb{P}\{y^{(i)} \mid x^{(i)}, \theta\} - \lambda \|\theta\|_1 \, \to \mbox{max}.

Применение[править | править вики-текст]

Эта модель часто применяется для решения задач классификации — объект x можно отнести к классу y=1, если предсказанная моделью вероятность \mathbb{P}\{y = 1 \mid x\} > 0{,}5, и к классу y=0 в противном случае. Получающиеся при этом правила классификации являются линейными классификаторами.

Связанные методы[править | править вики-текст]

На логистическую регрессию очень похожа пробит-регрессия, отличающаяся от неё лишь другим выбором функции f(z). Softmax-регрессия обобщает логистическую регрессию на случай многоклассовой классификации, то есть когда зависимая переменная y принимает более двух значений. Все эти модели в свою очередь являются представителями широкого класса статистических моделей — обобщённых линейных моделей.

См. также[править | править вики-текст]

Литература[править | править вики-текст]