Привет всем, надеюсь, у вас все отлично. Сегодня я расскажу о другом базовом алгоритме машинного обучения под названием KNN (K-ближайшие соседи).

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

Предположим, вы хотите разработать мобильное приложение, которое можно использовать для рисования числа или символа, и приложение должно уметь предсказывать число или символ. Итак, как вы собираетесь это сделать? Если вы собираетесь использовать традиционный подход к программированию, это будет тупик. Таким образом, использование традиционного подхода не поможет вам решить такие проблемы.

Итак, чем KNN собирается нам помочь?

Это номер 3 правильно? Вы бы сказали да. Но как компьютер определит, номер 3 это или нет. Специально по почерку очень сложно определить номер.

Что, если я назову это набором пикселей, а не изображением. Все еще в порядке? Потому что набор пикселей может создать изображение. Предположим, что это изображение размером 64 * 64 пикселя. Так что технически в этом изображении доступно 64 * 64 пикселей.

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

1 * 1 = пусто

1 * 2 = пусто

1 * 7 = заполнено

Точно так же, если вы извлечете эти данные в двумерный массив, это будет так.

[

[0,0,0,0,0,0,0,1,1,0,0,1,…,0]

[0,0,0,0,0,0,0,1,1,0,0,1,…,0]

….

[0,0,0,0,0,0,0,1,1,0,0,1,…,0]

]

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

[0,0,0,1,1,1,……….,1]

Обычно, когда мы пишем число, большую часть времени это будет один и тот же дизайн. Другими словами, если вы нарисуете число 2, 10 раз вы получите массив, подобный приведенному выше, с большим количеством сходств.

Когда вы передаете эти данные алгоритму KNN, он классифицирует эти данные примерно так.

Допустим, вы нарисовали изображение любого числа. Итак, что KNN собирается сделать, так это определить, к какой группе принадлежит этот номер.

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

Как это делается?

Прежде чем говорить о том, как это делается, давайте выясним, что означает K в KNN. Это просто «Сколько соседей» или «Количество K соседей».

если k = 5, это означает, что он найдет ближайшие 5 точек, как на изображении выше. (4 балла за номер три и 1 балл за номер два). Таким образом, 4 выигрывает у 1. Вот почему обычно мы должны выбирать нечетное значение в качестве значения K. Так что всегда будет победитель.

Как он на самом деле находит ближайшие точки?

Если k = 5, с помощью этой формулы будут определены самые 5 ближайших точек. Из этих ближайших точек он будет классифицировать результат.

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