KNN, K-най-близки съседи, Проклятие на размерността, ефект на k (брой съседи)

Тази статия е част от „Наука за данни от нулата — мога ли да мога““,поредица от книги с бележки по лекции. (щракнете тук, за да получите вашето копие днес!)

Щракнете тук за предишната статия/лекция на тема „A34: Работа с липсващи данни, условия за взаимодействие, търсене в мрежа, обучение по модел и оценка.“

💐Щракнете тук, за да МЕ СЛЕДВАТЕ за ново съдържание💐

🧘🏻‍♂️Добре дошли момчета на лекцията K-Nearest-Neighbours!🧘🏻‍♂️

K-Nearest-Neighbors“ (известен също като KNN) е друг много важен, широко използван и един от най-простите сред всички алгоритми за машинно обучение за класификация (използва се и за регресионни проблеми).

  • Принципът зад метода KNN е да се намери предварително определен брой тренировъчни проби, най-близки по разстояние до тестовата точка, и да се предвиди етикетът от тях.

С прости думи, KNN съхранява целия набор от данни като алгоритъм за обучение и категоризира тестовата точка от данни, използвайки съхранената информация за нейните най-близки съседи, k е броят на съседите.

Да се ​​учим с примерни данни!

Помислете, даден ни е наборът от данни на снимката по-долу:

  • Имаме набор от данни с два класа, „A“ и „B“ и всички данни заедно с неговите функции, f1, f2 се съхраняват като алгоритъм за обучение.
  • Искаме да предвидим класа за червени, зелени и сини точки от тестови данни.

  • Въз основа на връзката със съседните им точки е лесно да се предвиди класът за червено и зелено.
  • Най-близката съседна точка от данни за червено е в клас „B“, така че KNN ще предвиди B за червено
  • Най-близката съседна точка от данни за зелено е в „A“, така че KNN ще предвиди клас A за зелено

⚠️ Какво ще кажете за синята точка с данни на фигурата по-горе?

За да предвидим класа за синя точка от данни, нека обсъдим KNN с друг по-прост пример за по-малко точки от данни.

Вече знаем, че алгоритъмът за обучение всъщност съхранява целия набор от данни в KNN, нали?

За прогнози KNN просто преглежда точките „k“ в набора от данни за обучение, които са най-близки до входа на теста, преброява колко членове на всеки клас има в набора и връща класа с най-висока честота като предсказание. И така, класът с най-много гласове се взема като прогноза.

С други думи, алгоритъмът изчислява разстоянието от тестовата точка до всички точки от данни в набора от данни на влака, сортира точките чрез увеличаване на разстоянието от тестовия вход в матрица на разстоянието и прогнозира класа на мнозинството за k най-близки точки.

Забелязахте ли, че стойността на „k“ ще повлияе на прогнозите?

👉 Изборът на k е много важен и ние ще научим как да избираме k за нашия набор от данни в практическа лекция!

KNN е прост и работи доста добре с малък брой входни променливи (характеристики или измерения), при условие че му е даден добър показател за разстояние и има достатъчно етикетирани данни за обучение. Основният проблем с KNN обаче е, че не работи добре с входове с големи размери. Слабата производителност при настройки с големи размери се дължи на Проклятието на размерността.

👉 Нека разберем концепцията на Curse of Dimensionality с много прост пример. Помислете, че имате права линия, която е дълга 100 ярда, и сте пуснали стотинка някъде по нея. Не би било твърде трудно да се намери пени по тази дълга 100 ярда линия. Вървите по линията и отнема две минути. тази една линия е едно измерение!

Сега да кажем, че имате квадрат от 100 ярда от всяка страна, така че имате 2 измерения тук. Пуснал си едно пени някъде върху него. Би било доста трудно, като търсене на две футболни игрища, залепени едно в друго. Какво мислите, може да отнеме ден, за да намерите изгубено пени!

👉 Какво ще стане, ако имате куб със 100 ярда по протежение на всяка страна и сте изгубили стотинката си? Колко трудно би било да се намери изгубеното пени?

👉 Това е пример само за три характеристики/измерения. Това е като да търсите 30-етажна сграда с размерите на футболен стадион.

👉 Трудността при търсене в пространството става „много“ по-трудна, тъй като имате повече измерения.

Когато броят на характеристиките или измеренията е голям, има тенденция да има влошаване на производителността на KNN и други локални подходи, които извършват прогнозиране, използвайки само наблюдения, които са близо до тестовото наблюдение, за което трябва да се направи прогноза. Това явление е известно като проклятието на размерността.

🧘🏻‍♂️Нека се опитаме да разберем проклятието на размерносттас друга примерна диаграма!

Илюстрацията по-горе изобразява прост пример за проклятието на размерността. Отляво надясно можем да видим как броят на регионите на правилна решетка нараства експоненциално с размерността на пространството.

👉 Обикновено производителността на модела KNN (класификатор) е свързана с броя характеристики (измерения). В началото, с увеличаването на размерността, ефективността на KNN класификатора се увеличава(вижте илюстрацията по-долу).

👉 Ефективността на модела е максимална, след като достигнем оптималния брой функции. Ако допълнително увеличим размерността, без да увеличим броя на тренировъчните проби, производителността на модела започва да намалява.

И така, това е само подгряваща лекция за KNN, ние ще обсъдим типа разстояния, които се използват в KNN, как да разкъсаме връзки, предимства, недостатъци и много повече с примери за код в следващата лекция. Ще се видим там….!

💐Щракнете тук, за да МЕ СЛЕДВАТЕ за ново съдържание💐

🌹Продължавайте да тренирате, за да освежите и добавите нови умения🌹

✅🌹💐💐💐🌹✅ Моля, пляскайте и споделяйте ››можете да ни помогнете да достигнем до някой, който се бори да научи тези концепции.✅🌹💐💐💐🌹✅

Успех!

Ще се видим в следващата лекция на „A36: KNN — Разберете с практически код!““.

Забележка: Този пълен курс, включително видео лекции и тетрадки на Jupyter, е достъпен на следните връзки:

**************************************************************************************************************************************

За д-р Джунейд Кази:

Dr. Джунейд Кази е специалист по предмети, консултант по наука за данни и машинно обучение и създател на екип. Той е треньор по професионално развитие, ментор, автор, технически писател и поканен лектор. Д-р. Qazi можете да намерите за консултантски проекти, техническо писане и/или обучения за професионално развитие чрез LinkedIn.

**************************************************************************************************************************************