Логит-функция
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM ''GPT-5.5 Thinking'' и проверена участником ~~~~ Промпт приводится полно...) |
|||
| Строка 17: | Строка 17: | ||
Пусть <tex>A</tex> — событие, а | Пусть <tex>A</tex> — событие, а | ||
| - | <tex> | + | <tex>p=\mathbb{P}(A), 0\leq p\leq 1.</tex> |
| - | p=\mathbb{P}(A), | + | |
| - | </tex> | + | |
Величина <tex>p</tex> называется вероятностью события <tex>A</tex>. Вероятность равна нулю для невозможного события и единице для достоверного события. | Величина <tex>p</tex> называется вероятностью события <tex>A</tex>. Вероятность равна нулю для невозможного события и единице для достоверного события. | ||
| Строка 25: | Строка 23: | ||
'''Шансы''' события с вероятностью <tex>p</tex> определяются как отношение вероятности события к вероятности его дополнения: | '''Шансы''' события с вероятностью <tex>p</tex> определяются как отношение вероятности события к вероятности его дополнения: | ||
| - | <tex> | + | <tex>\operatorname{odds}(p)=\frac{p}{1-p}.</tex> |
| - | \operatorname{odds}(p)=\frac{p}{1-p}. | + | |
| - | </tex> | + | |
Если <tex>p=1/2</tex>, то | Если <tex>p=1/2</tex>, то | ||
| - | <tex> | + | <tex>\operatorname{odds}(p)=1.</tex> |
| - | \operatorname{odds}(p)=1. | + | |
| - | </tex> | + | |
Это означает, что событие и его отсутствие имеют одинаковые вероятности. Если <tex>p>1/2</tex>, то шансы больше единицы; если <tex>p<1/2</tex>, то шансы меньше единицы. | Это означает, что событие и его отсутствие имеют одинаковые вероятности. Если <tex>p>1/2</tex>, то шансы больше единицы; если <tex>p<1/2</tex>, то шансы меньше единицы. | ||
| Строка 39: | Строка 33: | ||
'''Логарифм шансов''' — это натуральный логарифм отношения шансов: | '''Логарифм шансов''' — это натуральный логарифм отношения шансов: | ||
| - | <tex> | + | <tex>\ln \operatorname{odds}(p) = \ln\frac{p}{1-p}.</tex> |
| - | \ln \operatorname{odds}(p) | + | |
| - | = | + | |
| - | \ln\frac{p}{1-p}. | + | |
| - | </tex> | + | |
'''Логит-функция''' определяется формулой | '''Логит-функция''' определяется формулой | ||
| - | <tex> | + | <tex>\operatorname{logit}(p) = \ln\frac{p}{1-p}, 0<p<1.</tex> |
| - | \operatorname{logit}(p) | + | |
| - | = | + | |
| - | \ln\frac{p}{1-p}, | + | |
| - | + | ||
| - | </tex> | + | |
Таким образом, | Таким образом, | ||
| - | <tex> | + | <tex>\operatorname{logit}: (0,1)\to\mathbb{R}.</tex> |
| - | \operatorname{logit} | + | |
| - | </tex> | + | |
Область определения логит-функции — открытый интервал <tex>(0,1)</tex>, поскольку при <tex>p=0</tex> отношение шансов равно нулю, а логарифм нуля не определён как конечное действительное число; при <tex>p=1</tex> знаменатель <tex>1-p</tex> обращается в нуль. Множество значений логит-функции — вся числовая прямая <tex>\mathbb{R}</tex>. | Область определения логит-функции — открытый интервал <tex>(0,1)</tex>, поскольку при <tex>p=0</tex> отношение шансов равно нулю, а логарифм нуля не определён как конечное действительное число; при <tex>p=1</tex> знаменатель <tex>1-p</tex> обращается в нуль. Множество значений логит-функции — вся числовая прямая <tex>\mathbb{R}</tex>. | ||
| Строка 68: | Строка 51: | ||
Логит-функция непрерывна и бесконечно дифференцируема на интервале <tex>(0,1)</tex>. При приближении вероятности к границам интервала значения логита неограниченно убывают или возрастают: | Логит-функция непрерывна и бесконечно дифференцируема на интервале <tex>(0,1)</tex>. При приближении вероятности к границам интервала значения логита неограниченно убывают или возрастают: | ||
| - | <tex> | + | <tex>\lim_{p\to 0+}\operatorname{logit}(p)=-\infty,</tex> |
| - | \lim_{p\to 0+}\operatorname{logit}(p)=-\infty, | + | |
| - | </tex> | + | |
| - | <tex> | + | <tex>\lim_{p\to 1-}\operatorname{logit}(p)=+\infty.</tex> |
| - | \lim_{p\to 1-}\operatorname{logit}(p)=+\infty. | + | |
| - | </tex> | + | |
Это отражает поведение шансов. Если вероятность события близка к нулю, то шансы события близки к нулю, а логарифм шансов стремится к <tex>-\infty</tex>. Если вероятность события близка к единице, то шансы становятся неограниченно большими, а логарифм шансов стремится к <tex>+\infty</tex>. | Это отражает поведение шансов. Если вероятность события близка к нулю, то шансы события близки к нулю, а логарифм шансов стремится к <tex>-\infty</tex>. Если вероятность события близка к единице, то шансы становятся неограниченно большими, а логарифм шансов стремится к <tex>+\infty</tex>. | ||
| Строка 80: | Строка 59: | ||
Первая производная логит-функции равна | Первая производная логит-функции равна | ||
| - | <tex> | + | <tex>\frac{d}{dp}\operatorname{logit}(p) = \frac{1}{p(1-p)}.</tex> |
| - | \frac{d}{dp}\operatorname{logit}(p) | + | |
| - | = | + | |
| - | \frac{1}{p(1-p)}. | + | |
| - | </tex> | + | |
Поскольку для всех <tex>p\in(0,1)</tex> выполняется | Поскольку для всех <tex>p\in(0,1)</tex> выполняется | ||
| - | <tex> | + | <tex>p(1-p)>0,</tex> |
| - | p(1-p)>0, | + | |
| - | </tex> | + | |
то | то | ||
| - | <tex> | + | <tex>\frac{d}{dp}\operatorname{logit}(p)>0.</tex> |
| - | \frac{d}{dp}\operatorname{logit}(p)>0. | + | |
| - | </tex> | + | |
Следовательно, логит-функция строго возрастает на всём интервале <tex>(0,1)</tex>. | Следовательно, логит-функция строго возрастает на всём интервале <tex>(0,1)</tex>. | ||
| Строка 102: | Строка 73: | ||
Вторая производная имеет вид | Вторая производная имеет вид | ||
| - | <tex> | + | <tex>\frac{d^2}{dp^2}\operatorname{logit}(p) = \frac{2p-1}{p^2(1-p)^2}.</tex> |
| - | \frac{d^2}{dp^2}\operatorname{logit}(p) | + | |
| - | = | + | |
| - | \frac{2p-1}{p^2(1-p)^2}. | + | |
| - | </tex> | + | |
Знаменатель положителен на всём интервале <tex>(0,1)</tex>, поэтому знак второй производной определяется числителем <tex>2p-1</tex>. При <tex>0<p<1/2</tex> вторая производная отрицательна, и логит-функция вогнута. При <tex>1/2<p<1</tex> вторая производная положительна, и логит-функция выпукла. В точке <tex>p=1/2</tex> вторая производная равна нулю, и эта точка является точкой перегиба. | Знаменатель положителен на всём интервале <tex>(0,1)</tex>, поэтому знак второй производной определяется числителем <tex>2p-1</tex>. При <tex>0<p<1/2</tex> вторая производная отрицательна, и логит-функция вогнута. При <tex>1/2<p<1</tex> вторая производная положительна, и логит-функция выпукла. В точке <tex>p=1/2</tex> вторая производная равна нулю, и эта точка является точкой перегиба. | ||
| Строка 112: | Строка 79: | ||
Логит-функция обладает симметрией относительно точки <tex>(1/2,0)</tex>: | Логит-функция обладает симметрией относительно точки <tex>(1/2,0)</tex>: | ||
| - | <tex> | + | <tex>\operatorname{logit}(1-p) = -\operatorname{logit}(p).</tex> |
| - | \operatorname{logit}(1-p) | + | |
| - | = | + | |
| - | -\operatorname{logit}(p). | + | |
| - | </tex> | + | |
Действительно, | Действительно, | ||
| - | <tex> | + | <tex>\operatorname{logit}(1-p) = \ln\frac{1-p}{p} = -\ln\frac{p}{1-p} = -\operatorname{logit}(p).</tex> |
| - | \operatorname{logit}(1-p) | + | |
| - | = | + | |
| - | \ln\frac{1-p}{p} | + | |
| - | = | + | |
| - | -\ln\frac{p}{1-p} | + | |
| - | = | + | |
| - | -\operatorname{logit}(p). | + | |
| - | </tex> | + | |
Специальное значение в середине интервала: | Специальное значение в середине интервала: | ||
| - | <tex> | + | <tex>\operatorname{logit}\left(\frac{1}{2}\right)=0.</tex> |
| - | \operatorname{logit}\left(\frac{1}{2}\right)=0. | + | |
| - | </tex> | + | |
Также выполняется | Также выполняется | ||
| - | <tex> | + | <tex>\operatorname{logit}(p)>0 \Leftrightarrow p>\frac{1}{2}.</tex> |
| - | \operatorname{logit}(p)>0 | + | |
| - | \ | + | |
| - | p>\frac{1}{2}. | + | |
| - | </tex> | + | |
Аналогично, | Аналогично, | ||
| - | <tex> | + | <tex>\operatorname{logit}(p)<0 \Leftrightarrow p<\frac{1}{2}.</tex> |
| - | \operatorname{logit}(p)<0 | + | |
| - | \ | + | |
| - | p<\frac{1}{2}. | + | |
| - | </tex> | + | |
Численные примеры: | Численные примеры: | ||
| Строка 166: | Строка 111: | ||
Логит-функция является обратной к логистической функции, или [[Логистическая функция|сигмоиде]]. Пусть | Логит-функция является обратной к логистической функции, или [[Логистическая функция|сигмоиде]]. Пусть | ||
| - | <tex> | + | <tex>z=\ln\frac{p}{1-p}.</tex> |
| - | z=\ln\frac{p}{1-p}. | + | |
| - | </tex> | + | |
Требуется выразить <tex>p</tex> через <tex>z</tex>. Возводим обе части в экспоненту: | Требуется выразить <tex>p</tex> через <tex>z</tex>. Возводим обе части в экспоненту: | ||
| - | <tex> | + | <tex>e^z=\frac{p}{1-p}.</tex> |
| - | e^z=\frac{p}{1-p}. | + | |
| - | </tex> | + | |
Умножаем на <tex>1-p</tex>: | Умножаем на <tex>1-p</tex>: | ||
| - | <tex> | + | <tex>e^z(1-p)=p.</tex> |
| - | e^z(1-p)=p. | + | |
| - | </tex> | + | |
Раскрываем скобки: | Раскрываем скобки: | ||
| - | <tex> | + | <tex>e^z-e^zp=p.</tex> |
| - | e^z-e^zp=p. | + | |
| - | </tex> | + | |
Переносим члены с <tex>p</tex> в одну сторону: | Переносим члены с <tex>p</tex> в одну сторону: | ||
| - | <tex> | + | <tex>e^z=p+e^zp=p(1+e^z).</tex> |
| - | e^z=p+e^zp=p(1+e^z). | + | |
| - | </tex> | + | |
Отсюда | Отсюда | ||
| - | <tex> | + | <tex>p=\frac{e^z}{1+e^z}.</tex> |
| - | p=\frac{e^z}{1+e^z}. | + | |
| - | </tex> | + | |
Деление числителя и знаменателя на <tex>e^z</tex> даёт эквивалентную форму | Деление числителя и знаменателя на <tex>e^z</tex> даёт эквивалентную форму | ||
| - | <tex> | + | <tex>p = \frac{1}{1+e^{-z}}.</tex> |
| - | p | + | |
| - | = | + | |
| - | \frac{1}{1+e^{-z}}. | + | |
| - | </tex> | + | |
Функция | Функция | ||
| - | <tex> | + | <tex>\sigma(z)=\frac{1}{1+e^{-z}}</tex> |
| - | \sigma(z)=\frac{1}{1+e^{-z}} | + | |
| - | </tex> | + | |
называется логистической функцией, или сигмоидой. Она задаёт отображение | называется логистической функцией, или сигмоидой. Она задаёт отображение | ||
| - | <tex> | + | <tex>\sigma: \mathbb{R}\to(0,1).</tex> |
| - | \sigma | + | |
| - | </tex> | + | |
Взаимная обратимость логита и сигмоиды выражается тождествами | Взаимная обратимость логита и сигмоиды выражается тождествами | ||
| - | <tex> | + | <tex>\operatorname{logit}(\sigma(z))=z,</tex> |
| - | \operatorname{logit}(\sigma(z))=z, | + | |
| - | </tex> | + | |
| - | <tex> | + | <tex>\sigma(\operatorname{logit}(p))=p.</tex> |
| - | \sigma(\operatorname{logit}(p))=p. | + | |
| - | </tex> | + | |
Логит преобразует вероятность из интервала <tex>(0,1)</tex> в произвольное действительное число. Сигмоида выполняет обратное преобразование: переводит произвольное действительное число в вероятность из интервала <tex>(0,1)</tex>. | Логит преобразует вероятность из интервала <tex>(0,1)</tex> в произвольное действительное число. Сигмоида выполняет обратное преобразование: переводит произвольное действительное число в вероятность из интервала <tex>(0,1)</tex>. | ||
| Строка 240: | Строка 161: | ||
== Логит в логистической регрессии == | == Логит в логистической регрессии == | ||
| - | В [[Логистическая регрессия|логистической регрессии]] моделируется не сама вероятность, а логарифм шансов положительного класса. Для бинарной целевой переменной <tex>Y\in{0,1}</tex> и вектора признаков | + | В [[Логистическая регрессия|логистической регрессии]] моделируется не сама вероятность, а логарифм шансов положительного класса. Для бинарной целевой переменной <tex>Y\in\{0,1\}</tex> и вектора признаков |
| - | <tex> | + | <tex>x=(x_1,\ldots,x_m)</tex> |
| - | x=(x_1,\ldots,x_m) | + | |
| - | </tex> | + | |
модель записывается в виде | модель записывается в виде | ||
| - | <tex> | + | <tex>\operatorname{logit}\bigl(\mathbb{P}(Y=1\mid x)\bigr) = \beta_0+\beta_1x_1+\ldots+\beta_mx_m.</tex> |
| - | \operatorname{logit}\bigl(\mathbb{P}(Y=1\mid x)\bigr) | + | |
| - | = | + | |
| - | \beta_0+\beta_1x_1+\ldots+\beta_mx_m. | + | |
| - | </tex> | + | |
Правая часть называется линейным предиктором: | Правая часть называется линейным предиктором: | ||
| - | <tex> | + | <tex>\eta(x)=\beta_0+\sum_{j=1}^{m}\beta_jx_j.</tex> |
| - | \eta(x)=\beta_0+\sum_{j=1}^{m}\beta_jx_j. | + | |
| - | </tex> | + | |
Тогда вероятность положительного класса получается применением сигмоиды к линейному предиктору: | Тогда вероятность положительного класса получается применением сигмоиды к линейному предиктору: | ||
| - | <tex> | + | <tex>\mathbb{P}(Y=1\mid x) = \frac{1} {1+\exp\left(-\beta_0-\sum_{j=1}^{m}\beta_jx_j\right)}.</tex> |
| - | \mathbb{P}(Y=1\mid x) | + | |
| - | = | + | |
| - | \frac{1} | + | |
| - | {1+\exp\left(-\beta_0-\sum_{j=1}^{m}\beta_jx_j\right)}. | + | |
| - | </tex> | + | |
Использование логита удобно по нескольким причинам. Во-первых, линейная комбинация признаков может принимать любые действительные значения, тогда как вероятность должна лежать в интервале <tex>(0,1)</tex>. Логит связывает эти две шкалы. Во-вторых, логарифм шансов имеет естественную интерпретацию через отношение вероятности события к вероятности его отсутствия. В-третьих, логит является канонической функцией связи для распределения Бернулли в классе [[Обобщённая линейная модель|обобщённых линейных моделей]]. | Использование логита удобно по нескольким причинам. Во-первых, линейная комбинация признаков может принимать любые действительные значения, тогда как вероятность должна лежать в интервале <tex>(0,1)</tex>. Логит связывает эти две шкалы. Во-вторых, логарифм шансов имеет естественную интерпретацию через отношение вероятности события к вероятности его отсутствия. В-третьих, логит является канонической функцией связи для распределения Бернулли в классе [[Обобщённая линейная модель|обобщённых линейных моделей]]. | ||
| Строка 273: | Строка 181: | ||
Коэффициенты логистической регрессии интерпретируются в шкале логарифма шансов. При увеличении признака <tex>x_j</tex> на единицу и неизменности остальных признаков логарифм шансов увеличивается на <tex>\beta_j</tex>. Сами шансы при этом умножаются на | Коэффициенты логистической регрессии интерпретируются в шкале логарифма шансов. При увеличении признака <tex>x_j</tex> на единицу и неизменности остальных признаков логарифм шансов увеличивается на <tex>\beta_j</tex>. Сами шансы при этом умножаются на | ||
| - | <tex> | + | <tex>e^{\beta_j}.</tex> |
| - | e^{\beta_j}. | + | |
| - | </tex> | + | |
Если <tex>\beta_j>0</tex>, то увеличение признака увеличивает шансы положительного класса. Если <tex>\beta_j<0</tex>, то увеличение признака уменьшает эти шансы. Если <tex>\beta_j=0</tex>, то при фиксированных остальных признаках данный признак не меняет логарифм шансов. | Если <tex>\beta_j>0</tex>, то увеличение признака увеличивает шансы положительного класса. Если <tex>\beta_j<0</tex>, то увеличение признака уменьшает эти шансы. Если <tex>\beta_j=0</tex>, то при фиксированных остальных признаках данный признак не меняет логарифм шансов. | ||
| Строка 283: | Строка 189: | ||
Параметры логистической регрессии обычно оцениваются по [[Принцип максимума правдоподобия|принципу максимума правдоподобия]]. Для обучающей выборки | Параметры логистической регрессии обычно оцениваются по [[Принцип максимума правдоподобия|принципу максимума правдоподобия]]. Для обучающей выборки | ||
| - | <tex> | + | <tex>(x_i,y_i), i=1,\ldots,n,</tex> |
| - | (x_i,y_i), | + | |
| - | </tex> | + | |
| - | где <tex>y_i\in{0,1}</tex>, модель задаёт вероятности | + | где <tex>y_i\in\{0,1\}</tex>, модель задаёт вероятности |
| - | <tex> | + | <tex>p_i=\mathbb{P}(Y=1\mid x_i).</tex> |
| - | p_i=\mathbb{P}(Y=1\mid x_i). | + | |
| - | </tex> | + | |
Функция правдоподобия для независимых наблюдений имеет вид | Функция правдоподобия для независимых наблюдений имеет вид | ||
| - | <tex> | + | <tex>L(\beta)= \prod_{i=1}^{n} p_i^{y_i}(1-p_i)^{1-y_i}.</tex> |
| - | L(\beta)= | + | |
| - | \prod_{i=1}^{n} | + | |
| - | p_i^{y_i}(1-p_i)^{1-y_i}. | + | |
| - | </tex> | + | |
Логарифм правдоподобия равен | Логарифм правдоподобия равен | ||
| - | <tex> | + | <tex>\ell(\beta)= \sum_{i=1}^{n} \left( y_i\ln p_i+(1-y_i)\ln(1-p_i) \right).</tex> |
| - | \ell(\beta)= | + | |
| - | \sum_{i=1}^{n} | + | |
| - | \left( | + | |
| - | y_i\ln p_i+(1-y_i)\ln(1-p_i) | + | |
| - | \right). | + | |
| - | </tex> | + | |
| - | Максимизация этой величины эквивалентна минимизации отрицательного логарифма правдоподобия, который в задачах бинарной классификации совпадает с логистической | + | Максимизация этой величины эквивалентна минимизации отрицательного логарифма правдоподобия, который в задачах бинарной классификации совпадает с логистической потерей, или бинарной кросс-энтропией. Для численной оптимизации могут использоваться метод Ньютона, квазиньютоновские методы, координатный спуск и градиентный спуск. |
== Применение == | == Применение == | ||
| Строка 353: | Строка 245: | ||
Пробит-функция связи определяется как обратная функция распределения стандартного нормального распределения: | Пробит-функция связи определяется как обратная функция распределения стандартного нормального распределения: | ||
| - | <tex> | + | <tex>g_{\mathrm{probit}}(p)=\Phi^{-1}(p), 0<p<1,</tex> |
| - | g_{\mathrm{probit}}(p)=\Phi^{-1}(p), | + | |
| - | + | ||
| - | </tex> | + | |
где <tex>\Phi</tex> — функция распределения стандартного нормального закона. Обратное преобразование имеет вид | где <tex>\Phi</tex> — функция распределения стандартного нормального закона. Обратное преобразование имеет вид | ||
| - | <tex> | + | <tex>p=\Phi(z).</tex> |
| - | p=\Phi(z). | + | |
| - | </tex> | + | |
Логит и пробит имеют одинаковую область определения <tex>(0,1)</tex> и одинаковое множество значений <tex>\mathbb{R}</tex>. Обе функции строго возрастают и симметричны относительно точки <tex>(1/2,0)</tex>. Обе функции могут использоваться как функции связи для бинарного отклика. | Логит и пробит имеют одинаковую область определения <tex>(0,1)</tex> и одинаковое множество значений <tex>\mathbb{R}</tex>. Обе функции строго возрастают и симметричны относительно точки <tex>(1/2,0)</tex>. Обе функции могут использоваться как функции связи для бинарного отклика. | ||
| Строка 368: | Строка 255: | ||
Главное отличие состоит в интерпретации. Логит напрямую связан с шансами: | Главное отличие состоит в интерпретации. Логит напрямую связан с шансами: | ||
| - | <tex> | + | <tex>\operatorname{logit}(p)=\ln\frac{p}{1-p}.</tex> |
| - | \operatorname{logit}(p)=\ln\frac{p}{1-p}. | + | |
| - | </tex> | + | |
Поэтому коэффициенты логистической регрессии имеют интерпретацию через отношение шансов. В пробит-модели коэффициенты интерпретируются через скрытую нормальную шкалу, что часто менее непосредственно. | Поэтому коэффициенты логистической регрессии имеют интерпретацию через отношение шансов. В пробит-модели коэффициенты интерпретируются через скрытую нормальную шкалу, что часто менее непосредственно. | ||
| Строка 380: | Строка 265: | ||
Комплементарная логарифмическая функция связи имеет вид | Комплементарная логарифмическая функция связи имеет вид | ||
| - | <tex> | + | <tex>g_{\mathrm{cloglog}}(p) = \ln\bigl(-\ln(1-p)\bigr), 0<p<1.</tex> |
| - | g_{\mathrm{cloglog}}(p) | + | |
| - | = | + | |
| - | \ln\bigl(-\ln(1-p)\bigr), | + | |
| - | + | ||
| - | </tex> | + | |
Её обратное преобразование: | Её обратное преобразование: | ||
| - | <tex> | + | <tex>p= 1-\exp(-e^z).</tex> |
| - | p= | + | |
| - | 1-\exp(-e^z). | + | |
| - | </tex> | + | |
Как и логит, эта функция отображает интервал <tex>(0,1)</tex> на всю числовую прямую. Однако она несимметрична относительно <tex>p=1/2</tex>. Такая функция связи используется, когда вероятность события имеет асимметричное поведение, например в некоторых моделях времени до события, дискретных моделях риска и задачах с редкими событиями. | Как и логит, эта функция отображает интервал <tex>(0,1)</tex> на всю числовую прямую. Однако она несимметрична относительно <tex>p=1/2</tex>. Такая функция связи используется, когда вероятность события имеет асимметричное поведение, например в некоторых моделях времени до события, дискретных моделях риска и задачах с редкими событиями. | ||
| Строка 398: | Строка 275: | ||
Логит симметрично обрабатывает вероятности <tex>p</tex> и <tex>1-p</tex>, поскольку | Логит симметрично обрабатывает вероятности <tex>p</tex> и <tex>1-p</tex>, поскольку | ||
| - | <tex> | + | <tex>\operatorname{logit}(1-p)=-\operatorname{logit}(p).</tex> |
| - | \operatorname{logit}(1-p)=-\operatorname{logit}(p). | + | |
| - | </tex> | + | |
Для комплементарной логарифмической функции такой симметрии нет. Поэтому она может быть предпочтительна, если механизм возникновения события асимметричен. | Для комплементарной логарифмической функции такой симметрии нет. Поэтому она может быть предпочтительна, если механизм возникновения события асимметричен. | ||
| Строка 418: | Строка 293: | ||
def logit(p, eps=1e-12): | def logit(p, eps=1e-12): | ||
| - | p = np.asarray(p, dtype=float) | + | p = np.asarray(p, dtype=float) |
| - | + | if np.any((p < 0) | (p > 1)): | |
| - | if np.any((p < 0) | (p > 1)): | + | raise ValueError("Вероятности должны принадлежать отрезку [0, 1].") |
| - | + | ||
| - | p_safe = np.clip(p, eps, 1.0 - eps) | + | p_safe = np.clip(p, eps, 1.0 - eps) |
| - | return np.log(p_safe / (1.0 - p_safe)) | + | return np.log(p_safe / (1.0 - p_safe)) |
| - | + | ||
def sigmoid(z): | def sigmoid(z): | ||
| Строка 444: | Строка 317: | ||
print("\nВосстановленные вероятности:") | print("\nВосстановленные вероятности:") | ||
| - | print(np.round(restored_probabilities, 4)) </source> | + | print(np.round(restored_probabilities, 4)) |
| + | </source> | ||
Отсечение задаётся формулой | Отсечение задаётся формулой | ||
| - | <tex> | + | <tex>p_{\mathrm{safe}} = \min\bigl(\max(p,\varepsilon),1-\varepsilon\bigr),</tex> |
| - | p_{\mathrm{safe}} | + | |
| - | = | + | |
| - | \min\bigl(\max(p,\varepsilon),1-\varepsilon\bigr), | + | |
| - | </tex> | + | |
где <tex>\varepsilon</tex> — малое положительное число. Это численный приём: он предотвращает вычисление логарифма нуля и деление на ноль, но изменяет точные значения <tex>0</tex> и <tex>1</tex>, для которых конечный логит не определён. | где <tex>\varepsilon</tex> — малое положительное число. Это численный приём: он предотвращает вычисление логарифма нуля и деление на ноль, но изменяет точные значения <tex>0</tex> и <tex>1</tex>, для которых конечный логит не определён. | ||
| Строка 474: | Строка 344: | ||
print("\nscipy.special.expit(logit(p)):") | print("\nscipy.special.expit(logit(p)):") | ||
| - | print(np.round(p_back, 4)) </source> | + | print(np.round(p_back, 4)) |
| + | </source> | ||
Построение графика логит-функции: | Построение графика логит-функции: | ||
| Строка 491: | Строка 362: | ||
plt.title("Логит-функция") | plt.title("Логит-функция") | ||
plt.grid(True) | plt.grid(True) | ||
| - | plt.show() </source> | + | plt.show() |
| + | </source> | ||
Построение графика сигмоиды: | Построение графика сигмоиды: | ||
| Строка 508: | Строка 380: | ||
plt.title("Логистическая функция") | plt.title("Логистическая функция") | ||
plt.grid(True) | plt.grid(True) | ||
| - | plt.show() </source> | + | plt.show() |
| + | </source> | ||
В первом графике аргументом является вероятность <tex>p\in(0,1)</tex>, а значением — логарифм шансов. Во втором графике аргументом является произвольное действительное число <tex>z</tex>, а значением — вероятность <tex>\sigma(z)\in(0,1)</tex>. | В первом графике аргументом является вероятность <tex>p\in(0,1)</tex>, а значением — логарифм шансов. Во втором графике аргументом является произвольное действительное число <tex>z</tex>, а значением — вероятность <tex>\sigma(z)\in(0,1)</tex>. | ||
Текущая версия
| | Статья написана с использованием LLM GPT-5.5 Thinking и проверена участником Eva Vallistu 10:20, 14 июля 2026 (MSD) Промпт приводится полностью в Обсуждение:Логит-функция |
|
Логит-функция — функция, преобразующая вероятность события в логарифм отношения его шансов. Она используется в математической статистике, анализе категориальных данных, логистической регрессии, обобщённых линейных моделях и задачах бинарной классификации.
Интуитивно логит отвечает на вопрос, насколько событие более вероятно, чем его отсутствие, но выражает это отношение не в исходной шкале вероятностей, а в логарифмической шкале. Если вероятность события равна , то событие и его дополнение имеют равные шансы, а логит равен нулю. Если вероятность больше
, логит положителен; если меньше
, логит отрицателен.
Необходимо различать три связанных, но разных понятия:
- логит-функция преобразует вероятность
в действительное число;
- логистическая функция, или сигмоида, преобразует действительное число в вероятность;
- логистическая регрессия — статистическая модель, в которой логит условной вероятности выражается через линейную комбинацию признаков.
Основные понятия и определения
Пусть — событие, а
Величина называется вероятностью события
. Вероятность равна нулю для невозможного события и единице для достоверного события.
Шансы события с вероятностью определяются как отношение вероятности события к вероятности его дополнения:
Если , то
Это означает, что событие и его отсутствие имеют одинаковые вероятности. Если , то шансы больше единицы; если
, то шансы меньше единицы.
Логарифм шансов — это натуральный логарифм отношения шансов:
Логит-функция определяется формулой
Свойства логит-функции
Логит-функция непрерывна и бесконечно дифференцируема на интервале . При приближении вероятности к границам интервала значения логита неограниченно убывают или возрастают:
Это отражает поведение шансов. Если вероятность события близка к нулю, то шансы события близки к нулю, а логарифм шансов стремится к . Если вероятность события близка к единице, то шансы становятся неограниченно большими, а логарифм шансов стремится к
.
Первая производная логит-функции равна
Поскольку для всех выполняется
то
Следовательно, логит-функция строго возрастает на всём интервале .
Вторая производная имеет вид
- если
, то
;
- если
, то
;
- если
, то
;
- если
, то
;
- если
, то
.
Обратная функция
Логит-функция является обратной к логистической функции, или сигмоиде. Пусть
Требуется выразить через
. Возводим обе части в экспоненту:
Умножаем на :
Раскрываем скобки:
Переносим члены с в одну сторону:
Отсюда
Деление числителя и знаменателя на даёт эквивалентную форму
Функция
называется логистической функцией, или сигмоидой. Она задаёт отображение
Взаимная обратимость логита и сигмоиды выражается тождествами
Логит преобразует вероятность из интервала в произвольное действительное число. Сигмоида выполняет обратное преобразование: переводит произвольное действительное число в вероятность из интервала
.
Численные примеры обратного преобразования:
- если
, то
;
- если
, то
;
- если
, то
.
Логит в логистической регрессии
В логистической регрессии моделируется не сама вероятность, а логарифм шансов положительного класса. Для бинарной целевой переменной и вектора признаков
модель записывается в виде
Правая часть называется линейным предиктором:
Тогда вероятность положительного класса получается применением сигмоиды к линейному предиктору:
Использование логита удобно по нескольким причинам. Во-первых, линейная комбинация признаков может принимать любые действительные значения, тогда как вероятность должна лежать в интервале . Логит связывает эти две шкалы. Во-вторых, логарифм шансов имеет естественную интерпретацию через отношение вероятности события к вероятности его отсутствия. В-третьих, логит является канонической функцией связи для распределения Бернулли в классе обобщённых линейных моделей.
Коэффициенты логистической регрессии интерпретируются в шкале логарифма шансов. При увеличении признака на единицу и неизменности остальных признаков логарифм шансов увеличивается на
. Сами шансы при этом умножаются на
Если , то увеличение признака увеличивает шансы положительного класса. Если
, то увеличение признака уменьшает эти шансы. Если
, то при фиксированных остальных признаках данный признак не меняет логарифм шансов.
При этом нельзя утверждать, что вероятность увеличивается на постоянную величину . Влияние признака на вероятность зависит от текущего значения линейного предиктора. Одинаковое изменение логарифма шансов даёт разное изменение вероятности вблизи
и вблизи границ интервала.
Параметры логистической регрессии обычно оцениваются по принципу максимума правдоподобия. Для обучающей выборки
где , модель задаёт вероятности
Функция правдоподобия для независимых наблюдений имеет вид
Логарифм правдоподобия равен
Максимизация этой величины эквивалентна минимизации отрицательного логарифма правдоподобия, который в задачах бинарной классификации совпадает с логистической потерей, или бинарной кросс-энтропией. Для численной оптимизации могут использоваться метод Ньютона, квазиньютоновские методы, координатный спуск и градиентный спуск.
Применение
Логит-функция применяется в задачах, где исходная величина является вероятностью, но требуется перейти к неограниченной шкале действительных чисел.
В статистике логит используется для анализа бинарных откликов, построения доверительных интервалов для вероятностей, оценки влияния факторов на шансы события и моделирования категориальных данных.
В машинном обучении логит лежит в основе логистической регрессии и часто используется при переходе от линейного предиктора к вероятности класса. В нейронных сетях термином «логит» также часто называют ненормированные выходы модели до применения сигмоиды или softmax-функции. В таком употреблении логит является не обязательно значением функции , а числом, которое после преобразования становится вероятностью.
В эпидемиологии логит используется при оценке отношения шансов заболевания при наличии или отсутствии фактора риска. Например, коэффициент логистической регрессии может описывать, во сколько раз меняются шансы заболевания при увеличении возраста, изменении дозы препарата или наличии определённого признака.
В эконометрике логит-модели применяются для анализа дискретного выбора: покупки товара, принятия решения, дефолта заёмщика, выбора транспорта или участия в программе. Вероятность выбора моделируется через линейную комбинацию факторов и логистическое преобразование.
В анализе категориальных данных логит используется для построения моделей таблиц сопряжённости, сравнения групп и описания зависимости вероятности ответа от набора объясняющих переменных.
Преимущества логит-преобразования:
- переводит вероятность из ограниченного интервала
в неограниченную шкалу
;
- имеет простую интерпретацию через шансы и отношение шансов;
- симметрично относительно вероятности
;
- является канонической функцией связи для распределения Бернулли;
- удобно сочетается с линейными моделями и методом максимального правдоподобия;
- позволяет интерпретировать коэффициенты через множители
для шансов.
Ограничения и численные проблемы:
- логит не определён при
и
;
- при вероятностях, очень близких к нулю или единице, значения логита имеют большой модуль;
- численные вычисления могут страдать от переполнения или потери точности;
- в прикладных задачах иногда требуется отсекать вероятности от границ интервала;
- коэффициенты логистической регрессии линейны в шкале логарифма шансов, но не в шкале вероятностей;
- отношение шансов может быть трудно интерпретировать как изменение вероятности без учёта исходного уровня риска.
Численное отсечение вероятностей является техническим приёмом. Если вероятность равна точно нулю или единице, конечный логит не существует; замена этих значений на или
меняет исходные данные и должна рассматриваться как приближение.
Сравнение с другими функциями связи
Логит и пробит
Пробит-функция связи определяется как обратная функция распределения стандартного нормального распределения:
Логит и комплементарная логарифмическая функция
Комплементарная логарифмическая функция связи имеет вид
Выбор функции связи
Выбор функции связи определяется не только качеством прогноза, но и интерпретируемостью модели. Логит удобен, когда важна интерпретация коэффициентов через отношение шансов. Пробит удобен в моделях со скрытой нормальной переменной. Комплементарная логарифмическая функция применяется при асимметричных вероятностных механизмах и моделях риска.
Для прикладного анализа обычно сравнивают несколько функций связи по качеству подгонки, устойчивости оценок, интерпретируемости коэффициентов и соответствию предположениям предметной области. Универсально лучшей функции связи не существует.
Реализация
Ниже приведена самостоятельная реализация логит-функции и сигмоиды с использованием NumPy. Реализация проверяет допустимость входных вероятностей и использует отсечение значений, близких к границам интервала.
import numpy as np def logit(p, eps=1e-12): p = np.asarray(p, dtype=float) if np.any((p < 0) | (p > 1)): raise ValueError("Вероятности должны принадлежать отрезку [0, 1].") p_safe = np.clip(p, eps, 1.0 - eps) return np.log(p_safe / (1.0 - p_safe)) def sigmoid(z): z = np.asarray(z, dtype=float) return 1.0 / (1.0 + np.exp(-z)) probabilities = np.array([0.01, 0.1, 0.2, 0.5, 0.8, 0.9, 0.99]) z = logit(probabilities) restored_probabilities = sigmoid(z) print("Вероятности:") print(probabilities) print("\nЛогиты:") print(np.round(z, 4)) print("\nВосстановленные вероятности:") print(np.round(restored_probabilities, 4))
Отсечение задаётся формулой
где — малое положительное число. Это численный приём: он предотвращает вычисление логарифма нуля и деление на ноль, но изменяет точные значения
и
, для которых конечный логит не определён.
В библиотеке SciPy логит и обратная к нему функция реализованы как scipy.special.logit и scipy.special.expit. Функция expit является численно устойчивой реализацией сигмоиды.
import numpy as np from scipy.special import logit, expit probabilities = np.array([0.1, 0.2, 0.5, 0.8, 0.9]) z = logit(probabilities) p_back = expit(z) print("Вероятности:") print(probabilities) print("\nscipy.special.logit(p):") print(np.round(z, 4)) print("\nscipy.special.expit(logit(p)):") print(np.round(p_back, 4))
Построение графика логит-функции:
import numpy as np import matplotlib.pyplot as plt p = np.linspace(0.001, 0.999, 1000) y = np.log(p / (1.0 - p)) plt.figure() plt.plot(p, y) plt.xlabel("p") plt.ylabel("logit(p)") plt.title("Логит-функция") plt.grid(True) plt.show()
Построение графика сигмоиды:
import numpy as np import matplotlib.pyplot as plt z = np.linspace(-8, 8, 1000) p = 1.0 / (1.0 + np.exp(-z)) plt.figure() plt.plot(z, p) plt.xlabel("z") plt.ylabel("sigma(z)") plt.title("Логистическая функция") plt.grid(True) plt.show()
В первом графике аргументом является вероятность , а значением — логарифм шансов. Во втором графике аргументом является произвольное действительное число
, а значением — вероятность
.
См. также
- Логистическая регрессия
- Сигмоида
- Обобщённая линейная модель
- Классификация
- Принцип максимума правдоподобия
- Распределение вероятностей
- Машинное обучение
Литература
Berkson J. Application of the logistic function to bio-assay. — 1944. — Т. 39. — № 227. — С. 357--365.
Cox D. R. The regression analysis of binary sequences. — 1958. — Т. 20. — № 2. — С. 215--242.
Nelder J. A.; Wedderburn R. W. M. Generalized Linear Models. — 1972. — Т. 135. — № 3. — С. 370--384.
McCullagh P.; Nelder J. A. Generalized Linear Models. — Chapman and Hall, 1989.
Agresti A. Categorical Data Analysis. — Wiley, 2013.
Hosmer D. W.; Lemeshow S.; Sturdivant R. X. Applied Logistic Regression. — Wiley, 2013.
Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006.

