Recall in Machine Learning

Оновлено: 31.07.2023

Модель машинного навчання та матриця плутанини

Для того, щоб мати достатньо хорошу метрику точності в моделі машинного навчання, вам потрібна матриця плутанини, пригадування і точність. Це важливо, тому що іноді результати можуть дати вам неправильне враження, і щоб уникнути цього, вам потрібно бачити, наскільки добре модель зробила своє передбачення.

Матриця плутанини, пригадування та точність необхідні для того, щоб ваша модель машинного навчання була більш точною

Ось де матриця плутанини стає в нагоді, особливо для зважування витрат і переваг вибору. В ідеалі, ви даєте моделі вхідні дані, а вона дає вам точний і чіткий результат. Матриця плутанини може працювати як з бінарними, так і з небінарними класифікаціями. Бінарна класифікація є простою, коли модель прогнозує вибір між двома варіантами (так чи ні, істинно чи хибно, ліворуч чи праворуч). Якщо модель прогнозує неправильно, ви отримаєте хибно-позитивний або хибно-негативний результат. Наприклад, якщо модель прогнозує "так", а фактичний результат - "ні", то це хибнопозитивний результат. Хибнонегативний результат - це навпаки, коли модель прогнозує "ні", а фактичний результат - "так".

Відкликання в бінарній класифікації

У бінарній класифікації (два класи), де ви маєте проблему незбалансованої класифікації, відкликання в машинному навчанні обчислюється за допомогою наступного рівняння:

Нагадаємо, що класифікація = Кількість істинно-позитивних результатів/ (Загальна кількість істинно-позитивних результатів + Загальна кількість хибно-негативних результатів)

Результатом може бути значення від 0.0 до 1.0, від відсутності згадування до повного згадування. Для практичного прикладу візьмемо набір даних із співвідношенням 1 меншість до 1000 більшості (1:1000), з 1000 прикладами класів меншості та 1 000 000 прикладами класів більшості.

Модель машинного навчання передбачила 950 позитивних прогнозів класів правильно, а решту (50) - неправильно.

Виходячи з цього, розрахунок відкликання для цієї моделі виглядає наступним чином:

Recall = TruePositives / (TruePositives + FalseNegatives)

Recall = 950 / (950 + 50) → Recall = 950 / 1000 → Recall = 0.95

Ця модель має майже ідеальний показник відгуку.

Відкликання в багатокласній класифікації

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

Згадайте формулу = Істинні позитиви в усіх класах / (Істинні позитиви + Хибні негативи в усіх класах)

Як і в попередньому прикладі, візьмемо набір даних із співвідношенням 1 меншість до 1000 більшості та співвідношенням 1:1 для кожного позитивного класу, з 1000 прикладів класів меншин та 1 000 000 прикладів класів більшості.

Модель машинного навчання прогнозує 850 прикладів правильно (що означає, що 150 - неправильно) у класі 1, і 900 правильно і 100 неправильно для другого класу (клас 2).

Виходячи з цього, розрахунок відкликання для цієї моделі виглядає наступним чином:

Recall = True Positive у всіх класах / (True Positives + False Negatives у всіх класах)

Відкликання = (850+900) / ((850+900) +(150+100)) → Відкликання = 1750 / (1750 + 250) → Відкликання = 1750 / 2000 → Відкликання = 0,875

Якщо ваша кінцева мета - мінімізувати кількість хибних спрацьовувань у задачі незбалансованої класифікації, то використання відкликання - правильний спосіб дій. Однак слід бути обережним, оскільки збільшення кількості відгуків може призвести до зниження точності.

Точність

Про точність у машинному навчанні ми говорили в одному з наших попередніх блогів. Тому тут ми лише коротко згадаємо про неї і порівняємо з основною темою цього блогу - пригадуванням.

Як ми вже говорили, точність корисна для того, щоб побачити, скільки істинних спрацьовувань (ІС) потрапило в матрицю помилок. Якщо немає хибних спрацьовувань (ХС), то модель правильна на 100%. Зрозуміло, що чим більше помилкових спрацьовувань, тим гірше буде виглядати точність.

Точність = Істинні позитиви / (Істинні позитиви + Хибні позитиви)

Відкликання проти точності

Для проблеми незбалансованої класифікації згадування і точність є кращими метриками, ніж просто покладатися лише на точність моделі. Однак це не означає, що вони однаково важливі. У конкретній ситуації ви можете захотіти максимізувати або відтворення, або точність за рахунок іншої метрики. Ви не можете мати і те, і інше, і високу точність, тому є певна ціна в отриманні вищих балів за будь-яку з цих метрик. У деяких випадках ви хочете врахувати обидві метрики і знайти оптимальне поєднання, використовуючи показник F1.

F1 = 2 * (точність*відгук / (точність + відгук))