Штучний інтелект
Швидке керівництво до розуміння алгоритму KNN

З бізнес-світом, який агресивно采用є Data Science, воно стало однією з найбільш затребуваних галузей. Ми пояснюємо, що таке алгоритм K-найближчих сусідів і як він працює.
Що таке алгоритм KNN?
Алгоритм K-найближчих сусідів (або KNN) є одним з найбільш використовуваних алгоритмів навчання через свою простоту. KNN або алгоритм K-найближчих сусідів є алгоритмом наглядового навчання, який працює на принципі, що кожна точка даних, яка падає поруч одна з одною, належить до одного класу. Основне припущення тут полягає в тому, що речі, які знаходяться поруч одна з одною, схожі одна на одну. Більшість часу, алгоритм KNN використовується через свою легкість інтерпретації та низький час розрахунку.
KNN широко використовується для класифікації та регресійних задач у машинному навчанні. Наприклад, алгоритми KNN використовуються електронними торговельними порталами для рекомендації подібних продуктів.
Давайте розглянемо приклад:
На даній картинці у нас є два класи даних. Клас А представляє квадрати, а клас Б представляє трикутники.
Проблема полягає в тому, щоб призначити нову точку даних одному з двох класів за допомогою алгоритму KNN
Перший крок – визначити значення ‘K’, яке позначає кількість найближчих сусідів.

Якщо значення “k” дорівнює 6, воно буде шукати 6 найближчих сусідів до цієї точки даних, якщо значення “k” дорівнює 5, воно буде шукати 5 найближчих сусідів до цієї точки даних.
Давайте розглянемо ‘K’ = 4, що означає, що алгоритм буде розглядати чотирьох сусідів, які найближчі до точки даних.
Зараз, при ‘K’ = 4, можна побачити один трикутник та два квадрати як найближчих сусідів. Тому нова точка даних на основі ‘K’ = 4 буде призначена класу А.

Де використовувати KNN?
KNN використовується як для класифікації, так і для регресійних прогнозних задач. Однак, коли його застосовують для промислових цілей, здебільшого його використовують для класифікації, оскільки воно показує хороші результати по всіх параметрах, які оцінюються при визначенні придатності техніки.
- Прогнозувальна сила
- Час розрахунку
- Легкість інтерпретації виводу
Як воно застосовується у повсякденних задачах?
Незважаючи на свою простоту, KNN працює значно краще, ніж інші потужні класифікатори, і використовується в місцях, таких як економічний прогнозування, стиснення даних, розпізнавання відео, розпізнавання зображень, виявлення рукописного тексту та розпізнавання мови.
Деякі основні застосування алгоритму KNN
Алгоритм KNN використовується в банківській системі для прогнозування, чи підходить людина для затвердження кредиту чи ні, прогнозуючи, чи має вона схожі ознаки з боржником. KNN також допомагає обчислювати кредитні балли осіб, порівнюючи їх з людьми, які мають схожі ознаки.
Компанії, які використовують KNN
Більшість електронних торговельних та розважальних компаній, таких як Amazon або Netflix, використовують KNN при рекомендації продуктів для покупки або фільмів/шоу для перегляду.
Як вони роблять ці рекомендації? Ну, ці компанії збирають дані про поведінку користувачів, такі як попередні товари, які ви купили, або фільми, які ви переглянули на їхньому сайті, та застосовують KNN.
Компанії вводять ваші наявні дані клієнта та порівнюють їх з іншими клієнтами, які купили подібні товари або переглянули подібні фільми.
Товари та фільми будуть рекомендовані вам залежно від того, як алгоритм класифікує цю точку даних.
Переваги та недоліки KNN
Переваги KNN
- Швидкий розрахунок
- Простий алгоритм – для інтерпретації
- Універсальний – корисний для класифікації та регресії
- Висока точність
- Немає припущень про дані – немає потреби робити додаткові припущення чи створювати модель.
Недоліки KNN
- Точність залежить від якості даних
- Прогнозування стає повільним з великими даними
- Не актуальний для великих наборів даних
- Потрібно зберігати всі тренувальні дані, тому потребує великої пам’яті
- Воно може бути обчислювально дорогим, оскільки зберігає всі тренувальні дані
У цьому блозі ми спробували пояснити алгоритм K-NN, який широко використовується для класифікації. Ми обговорили базовий підхід за KNN, як він працює, та його переваги та недоліки.
Алгоритм KNN є одним з найпростіших алгоритмів і може давати дуже агресивні результати. Алгоритми KNN можна використовувати як для класифікації, так і для регресійних задач.












