2. Методичні вказівки
Цей розділ самодостатній: у ньому зібрано теорію методу найближчих сусідів і оцінювання класифікаторів, потрібну для аудиторних задач (3classroom.md) та домашньої програми (4task.md). Ширше ту саму теорію викладено в Лекції 6.
2.1 Задача класифікації
Класифікація — це навчання з учителем: за вектором ознак об’єкта передбачити його клас з наперед відомої скінченної множини . Класифікатор навчають на тренувальній множині розмічених прикладів , а оцінюють на окремій тестовій множині — щоб перевірити узагальнення, а не запам’ятовування.
2.2 Функції відстані
Метод kNN міряє схожість об’єктів відстанню в просторі ознак. Для числових ознак:
Для категоріальних ознак беруть відстань Геммінга — кількість позицій, у яких вектори різняться.
Порада. Щоб лише порівняти сусідів, корінь можна не брати: порядок за і за однаковий. Це економить обчислення.
2.3 Алгоритм kNN
Означення (kNN). Об’єкт відносять до найпоширенішого класу серед його найближчих (за обраною відстанню) об’єктів навчальної вибірки.
kNN(вибірка D = {(x_i, y_i)}, точка q, число k, відстань d):
1. для кожного (x_i, y_i): r_i = d(q, x_i)
2. упорядкувати об'єкти за зростанням r_i
3. узяти перші k — найближчих сусідів
4. підрахувати голоси кожного класу серед них
5. повернути клас із найбільшою кількістю голосів
kNN — ліниве навчання: моделі не будує, вся робота — під час класифікації.
2.4 Вибір
- Мале (напр. ): чутливе до шуму й викидів, «рвані» межі, ризик перенавчання.
- Велике : згладжує межі й придушує шум, але залучає далекі, несхожі об’єкти; за завжди повертає найбільший клас — надмірне згладжування.
- Для двокласової задачі беріть непарне , щоб не було нічиєї; орієнтир .
2.5 Нормалізація ознак
Відстань додає квадрати різниць покоординатно, тож ознака з великим масштабом задавить решту. Перед kNN числові ознаки нормалізують:
2.6 Зважений kNN
Ближчі сусіди мають важити більше. У зваженому kNN голос сусіда на відстані береться з вагою або ; клас об’єкта — той, для якого сума ваг сусідів найбільша. Це знімає нічиї й пом’якшує вибір .
2.7 Оцінювання: матриця невідповідності та метрики
Для бінарної задачі (позитивний / негативний клас) кожен об’єкт потрапляє в одну з чотирьох клітинок матриці невідповідності (confusion matrix):
| Справжній: позитив | Справжній: негатив | |
|---|---|---|
| Передбачено: позитив | ||
| Передбачено: негатив |
де — істинно-позитивні, — істинно-негативні, — хибно-позитивні (помилка I роду), — хибно-негативні (помилка II роду). Метрики ():
На незбалансованих класах правильність (ACC) оманлива — спирайтесь на і MCC.
2.8 Демонстраційний приклад (на інших даних, ніж у задачах)
(а) kNN «руками». Навчальна вибірка з точок двох класів «» і «» у просторі двох ознак:
| Клас «» | (4,5) | (6,6) | (3,3) | (1,4) |
|---|---|---|---|---|
| Клас «» | (7,6) | (8,4) | (8,7) | (8,9) |
Класифікуємо точку за евклідовою відстанню. Обчислимо і та впорядкуємо:
| Сусід | Клас | ||
|---|---|---|---|
| (4,5) | |||
| (6,6) | |||
| (7,6) | |||
| (3,3) | |||
| (8,4) | |||
| (8,7) | |||
| (1,4) | |||
| (8,9) |
- : найближчий — класу «». Отже, .
- : три найближчі — , , ; голоси на користь «». Отже, .
Обидва дають «» — рішення робасне (не залежить від дрібного вибору ).
(б) Метрики за матрицею невідповідності. Нехай класифікатор на тестовій вибірці з об’єктів дав , , , :
Висока специфічність () і нижча чутливість () означають, що модель радше пропускає позитиви (), ніж здіймає хибні тривоги ().
2.9 Робочий контрольний список
- Перед відстанями числові ознаки нормалізуйте (якщо масштаби різні).
- Для порівняння сусідів рахуйте — корінь брати не обов’язково.
- Беріть непарне у двокласовій задачі; за нічиєї — зважте голоси .
- Якість оцінюйте на тестовій множині; на незбалансованих класах дивіться на і MCC, а не лише на правильність.