K-Nearest Neighbor
Оновлено: 31.07.2023
Як працює k найближчих сусідів?
Коли використовується алгоритм KNN, він проходить через первинні фази:
- Присвоює K бажаній кількості сусідів.
- Сортує обчислені відстані.
- Отримує мітки верхніх K записів.
- Прогнозує поведінку тестового прикладу на основі введених даних.
Спочатку користувач вибирає K, який вказує алгоритму, скільки сусідів (або навколишніх точок даних) слід оцінити при винесенні судження про групу, до якої належить цільовий зразок. Зверніть увагу, що на другому етапі використовується модель для визначення відстані між цільовим прикладом і кожним іншим прикладом у наборі даних.
Далі відстані об'єднуються разом, а потім сортуються. Цей відсортований список тестується, і перші K записів повертаються з їхніми мітками. В результаті, якщо K дорівнює п'яти, перевіряються мітки п'яти найкращих точок даних, які є найближчими до цілі. Незалежно від того, що є метою - регресія чи класифікація, це має значення, коли йдеться про прогноз щодо цільової точки даних. Якщо ви робите регресію, ви візьмете середнє значення верхніх K міток, тоді як якщо ви робите класифікацію, ви будете використовувати режим.
У той час як нейронні мережі складно зрозуміти і побудувати, метод k-найближчих сусідів є простим. Для того, щоб він працював, точки даних повинні бути чітко визначеними або нелінійними.
Неспостережуване спостереження класифікується за допомогою механізму голосування KNN. В результаті, клас точки даних буде визначено за класом, який набрав більшість голосів.
Ми будемо використовувати тільки найближчого сусіда, якщо K = 1. K = 5, отже ми використаємо п'ять найближчих сусідів.
Розглянемо точку даних Y як приклад K-найближчого сусіда. Діаграма розкиду містить численні точки даних у вигляді чітко визначених категорій (X і Z).
Припустимо, що Y знаходиться поблизу групи X.
Коли точка даних класифікується, ми розглядаємо найближчі анотовані точки. Один найближчий сусід використовується для вибору групи точок даних, якщо K = 1.
Оскільки її найближчий сусід знаходиться в тій самій групі, точка даних Y належить до групи X. Це означає, що навіть якщо в групі X більше десяти точок даних і Y дорівнює 10, точка даних Y все одно належатиме до групи X, оскільки всі її найближчі сусіди також знаходяться в цій групі.
Припустимо, що I - це несекретний елемент даних, який знаходиться між X і Z. Це означає, що якщо K = 10, ми віднесемо I до групи, в якій він має найбільше сусідів.
Скільки б категорій не було, класифікатор завжди вибере ту, яка набере найбільшу кількість голосів.
При визначенні того, чи є у точки даних сусід, необхідно визначити метрику відстані.
- Внаслідок цих відмінностей існує чотири різні підходи до визначення відстані між найближчим сусідом і точкою даних. З усіх чотирьох найчастіше використовується евклідова відстань.
Точність класифікації KNN перевіряється за допомогою матриці помилок. Більшість етапів в KNN регресії ідентичні.
Що таке алгоритм K-Nearest Neighbor в машинному навчанні?
Отже, що таке KNN? Алгоритм k-найближчих сусідів (KNN) оцінює ймовірність того, що точка даних належить до тієї чи іншої групи.
Метод k-найближчих сусідів - це контрольований чи неконтрольований метод машинного навчання? При вирішенні задач класифікації та регресії алгоритм k-найближчого сусіда може бути використаний як різновид керованої техніки машинного навчання. Не слід плутати кластеризацію K-середніх (алгоритм неконтрольованої кластеризації) з KNN.
Іншими словами, це лінивий алгоритм навчання, оскільки він не виконує ніякого навчання після того, як користувач надає дані для навчання. Замість цього він просто зберігає дані протягом періоду навчання і не проводить жодних обчислень. Після запиту набору даних будується модель.
Крім того, це також непараметричний алгоритм, оскільки він не робить жодних припущень щодо розподілу даних.
Це алгоритм, який використовує сусідні точки, щоб визначити, чи належить точка даних до групи A або B. Більшість точок даних належать до групи A, а це означає, що точка даних, про яку йде мова, також, ймовірно, належить до цієї категорії.
Найпростіше KNN використовується для класифікації точки даних на основі її найближчої анотованої точки даних або найближчого сусіда.
Нарешті, існують різні сфери, в яких може бути використана реалізація K-Nearest Neighbor:
- Виявлення закономірностей: Здатність алгоритму KNN виявляти закономірності має широкий спектр застосувань.
- Майбутня вартість акцій: Завдяки здатності прогнозувати невідомі значення, алгоритм KNN відмінно підходить для прогнозування вартості акцій на основі попередніх даних.
- Прогнозування вартості акцій: Завдяки своїй здатності прогнозувати невідомі значення, алгоритм KNN відмінно підходить для прогнозування вартості акцій на основі попередніх даних.
- Класифікація зображень: Це важливо в різних додатках комп'ютерного зору, оскільки він може групувати схожі фрагменти даних, такі як коти і собаки.