KNN или в длинной форме так называемые K-ближайшие соседи. Очень известный алгоритм, используемый для классификации.

Начнем с классификации, что именно это означает в простом предложении. Предположим, вы с друзьями пришли в бар, и бармен играет с вами в игру.

Он расскажет вам правила игры и сообщит вам цвет каждого алкогольного напитка, а вам двоим нужно будет определить, что это за пиво, виски, бренди, вино и т. д. неизвестные образцы.

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

Компьютеры также выполняют классификацию таким же образом, но для этого нужно много тренироваться. Поскольку классификация также является бинарной задачей (Да/Нет или 1/0), где нашим ответом или конечной целью будет либо это наблюдение, либо попадет в эту группу, либо в другую группу.

KNN — это один из алгоритмов, используемых для классификации, но их существует множество, некоторые из них:

  • SVM (машины опорных векторов)
  • Случайные леса
  • Дерева решений
  • Логистическая регрессия

Когда мы говорим о KNN, мы часто видим распространенный среди них юмор, называемый ленивым алгоритмом.

Почему ленивый алгоритм, потому что, прежде чем предсказывать его, просто запомните набор обучающих данных и предскажите переменные отклика.

Теория работы KNN

Как следует из названия этого блога, интуитивно понятный ответ называется евклидов.
Евклидово слово, происходящее от греческого языка, означает две точки, соединенные линией. Расстояние между этими двумя точками известно как евклидово расстояние. И это то, что делает KNN таким мощным.

Для нашего собственного примера бармен дает нам таблицу различных алкогольных напитков и размеров их бутылок:

Итак, предположим, что он сообщил вам высоту и ширину неизвестного образца, и спросите, что это за алкогольный напиток. затем вам нужно было использовать формулу евклидова расстояния и ранжировать известный напиток, и какой из них имеет более короткое расстояние, которое может быть вашим неизвестным образцом:

поэтому мы просто вычитаем наши высоту (X1) и ширину (X2) до известной высоты (Y1), ширины (Y2) алкогольных напитков, а затем суммировать и квадратный корень. Затем мы ранжируем по наименьшему расстоянию до наибольшего.

Для K=1, что означает только 1 ближайшего соседа или расстояние, мы берем наименьшее значение расстояния, в этом случае нашей неизвестной маркой будет виски.

Но при K=3 наш ближайший сосед будет по рангу. Но так как ранг 2,3 показывает брендовый ром, то ром займет место в шкафу.

Чтобы понять, что приведенная ниже группировка представляет собой представление того, как knn классифицирует неизвестные значения:

Ссылки:

  1. https://www.saedsayad.com/k_nearest_neighbors.htm
  2. https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm
  3. https://www.listendata.com/2017/12/k-nearest-neighbor-step-by-step-tutorial.html
  4. https://machinelearningmastery.com/k-nearest-neighbours-for-machine-learning/