Многие люди путают K ближайшего соседа (KNN) с алгоритмом кластеризации K означает. Однако KNN — это алгоритм машинного обучения с учителем, используемый для классификации, а K означает алгоритм машинного обучения без учителя, используемый с целью кластеризации точек данных.
Звучит слишком сложно? Давайте разберем оба алгоритма на простые термины и отметим различия.
Оглавление
· Что такое ближайший сосед K (KNN)?
∘ Визуализация алгоритма KNN
∘ Работа алгоритма KNN
· Что такое K означает кластеризацию?
∘ K означает визуализацию алгоритма
∘ Работа K означает алгоритм
· K означает кластеризацию и K ближайшего соседа: в чем разница?
· Вывод< br /> · Часто задаваемые вопросы
Что такое ближайший сосед K (KNN)?
Судя по названию, в KNN мы ищем определенное количество точек (k), которые являются ближайшими соседями к определенной точке с точки зрения расстояния. Это контролируемый алгоритм обучения, означающий, что все «соседи» являются помеченными входами.
Визуализация алгоритма KNN
Представьте, что у вас есть несколько точек, каждая из которых принадлежит определенному классу. Для простоты предположим, что есть два класса: A и B, поэтому каждая точка принадлежит либо к классу A, либо к B. Все точки имеют определенные значения признаков.
Например,
Если класс A — это класс кофейных кружек, а B — класс чайных чашек, то они будут иметь некоторые отличительные особенности. Например, рост, вес и т. д. Теперь другая питьевая посуда имеет специфические особенности и может принадлежать только к одному из двух классов.
Но как мы узнаем, к какому классу он принадлежит? Вот тут-то и приходит на помощь KNN!
Работа алгоритма KNN
Возвращаясь к нашей аналогии с точкой, мы можем выполнить следующие шаги, чтобы выяснить, принадлежит ли новая точка классу A или B.
- Постройте все точки на графике, где оси представляют собой функции. В нашем примере осями будут рост и вес, а все точки будут построены на основе значений их признаков.
- Найдите евклидово расстояние всех точек классов A и B с новой точкой.
- Теперь объединим все расстояния в один массив и отсортируем все расстояния в порядке возрастания.
- Выберите любое значение k, скажем, 3, и выберите три верхних значения из массива расстояний.
- Проанализируйте категорию каждой ценности и примите решение на основе большинства голосов. Например, если k равно 3, из наименьших трех значений расстояния, если 2 принадлежит расстоянию от точек класса B, то класс B является ответом.
Итак, вот как мы выполняем классификацию, используя K ближайших соседей.
Теперь давайте поговорим об алгоритме кластеризации K означает. И тогда мы можем увидеть контраст между ними.
Что такое K означает кластеризацию?
Судя по названию, в этом алгоритме мы ищем «k» групп, называемых кластерами. Это алгоритм обучения без учителя, что означает, что ни одна из точек не помечена, и мы пытаемся сгруппировать их, чтобы дать каждой группе метку.
K означает визуализацию алгоритма
Представьте, что у вас есть несколько баллов. Предположим, что существует два класса: A и B, поэтому каждая точка принадлежит либо A, либо B. Все точки имеют определенные значения признаков. Но здесь нам нужно выяснить, какая точка к какому классу относится.
Например,
Предположим, некоторые питьевые принадлежности имеют разный вес и высоту. Нет, мы хотим разделить их на два класса: кофейные кружки и чайные чашки.
Но как мы узнаем, какая посуда к какому классу принадлежит? Вот здесь нам и нужен алгоритм K означает!
Работа K означает алгоритм
Возвращаясь к нашей аналогии с точками, мы можем выполнить следующие шаги, чтобы определить, какие точки принадлежат классу A, а какие — классу B.
- Случайным образом выберите значение для k. Это указывает, сколько кластеров мы хотим создать. Например, если я хочу разделить точки на 3 класса, мы примем k за 3.
- Выберите любое количество k точек в качестве центроидов кластеров.
- Рассчитайте расстояние каждой точки данных с центроидами и назначьте точку данных ближайшему кластеру на основе расстояния с центроидом.
- Теперь определите среднее значение всех точек в каждом кластере отдельно; это будут наши новые центроиды.
- Повторите шаги 3 и 4. Повторяйте до тех пор, пока не возникнет ошибка от 1 до 2% для значения центроида двух последовательных итераций.
После достижения сходимости точки разбиваются на k кластеров.
Итак, вернемся к нашему первоначальному вопросу.
K означает кластеризацию и K ближайшего соседа: в чем разница?
Разница между k ближайшим соседом и k средними значениями очевидна.
K ближайшего соседа – это контролируемый алгоритм машинного обучения. Этот алгоритм используется для классификации и определения того, к какому классу принадлежит новая точка. Это алгоритм ленивого обучения, поэтому нам не нужен этап обучения; все расчеты выполняются после появления контрольной точки.
K означает кластеризацию — это алгоритм машинного обучения без учителя. Этот алгоритм используется для разделения существующих точек данных на классы. Это алгоритм, требующий активного обучения, поэтому мы не можем пропустить этап обучения.
Вывод
Вопрос о выборе между K ближайшего соседа и K средним всегда будет зависеть от типа доступных входных данных и намерения использования алгоритма. Надеюсь, статья прояснит разницу и облегчит выбор.
Часто задаваемые вопросы
Что означает буква «k» в букве «k»?
В k означает, что кластеризация k относится к количеству кластеров, которые необходимо создать.
Что такое «k» в слове «k ближайшего соседа»?
В k ближайших соседей k относится к количеству соседей, на основе которого должно быть принято решение о классификации.
Как выбрать значение k из k ближайшего соседа?
K может быть любым значением, большим единицы, но предпочтительно, чтобы значение k было нечетным числом. Причина в том, чтобы исключить возможность связи между классами. Также общепринятой практикой является выбор k от 3 до 10 на основе доступных точек данных.
Как выбрать значение k?
K может иметь любое значение больше единицы, но предпочтительнее брать меньшее значение k, поскольку оно обеспечивает лучшую кластеризацию. Обычно k принимают от 2 до 10 в зависимости от размера набора данных.