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

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

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

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

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

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

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

f(x)=11+ex

На рисунку 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+w1x1+w2x2++wNxN

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

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

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

y=11+ez

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

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

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

y=11+ez

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

z=log(y1y)

…то 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.

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

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

b=1w1=2w2=1w3=5

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

x1=0x2=10x3=2

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

1. Яке значення матиме z, якщо розрахувати його, використовуючи ці вхідні значення?
–1
0
0,731
1
2. Яким буде прогноз логістичної регресії, якщо розрахувати його, використовуючи ці вхідні значення?
0,268
0,5
0,731
1