Русская Википедия:Логистическая регрессия

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

Описание

Файл:Logistic-curve.png
Логистическая функция: <math>f(x) = \frac{1}{1 + e^{-x}}</math>.

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

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

<math>\mathbb{P}\{y=1 \mid x\} = f(z),</math>

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

<math>f(z) = \frac{1}{1 + e^{-z}}.</math>

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

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

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

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

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

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

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

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

<math>\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>\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>\theta^T x^{(i)} = \theta_0 + \theta_1 x^{(i)}_1 + \dots + \theta_n x^{(i)}_n. </math>

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

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

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

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

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

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

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

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

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

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

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

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

Применение

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

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

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

См. также

Литература

Шаблон:Метод наименьших квадратов и регрессионный анализ Шаблон:Машинное обучение