Метод k-ближайших соседей

Пример классификации k {\displaystyle k} -ближайших соседей. Тестовый образец (зелёный круг) должен быть классифицирован как синий квадрат (класс 1) или как красный треугольник (класс 2). Если k = 3, то он классифицируется как 2-й класс, потому что внутри меньшего круга 2 треугольника и только 1 квадрат. Если k = 5, то он будет классифицирован как 1-й класс (3 квадрата против 2 треугольников внутри большего круга)

Метод k {\displaystyle k} -ближайших соседей (англ. k-nearest neighbors algorithm, k-NN) — метрический алгоритм для автоматической классификации объектов или регрессии.

В случае использования метода для классификации объект присваивается тому классу, который является наиболее распространённым среди k {\displaystyle k} соседей данного элемента, классы которых уже известны. В случае использования метода для регрессии, объекту присваивается среднее значение по k {\displaystyle k} ближайшим к нему объектам, значения которых уже известны.

Алгоритм может быть применим к выборкам с большим количеством атрибутов (многомерным). Для этого перед применением нужно определить функцию расстояния; классический вариант такой функции — евклидова метрика[1][2].

Нормализация

Разные атрибуты могут иметь разный диапазон представленных значений в выборке (например атрибут А представлен в диапазоне от 0,1 до 0,5, а атрибут Б представлен в диапазоне от 1000 до 5000), то значения дистанции могут сильно зависеть от атрибутов с бо́льшими диапазонами. Поэтому данные обычно подлежат нормализации. При кластерном анализе есть два основных способа нормализации данных: минимакс-нормализация и Z-нормализация.

Минимакс-нормализация осуществляется следующим образом:

x = ( x min [ X ] ) / ( max [ X ] min [ X ] ) , {\displaystyle x'=(x-\min[X])/(\max[X]-\min[X]),}

в этом случае все значения будут лежать в диапазоне от 0 до 1; дискретные бинарные значения определяются как 0 и 1.

Z-нормализация:

x = ( x M [ X ] ) / σ [ X ] , {\displaystyle x'=(x-M[X])/\sigma [X],}

где σ {\displaystyle \sigma }  — среднеквадратичное отклонение; в этом случае большинство значений попадёт в диапазон ( 3 σ ; 3 σ ) {\displaystyle (-3\sigma ;3\sigma )} .

Выделение значимых атрибутов

Некоторые значимые атрибуты могут быть важнее остальных, поэтому для каждого атрибута может быть задан в соответствие определённый вес (например вычисленный с помощью тестовой выборки и оптимизации ошибки отклонения). Таким образом, каждому атрибуту k {\displaystyle k} будет задан в соответствие вес z k {\displaystyle z_{k}} , так что значение атрибута будет попадать в диапазон [ 0 ; z k max ( k ) ] {\displaystyle [0;z_{k}\max(k)]} (для нормализованных значений по минимакс-методу). Например, если атрибуту присвоен вес 2,7, то его нормализованно-взвешенное значение будет лежать в диапазоне [ 0 ; 2 , 7 ] . {\displaystyle [0;2{,}7].}

Взвешенный способ

При взвешенном способе во внимание принимается не только количество попавших в область определённых классов, но и их удалённость от нового значения.

Для каждого класса j {\displaystyle j} определяется оценка близости:

Q j = i = 1 n 1 d ( x , a i ) 2 , {\displaystyle Q_{j}=\sum _{i=1}^{n}{\frac {1}{d(x,a_{i})^{2}}},}

где d ( x , a i ) {\displaystyle d(x,a_{i})}  — расстояние от нового значения x {\displaystyle x} до объекта a i {\displaystyle a_{i}} .

У какого класса выше значение близости, тот класс и присваивается новому объекту.

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

x k = i = 1 n k i d ( x , a i ) 2 i = 1 n d ( x , a i ) 2 , {\displaystyle x_{k}={\frac {\sum _{i=1}^{n}k_{i}d(x,a_{i})^{2}}{\sum _{i=1}^{n}d(x,a_{i})^{2}}},}

где a i {\displaystyle a_{i}}  — i {\displaystyle i} -й объект, попавший в область, k i {\displaystyle k_{i}}  — значение атрибута k {\displaystyle k} у заданного объекта a i {\displaystyle a_{i}} , x {\displaystyle x}  — новый объект, x k {\displaystyle x_{k}}  — k {\displaystyle k} -й атрибут нового объекта.

Ссылки

  1. S. Madeh Piryonesi, Tamer E. El-Diraby. Role of Data Analytics in Infrastructure Asset Management: Overcoming Data Size and Quality Problems (англ.) // Journal of Transportation Engineering, Part B: Pavements. — 2020-06. — Vol. 146, iss. 2. — P. 04020022. — ISSN 2573-5438 2573-5438, 2573-5438. — doi:10.1061/JPEODX.0000175. Архивировано 12 апреля 2020 года.
  2. Hastie, Trevor. The elements of statistical learning : data mining, inference, and prediction : with 200 full-color illustrations. — New York: Springer, 2001. — xvi, 533 pages с. — ISBN 0-387-95284-5, 978-0-387-95284-0. Архивировано 9 августа 2020 года.
  • kNN и Потенциальная энергия (апплет), Е. М. Миркес и университет Лейстера. Апплет позволяет сравнивать два метода классификации.
  • Daniel T. Larose, Discovering Knowledge in Data: An Introduction to Data Mining (https://web.archive.org/web/20140531051709/http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0471666572.html)
Перейти к шаблону «Машинное обучение»
Задачи
Обучение с учителем
Кластерный анализ
Снижение размерности
Структурное прогнозирование
Выявление аномалий
Графовые вероятностные модели
Нейронные сети
Обучение с подкреплением
Теория
Журналы и конференции
  • NeurIPS
  • ICML
  • ML
  • JMLR
  • ArXiv:cs.LG