Порогові значення й матриця помилок

Припустімо, у вас є модель логістичної регресії для виявлення спаму, яка прогнозує значення від 0 до 1 – імовірність того, чи є певний електронний лист спамом. Прогноз 0,50 означає імовірність 50%, 0,75 – імовірність 75% тощо.

Ви хочете розгорнути цю модель у додатку електронної пошти, щоб фільтрувати спам в окрему папку. Але для цього вам потрібно конвертувати необроблені числові вихідні дані моделі (наприклад, 0.75) в одну з двох категорій: "спам" або "не спам".

Щоб зробити це, ви вибираєте порогове значення ймовірності, яке називається порогом класифікації. Приклади з імовірністю, що перевищує порогове значення, система потім відносить до позитивного класу, тобто того, який ви прагнете виявити (тут – spam). Приклади з меншою імовірністю – до негативного класу, тобто альтернативного (тут – not spam).

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

Вас може цікавити, що станеться, якщо прогнозний результат дорівнюватиме порогу класифікації (наприклад, якщо обидва становитимуть 0,5). Це залежить від того, яку систему ви вибрали для розробки моделі класифікації. Бібліотека Keras прогнозує негативний клас, якщо результат і порогове значення однакові, але інші інструменти/фреймворки можуть робити інакше.

Припустімо, що модель прогнозує для одного електронного листа результат 0,99 (99% імовірності того, що лист є спамом), а для іншого – 0,51 (51%). Якщо встановити поріг класифікації 0,5, модель сприйматиме обидва електронні листи як спам. Якщо встановити порогове значення 0,95, лише лист із результатом 0,99 буде класифіковано як спам.

Порогове значення 0,5 може здаватись очевидним вибором, проте не є вдалим, якщо один тип неправильної класифікації обходитиметься дорожче, ніж інший, або якщо класи незбалансовані. Якщо лише 0,01% електронних листів є спамом або якщо неправильно класифікувати звичайні електронні листи – це гірше, ніж пропускати спам у папку "Вхідні", віднесення до цієї категорії всіх листів, які модель вважає імовірним спамом принаймні на 50%, призводить до небажаних результатів.

Матриця помилок

Результат оцінювання ймовірності не є реальним або еталонним. Є чотири можливих результати для кожного типу вихідних даних двійкового класифікатора. Повернімося до прикладу з класифікатором спаму: якщо скласти таблицю, у якій за еталонні мітки відповідатимуть стовпці, а за прогнози моделі – рядки, результатом буде матриця помилок, наведена нижче.

Фактичний позитивний клас Фактичний негативний клас
Прогнозний позитивний клас Істиннопозитивний результат (TP): спам-лист, правильно класифікований як такий. Це спам-повідомлення, які автоматично розподіляються в папку для спаму. Хибнопозитивний результат (FP): лист, який не є спамом, неправильно класифікований як спам. Це звичайні електронні листи, які потрапляють у папку для спаму.
Прогнозний негативний клас Хибнонегативний результат (FN): спам-лист, неправильно класифікований як не такий. Це спам-повідомлення, які не перехоплюються спам-фільтром і потрапляють у папку "Вхідні". Істиннонегативний результат (TN): лист, який не є спамом, правильно класифікований як такий. Це звичайні електронні листи, які потрапляють безпосередньо в папку "Вхідні".

Зауважте, що загальна кількість у кожному рядку – це всі позитивні (TP + FP) і всі негативні результати (FN + TN), які спрогнозувала модель, незалежно від правильності. А загальна кількість у кожному стовпці – це всі фактичні позитивні (TP + FN) і негативні (FP + TN) результати, незалежно від прогнозів моделі.

Коли загальна кількість фактичних позитивних результатів не наближається до загальної кількості фактичних негативних результатів, набір даних є незбалансованим. Його прикладом може бути набір із тисяч фотографій хмар, на яких рідкісний тип хмари, який вас цікавить (скажімо, рулонні хмари), трапляється лише кілька разів.

Вплив порогового значення на істиннопозитивні, істиннонегативні, хибнопозитивні й хибнонегативні результати

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

Спробуйте змінити поріг самостійно.

Цей віджет містить три модельні набори даних.

  • Із чітким розділенням класів: позитивні й негативні приклади, як правило, добре розрізняються, причому більшість позитивних прикладів мають вищий результат, ніж негативні.
  • Без чіткого розділення класів: багато позитивних прикладів мають нижчий результат, ніж негативні, а багато негативних прикладів мають вищий результат, ніж позитивні.
  • Незбалансований: містить лише кілька прикладів позитивного класу.

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

1. Уявіть собі модель класифікації фішингу або зловмисного програмного забезпечення, яка відносить фішингові сайти й ті, що містять зловмисне ПЗ, до класу 1 (правда), а нешкідливі – до класу 0 (неправда). Ця модель помилково класифікує звичайний сайт як той, що містить зловмисне програмне забезпечення. Як це називається?
Хибнопозитивний результат
Негативний приклад (звичайний сайт) помилково класифіковано як позитивний (сайт зі зловмисним програмним забезпеченням).
Істиннопозитивний результат
Істиннопозитивний результат – це якщо сайт зі зловмисним програмним забезпеченням правильно класифіковано як такий.
Хибнонегативний результат
Хибнонегативний результат – це якщо сайт зі зловмисним програмним забезпеченням неправильно класифіковано як звичайний.
Істиннонегативний результат
Істиннонегативний результат – це якщо звичайний сайт правильно класифіковано як такий.
2. Що загалом відбувається з кількістю хибнопозитивних результатів, коли поріг класифікації підвищується? А з кількістю істиннопозитивних результатів? Поекспериментуйте з повзунком вище.
Кількість як істиннопозитивних, так і хибнопозитивних результатів зменшується.
З підвищенням порогового значення модель, найімовірніше, прогнозуватиме менше позитивних результатів, як істинних, так і хибних. Класифікатор спаму з пороговим значенням 0,9999 позначатиме електронний лист як спам, лише якщо вважатиме, що ймовірність класифікації становить принаймні 99,99%. Це означає, що він навряд чи неправильно позначить звичайний лист, але також вірогідно пропустить фактичний спам.
Кількість як істиннопозитивних, так і хибнопозитивних результатів збільшується.
Використовуючи повзунок вище, спробуйте встановити порогове значення 0,1, а потім змініть його на 0,9. Що відбувається з кількістю хибнопозитивних і істиннопозитивних результатів?
Кількість істиннопозитивних результатів збільшується. Кількість хибнопозитивних результатів зменшується.
Використовуючи повзунок вище, спробуйте встановити порогове значення 0,1, а потім змініть його на 0,9. Що відбувається з кількістю хибнопозитивних і істиннопозитивних результатів?
3. Що загалом відбувається з кількістю хибнонегативних результатів, коли поріг класифікації підвищується? А з кількістю істиннонегативних результатів? Поекспериментуйте з повзунком вище.
Кількість істиннонегативних і хибнонегативних результатів збільшується.
З підвищенням порогового значення модель, найімовірніше, прогнозуватиме більше негативних результатів, як істинних, так і хибних. Якщо поріг буде дуже високим, майже всі електронні листи, як спам, так і звичайні, будуть класифікуватися як не спам.
Кількість істиннонегативних і хибнонегативних результатів зменшується.
Використовуючи повзунок вище, спробуйте встановити порогове значення 0,1, а потім змініть його на 0,9. Що відбувається з кількістю хибнонегативних і істиннонегативних результатів?
Кількість істиннонегативних результатів збільшується. Кількість хибнонегативних результатів зменшується.
Використовуючи повзунок вище, спробуйте встановити порогове значення 0,1, а потім змініть його на 0,9. Що відбувається з кількістю хибнонегативних і істиннонегативних результатів?