Разве ты не будешь моим ближайшим соседом?

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

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

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

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

Регрессия. Результатом будет значение. Значение находится путем усреднения значений его k-ближайших соседей.

K-ближайший сосед против K-средних

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

Как работает K-ближайший сосед

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

Шаг 1.Введите известные обучающие данные. Затем сгруппируйте данные и пометьте их на основе категорий.

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

Шаг 3.Классифицируйте данные, просматривая ближайшие классифицированные данные или ближайших соседей.

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

Как правило, определение значения k требует тестирования нескольких различных значений, прежде чем сделать выбор. Сделайте это, притворившись, что некоторые обучающие данные неизвестны. Затем используйте алгоритм k-NN для классификации «неизвестных» данных и посмотрите, соответствуют ли новые категории тому, что вы уже знаете. Низкие значения k могут быть менее точными и шумными, поэтому чем больше значение k, тем лучше. Однако не делайте его настолько большим, чтобы категория с меньшим количеством точек данных всегда проигрывала другим категориям.

Пример K-ближайшего соседа

Давайте рассмотрим простой пример, в котором используются цветные круги для объяснения алгоритма k-NN. Допустим, вот что мы знаем о кругах: 25 красных кругов, 18 зеленых кругов и 21 синий круг. Вводим обучающие данные. В результате круги сгруппированы и помечены в зависимости от их цвета.

Теперь давайте введем наш неизвестный круг в микс и для простоты предположим, что k = 2. Наш неизвестный круг находится между зеленым кластером и синим кластером. Мы бы классифицировали круг как синий, потому что синих (21) кругов больше, чем зеленых (18).

K-ближайший сосед в действии

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

Первоначально опубликовано на сайте introspectdata.com 15 ноября 2018 г.