b8ddbfbffcb80b5b5180a654549bec24.jpg

«Адвент-календарь» машинного обучения. День 2: классификатор k-NN в Excel

Изучение классификатора k-NN с его вариантами и усовершенствованиями

Делиться

b8ddbfbffcb80b5b5180a654549bec24

После изучения регрессора k-NN и идеи прогнозирования на основе расстояния мы теперь рассмотрим классификатор k-NN.

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

Поэтому сначала мы реализуем классификатор k-NN, а затем обсудим, как его можно улучшить.

Вы можете использовать эту таблицу Excel/Google при чтении статьи, чтобы лучше понять все объяснения.

fff792e4e4f94686f28f27284555cfc0

Набор данных о выживании на «Титанике»

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

f752708316dbbc2a12ce8f3fdce5c33f

Принцип k-NN для классификации

Классификатор k-NN настолько похож на регрессор k-NN, что я мог бы написать одну статью, чтобы объяснить их оба.

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

НО есть еще несколько интересных фактов о том, как строятся классификаторы (бинарные или многоклассовые), и как можно по-разному обрабатывать признаки.

Начнем с задачи бинарной классификации, а затем перейдем к многоклассовой классификации.

Один непрерывный признак для двоичной классификации

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

Для значения y мы обычно используем 0 и 1, чтобы различать два класса. Но вы можете заметить, или заметите, что это может стать источником путаницы.

b5e672dcc4453c123d16706517706528

А теперь подумайте: 0 и 1 — это тоже числа, верно? Поэтому мы можем проделать тот же самый процесс, как при регрессии.

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

c2b78bf5464578964711dab70b5e60e6

Единственное отличие заключается в том, как мы интерпретируем результат. Когда мы берём «среднее» значение y для соседей, это число понимается как вероятность того, что новое наблюдение принадлежит классу 1.

Таким образом, на самом деле «среднее» значение не является хорошей интерпретацией, а скорее представляет собой долю класса 1.

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

Традиционно, чтобы избежать 50-процентной вероятности, мы выбираем нечетное значение k, чтобы всегда иметь возможность принять решение большинством голосов.

770fd0c25a2fd120e19d328f9165480f

Двухфакторная бинарная классификация

Если у нас есть два признака, операция также почти такая же, как в регрессоре k-NN.

ddde06a0cd9601f9ba5b0454c648c63a

Одна функция для многоклассовой классификации

Теперь рассмотрим пример трех классов для целевой переменной y.

Тогда мы видим, что мы больше не можем использовать понятие «средний», поскольку число, представляющее категорию, на самом деле не является числом. И нам лучше называть их «категория 0», «категория 1» и «категория 2».

e27bd737db6957fdc76efd4013d1931f

От k-NN до ближайших центроидов

Когда k становится слишком большим

Теперь давайте сделаем k большим. Насколько большим? Как можно больше.

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

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

Некоторые люди, с байесовской точки зрения, называют эти пропорции априорными!

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

Создание центроидов

Итак, давайте сделаем еще один шаг.

Для каждого класса мы также можем сгруппировать все значения признаков x, принадлежащие этому классу, и вычислить их среднее значение.

Эти усредненные векторы признаков мы называем центроидами .

Что мы можем сделать с этими центроидами?

Мы можем использовать их для классификации нового наблюдения.

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

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

5af4de2103be2758945c5775a6c7a5df

Теперь также можно использовать несколько непрерывных функций.

Например, мы можем использовать два признака: возраст и стоимость проезда.

5578bd8eaf02366ea84e2fd8b63cbe7d

И мы можем обсудить некоторые важные характеристики этой модели:

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

От крайне нелинейного до наивно линейного

Но можете ли вы вспомнить хотя бы один существенный недостаток?

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

В этом одномерном примере два центроида — это просто средние значения x класса 0 и класса 1. Поскольку эти два средних значения близки, граница решения становится просто средней точкой между ними.

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

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

55ae91f6d24dea0e871d73fad7fa1baf

Замечание о регрессии: почему центроиды не применяются

Однако подобное улучшение невозможно для регрессора k-NN. Почему?

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

Но в регрессии целевой y непрерывен. Нет ни дискретных групп, ни границ классов, и, следовательно, нет осмысленного способа вычисления «центроида класса».

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

Единственным возможным «центроидом» в регрессии было бы глобальное среднее , что соответствует случаю k = N в регрессоре k-NN.

И эта оценка слишком проста, чтобы быть полезной.

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

Дальнейшие статистические улучшения

Что еще мы можем сделать с базовым классификатором k-NN?

Среднее и дисперсия

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

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

Обработка категориальных характеристик

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

Здесь мы можем сделать нечто столь же значимое с точки зрения вероятностей: мы можем подсчитать доли каждой категории внутри класса .

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

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

Взвешенное расстояние

Другое направление — введение весов, чтобы более близкие соседи имели больший вес, чем дальние. В scikit-learn есть аргумент «весов», который позволяет это сделать.

Мы также можем переключиться с «k соседей» на фиксированный радиус вокруг нового наблюдения, что приводит к классификаторам на основе радиуса.

Радиус ближайших соседей

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

Одним из преимуществ является контроль над окрестностями. Это особенно интересно, когда мы знаем конкретное значение расстояния, например, географическое.

1aa4bd28a4e91f19d5ee23d73f45c554

Но недостаток в том, что радиус нужно знать заранее.

Кстати, это понятие радиуса ближайших соседей также подходит для регрессии.

Обзор различных вариантов

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

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

На данный момент рассматривайте это как анонс моделей, которые мы реализуем в конце этого месяца.

bed3f9d0d0418d3d6bddc06c738368c9

Заключение

В этой статье мы рассмотрели классификатор k-NN от его самой базовой формы до нескольких расширений.

Основная идея по сути не меняется: новое наблюдение классифицируется на основе проверки того, насколько оно похоже на обучающие данные.

Но эта простая идея может принимать самые разные формы.

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

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

Понимание этого семейства идей, основанных на расстоянии и вероятности, помогает нам увидеть, что многие модели машинного обучения — это просто разные способы ответа на один и тот же вопрос:

К какому классу больше всего похоже это новое наблюдение?

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

Источник: towardsdatascience.com

✅ Найденные теги: «Адвент-календарь», новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Agentic RAG против Classic RAG: от конвейера к контуру управления
Uber, Wayve и Nissan планируют запустить сервис роботакси в Токио в этом году.
ideipro logotyp
Врачи играют все более важную роль в оценке инструментов искусственного интеллекта для здравоохранения | MobiHealthNews
Топ-7 фреймворков для оркестрации агентов ИИ
Схема взаимосвязей различных эмодзи, сгруппированных по категориям с животными, символами и лицами.
Компания SpaceX может избежать экологических проверок, развернув миллион спутников.
Исследование Йельского университета показало, что стресс родителей может незаметно способствовать развитию детского ожирения.
Компания Smith+Nephew представила пенную повязку для профилактики пролежней.
Image Not Found
Agentic RAG против Classic RAG: от конвейера к контуру управления

Agentic RAG против Classic RAG: от конвейера к контуру управления

Практическое руководство по выбору между однопроходными конвейерами и адаптивными циклами извлечения данных в зависимости от сложности, стоимости и требований к надежности вашего варианта использования. Делиться Введение: Почему это сравнение важно RAG начинала с простой цели: обосновывать результаты…

Мар 13, 2026
Uber, Wayve и Nissan планируют запустить сервис роботакси в Токио в этом году.

Uber, Wayve и Nissan планируют запустить сервис роботакси в Токио в этом году.

Вкратце Источник изображений: Nissan Компания Wayve, занимающаяся разработкой программного обеспечения для беспилотных автомобилей и недавно привлекшая 1,2 миллиарда долларов инвестиций, объединяется с Uber и Nissan для запуска сервиса роботакси в Токио. Пилотный проект запланирован на конец 2026…

Мар 13, 2026
ideipro logotyp

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

Автор: сотрудники Bio-IT World 11 февраля 2026 г. | На протяжении десятилетий подход отрасли к лечению высокого кровяного давления был сосредоточен на различных органах — сердце, почках и кровеносных сосудах. Новое исследование предполагает, что эта стратегия может…

Мар 13, 2026
Врачи играют все более важную роль в оценке инструментов искусственного интеллекта для здравоохранения | MobiHealthNews

Врачи играют все более важную роль в оценке инструментов искусственного интеллекта для здравоохранения | MobiHealthNews

На конференции HIMSS26 руководители Emory Healthcare и Mass General Brigham обсудили, как такие инициативы, как Healthcare AI Challenge, призваны помочь системам здравоохранения принимать более безопасные решения о внедрении ИИ. Набиле Сафдар, директор по искусственному интеллекту в Emory…

Мар 13, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых