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

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

  • Застосувати без змін. Наприклад, якщо модель прогнозування спаму отримує як вхідні дані електронний лист і виводить значення 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.