KNN Models

Оновлено: 31.07.2023

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

Що мається на увазі, коли KNN розглядається як лінивий алгоритм?

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

Часто ці дані не відповідають традиційним теоретичним припущенням, наприклад, при використанні моделі лінійної регресії, саме тому KNN так важливий при роботі з даними, які мають мало або зовсім не мають попередньої інформації.

Алгоритм машинного навчання з навчанням під наглядом використовує марковані вхідні дані, щоб розробити функцію, яка дає відповідний результат. KNN - це алгоритм машинного навчання під наглядом.

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

Для навчання ми використовуємо вже наявні мічені дані. Ми хочемо навчити функцію g: X Y на основі набору даних спостережень (x, y) так, щоб ми могли використовувати g(x) для передбачення відповідного результату Y за даними X.

Переваги та недоліки KNN

За:

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

Мінуси:

  • Точність даних визначається їхньою якістю.
  • З великою кількістю даних етап прогнозування може зайняти багато часу.
  • Чутливий до розміру даних та аспектів, які не є релевантними.
  • Потрібен великий обсяг пам'яті, оскільки потрібно зберігати всі навчальні дані.
  • Може бути дорогим в обчислювальному плані, оскільки зберігає все навчання.

KNN використовується такими компаніями, як Amazon та Netflix, щоб рекомендувати книги та фільми для покупки або перегляду.

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

Залежно від того, як система ідентифікує цю точку даних, рекомендуються книги та фільми.

Метод k-найближчих сусідів зберігає всі наявні дані і класифікує нові точки даних на основі їхньої схожості (наприклад, функції відстані). Коли надходять нові дані, вони позначаються саме цим. Потім, використовуючи метод K-NN, їх можна легко відсортувати до відповідної категорії.

Припустимо, що є два класи, клас B і клас C, і ми маємо нову невідому точку даних. До якого з цих класів належить ця точка даних? Для вирішення цієї проблеми потрібен метод K-NN. Ми можемо просто визначити клас набору даних за допомогою K-NN. Точка даних класифікується за більшістю голосів її сусідів, при цьому точка даних відноситься до класу, який найчастіше зустрічається серед її K найближчих сусідів, що визначається за допомогою функції відстані.

Ключові висновки

  • Ніякої моделі KNN не вивчає.
  • Схожість між вхідною вибіркою і кожним навчальним екземпляром використовується KNN для створення прогнозів.
  • Ця стаття навчила вас основам одного з найфундаментальніших алгоритмів машинного навчання.
.

Коли ви вчитеся розробляти моделі на основі різноманітних наборів даних, KNN є чудовим місцем для старту. Щоб почати використовувати KNN, вам потрібно почати зі збору даних, які мають низку різноманітних точок і надійну інформацію.