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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

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

Описание

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

Логистическая регрессия применяется для прогнозирования вероятности возникновения некоторого события по значениям множества признаков. Для этого вводится так называемая зависимая переменная [math]\displaystyle{ y }[/math], принимающая лишь одно из двух значений — как правило, это числа 0 (событие не произошло) и 1 (событие произошло), и множество независимых переменных (также называемых признаками, предикторами или регрессорами) — вещественных [math]\displaystyle{ x_1, x_2, ..., x_n }[/math], на основе значений которых требуется вычислить вероятность принятия того или иного значения зависимой переменной. Как и в случае линейной регрессии, для простоты записи вводится фиктивный признак [math]\displaystyle{ x_0 = 1. }[/math]

Делается предположение о том, что вероятность наступления события [math]\displaystyle{ y=1 }[/math] равна:

[math]\displaystyle{ \mathbb{P}\{y=1 \mid x\} = f(z), }[/math]

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

[math]\displaystyle{ f(z) = \frac{1}{1 + e^{-z}}. }[/math]

Так как [math]\displaystyle{ y }[/math] принимает лишь значения 0 и 1, то вероятность принять значение 0 равна:

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

Для краткости функцию распределения [math]\displaystyle{ y }[/math] при заданном [math]\displaystyle{ x }[/math] можно записать в таком виде:

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

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

Подбор параметров

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

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

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

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

[math]\displaystyle{ \ln L(\theta) = \sum_{i=1}^m \log \mathbb{P}\{y=y^{(i)} \mid x=x^{(i)}\} = \sum_{i=1}^m \Big[y^{(i)} \ln f(\theta^T x^{(i)}) + (1 - y^{(i)}) \ln (1 - f(\theta^T x^{(i)}))\Big] }[/math], где [math]\displaystyle{ \theta^T x^{(i)} = \theta_0 + \theta_1 x^{(i)}_1 + \dots + \theta_n x^{(i)}_n. }[/math]

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

[math]\displaystyle{ \theta := \theta + \alpha \nabla \ln L(\theta) = \theta + \alpha \sum_{i=1}^{m} (y^{(i)} - f(\theta^T x^{(i)})) x^{(i)}, \alpha \gt 0. }[/math]

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

Регуляризация

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

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

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

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

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

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

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

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

Применение

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

Связанные методы

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

См. также

Литература