ПРИМЕЧАНИЕ.все данные и рисунки в этом посте сделаны с использованием numpyиmatplotlib.

Обзор

k-NN — это простой, но эффективный алгоритм обучения с учителем, который используется для задач классификации и регрессии. Это непараметрический метод, что означает, что он делает прогнозы на основе сходства точек входных данных с их ближайшими соседями (NN).

Принцип работы k-NN заключается в том, что похожие точки данных принадлежат одному и тому же классу. Предполагается, что если конкретная точка данных близка к другим точкам данных в пространстве признаков, она, вероятно, принадлежит к тому же классу, что и эти соседи.

k-NN использует показатель расстояния для определения сходства между двумя точками данных. Их несколько, например, евклидово расстояние — пожалуй, самое распространенное — которое измеряет расстояние по прямой между двумя точками в многомерном пространстве. Более подробную информацию об этих метриках расстояния и их использовании можно найти здесь.

Что такое к?

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

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

Выбор к

Фиксированное значение k

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

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

Альтернативный метод

Альтернативным методом неявного выбора значения для k является использование окружности с заданным радиусом r. В этом подходе количество соседей определяется путем подсчета всех точек данных, попадающих в круг. Кроме того, интересующая точка данных помещается в центр круга.

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

Диаграммы Вороного

Диаграмма Вороного

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

sciencedirect.com

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

Эти диаграммы представляют форму классификации, аналогичную k-NN. Каждая линия представляет собой точку на полпути между любыми двумя заданными точками. Эти прямые пересекаются в вершинах, которые равноудалены от трех точек вместо двух.

Давайте добавим еще немного цвета к этому графику. Мы действительно можем увидеть, как это напоминает модель k-NN, если мы раскрасим каждый многоугольник так, чтобы он соответствовал точке внутри.

Это не совсем решение проблемы k-NN, хотя и очень похоже. Вы можете увидеть одну область, где этот подход очень склонен к переоснащению — зеленый многоугольник, не имеющий выхода к морю, окруженный синим цветом. Несмотря на то, что эта точка на самом деле зеленая, она точно настроена на особые особенности этого случайно сгенерированного набора данных.

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