Логістична регресія: обчислення ймовірності за допомогою сигмоїдної функції

Для багатьох завдань потрібна оцінка ймовірності як вихідного значення. Логістична регресія – надзвичайно ефективний механізм для обчислення ймовірностей. На практиці ви можете використовувати отриману ймовірність одним із двох способів.

  • Застосувати без змін. Наприклад, якщо модель прогнозування спаму отримує як вхідні дані електронний лист і виводить значення 0.932, це означає, що ймовірність того, що цей лист – спам, становить 93.2%.

  • Конвертувати у двійкові значення, наприклад True й False, Spam і Not Spam.

Цей модуль присвячено використанню вихідних значень моделі логістичної регресії без змін. У модулі Класифікація ви дізнаєтеся, як конвертувати ці вихідні значення у двійкові.

Сигмоїдна функція

Вам може бути цікаво, чому вихідні значення моделі логістичної регресії гарантовано відображають імовірність, завжди повертаючи число між 0 і 1. Так склалося, що існує сімейство функцій під назвою логістичні функції, вихідні значення яких мають ті самі характеристики. Стандартна логістична функція, також відома як сигмоїдна функція (сигмоїдна означає "s-подібна"), має таку формулу:

\[f(x) = \frac{1}{1 + e^{-x}}\]

На рисунку 1 показано відповідний графік сигмоїдної функції.

Сигмоїдна (s-подібна) крива, побудована на декартовій координатній площині із центром у початку координат.
Рисунок 1. Графік сигмоїдної функції. Крива наближається до 0, коли значення x зменшується до від’ємної нескінченності, і до 1, коли значення x зростає до нескінченності.

Зі збільшенням вхідних чисел x вихідні значення сигмоїдної функції наближаються до 1, але ніколи її не досягають. Аналогічно, зі зменшенням вхідних чисел вихідні значення сигмоїдної функції наближаються до 0, але ніколи його не досягають.

Натисніть тут, щоб дізнатися більше про математичні аспекти сигмоїдної функції.

У таблиці нижче показано вихідні значення сигмоїдної функції для вхідних даних у діапазоні від –7 до 7. Зверніть увагу на те, як швидко значення сигмоїди наближаються до 0, коли від’ємні вхідні числа зменшуються, і до 1, коли додатні вхідні числа збільшуються.

Однак вихідні значення завжди будуть більшими за 0 і меншими ніж 1, хоч якими будуть вхідні дані.

Вхідні значення Вихідні значення сигмоїди
–7 0,001
–6 0,002
–5 0,007
–4 0,018
–3 0,047
–2 0,119
–1 0,269
0 0,50
1 0,731
2 0,881
3 0,952
4 0,982
5 0,993
6 0,997
7 0,999

Перетворення лінійного вихідного значення за допомогою сигмоїдної функції

Рівняння, наведене нижче, представляє лінійний компонент моделі логістичної регресії:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

Визначення змінних:

  • z – це результат лінійного рівняння, який також називають логарифмічними шансами;
  • b – упередженість;
  • w – це значення ваги моделі, отримані в процесі навчання;
  • x – це значення ознак для конкретного прикладу.

Прогноз логістичної регресії отримується, коли значення z передається сигмоїдній функції, яка повертає значення (імовірність) між 0 і 1:

\[y' = \frac{1}{1 + e^{-z}}\]

Визначення змінних:

  • y' – вихідні значення моделі логістичної регресії;
  • z – лінійне вихідне значення (розраховане в попередньому рівнянні).

Натисніть тут, щоб дізнатися більше про логарифмічні шанси.

У рівнянні $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$ z позначається як логарифмічні шанси, адже якщо почати з наступної сигмоїдної функції (де "y" – це вихідне значення моделі логістичної регресії, що представляє імовірність):

$$y = \frac{1}{1 + e^{-z}}$$

…а потім знайти z:

$$ z = \log\left(\frac{y}{1-y}\right) $$

…то z визначатиметься як логарифм співвідношення ймовірностей двох можливих результатів: y і 1 – y.

На рисунку 2 показано, як за допомогою цих розрахунків лінійні вихідні значення перетворюються на вихідні дані моделі логістичної регресії.

Ліворуч: лінія з виділеними точками з координатами (–7,5, –10), (–2,5, 0) і (0, 5). Праворуч: сигмоїдна крива, на якій виділено відповідні перетворені точки з координатами (–10, 0,00004), (0, 0,5) і (5, 0,9933).
Рисунок 2. Ліворуч: графік лінійної функції z = 2x + 5 із трьома виділеними точками. Праворуч: сигмоїдна крива з тими самими трьома виділеними точками після перетворення сигмоїдною функцією.

На рисунку 2 лінійне рівняння стає вхідним значенням для сигмоїдної функції, яка перетворює пряму на s-подібну лінію. Зауважте, що лінійне рівняння може виводити дуже великі або дуже малі числа z, але вихідне значення сигмоїдної функції, y', завжди перебуває в діапазоні від 0 до 1 (не досягаючи їх). Наприклад, жовтий квадрат на лівому графіку має значення z –10, але сигмоїдна функція на правому графіку відображає ці –10 як значення y' 0,00004.

Вправа. Перевірте свої знання

Модель логістичної регресії з трьома ознаками має такі значення упередженості й ваги:

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

Задано такі вхідні значення:

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

Дайте відповідь на два запитання, наведені нижче.

1. Яке значення матиме z, якщо розрахувати його, використовуючи ці вхідні значення?
–1
0
0,731
1
Правильно! Лінійне рівняння з урахуванням значень ваги й упередженості має такий вигляд: z = 1 + 2x1 – x2 + 5 x3. Підставивши в нього вхідні значення, отримаємо ось що: z = 1 + (2)(0) – (10) + (5)(2) = 1.
2. Яким буде прогноз логістичної регресії, якщо розрахувати його, використовуючи ці вхідні значення?
0,268
0,5
0,731

Виконуючи завдання 1 вище, ви вже дізналися, логарифмічні шанси, розраховані на основі вхідних значень, дорівнюють 1. Підставляємо значення для z у сигмоїдну функцію:

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
Пам’ятайте, що вихідне значення сигмоїдної функції завжди буде більшим за 0 і меншим ніж 1.