Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Назад к глоссарию Ultralytics

K-Nearest Neighbors (KNN)

Изучи метод K-ближайших соседей (KNN). Узнай, как этот алгоритм обучения с учителем работает для классификации и регрессии, его использование в визуальном поиске и интеграцию с Ultralytics YOLO26.

K-Nearest Neighbors (KNN) — это надежный и интуитивно понятный алгоритм, используемый в области обучения с учителем как для задач классификации, так и для регрессии. Отличаясь своей простотой, KNN часто классифицируется как «ленивый ученик» (lazy learner), потому что он не строит модель и не изучает параметры на этапе обучения. Вместо этого он запоминает весь набор обучающих данных и выполняет вычисления только тогда, когда требуется прогноз. Основной принцип алгоритма основан на сходстве признаков: он предполагает, что точки данных со схожими атрибутами находятся в непосредственной близости друг от друга в многомерном пространстве признаков.

Link to this sectionКак работает алгоритм#

Механизм K-Nearest Neighbors основан на вычислении расстояний. Когда появляется новая точка запроса, алгоритм ищет в сохраненном наборе данных 'K' обучающих образцов, наиболее близких к новым входным данным.

  1. Измерение расстояния: Система вычисляет расстояние между точкой запроса и каждой другой точкой в базе данных. Наиболее распространенной метрикой является евклидово расстояние, которое измеряет расстояние по прямой между точками. В зависимости от типа данных могут использоваться другие метрики, такие как манхэттенское расстояние (геометрия городских кварталов) или расстояние Минковского.

  2. Выбор соседей: После вычисления расстояний алгоритм сортирует их и определяет 'K' ближайших записей.

  3. Принятие решений: - Для классификации: Алгоритм использует систему «голосования большинства». Метка класса, которая встречается чаще всего среди K соседей, присваивается точке запроса. Это широко используется в базовых задачах классификации изображений. - Для регрессии: Прогноз вычисляется путем усреднения значений K ближайших соседей для оценки непрерывной переменной.

Link to this sectionВыбор подходящего 'K'#

Выбор оптимального значения 'K' — критический шаг при настройке гиперпараметров. Выбор K существенно влияет на производительность модели и её способность обобщать новые данные.

  • Малое значение K: Маленькое K (например, K=1) делает модель очень чувствительной к шуму и выбросам в данных, что может привести к переобучению.
  • Большое значение K: Большое K сглаживает границы принятия решений, уменьшая влияние шума, но потенциально размывая четкие закономерности, что приводит к недообучению.

Link to this sectionРеальные приложения#

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

  • Системы рекомендаций: KNN способствует коллаборативной фильтрации в медиа-стриминге и электронной коммерции. Определяя пользователей с похожей историей просмотров или поведением при покупках (соседей), платформы могут предлагать продукты, которые, скорее всего, понравятся пользователю, основываясь на предпочтениях его «ближайших соседей».
  • Обнаружение аномалий: В кибербезопасности и финансах KNN используется для обнаружения аномалий. Транзакции или сетевые действия отображаются в пространстве признаков; любая новая точка данных, которая попадает далеко от плотных кластеров «нормальной» активности, помечается как потенциальное мошенничество или нарушение безопасности.
  • Визуальный поиск: Современные движки векторного поиска часто полагаются на алгоритмы приблизительного поиска ближайших соседей (ANN) — оптимизированную вариацию KNN — для быстрого извлечения похожих изображений на основе высокоразмерных эмбеддингов, созданных такими моделями, как YOLO26.

Link to this sectionПроблемы и соображения#

Несмотря на свою эффективность, KNN сталкивается с проклятием размерности. По мере увеличения количества признаков (размерностей) точки данных становятся разреженными, а метрики расстояния теряют свою эффективность. Кроме того, поскольку KNN хранит все обучающие данные, он может быть ресурсоемким по памяти и страдать от высокой задержки вывода на больших наборах данных. Чтобы решить эту проблему, специалисты часто предварительно обрабатывают данные с помощью методов снижения размерности, таких как метод главных компонент (PCA), или используют специализированные структуры данных, такие как KD-деревья, для ускорения поиска. Для масштабирования наборов данных и обучения моделей корпоративного уровня использование Ultralytics Platform поможет тебе управлять вычислительными ресурсами, необходимыми для предварительной обработки сложных данных.

Link to this sectionОтличие KNN от K-Means#

Важно отличать K-Nearest Neighbors от кластеризации K-Means, поскольку их похожие названия часто вызывают путаницу.

  • KNN — это алгоритм обучения с учителем, который использует размеченные данные для прогнозирования.
  • K-Means — это алгоритм обучения без учителя, используемый для группировки неразмеченных данных в кластеры на основе структурного сходства.

Link to this sectionПример реализации#

Следующий фрагмент кода демонстрирует простой рабочий процесс классификации KNN с использованием популярной библиотеки Scikit-learn. В контексте компьютерного зрения входные «признаки», как правило, извлекаются моделью глубокого обучения, такой как YOLO26, перед передачей в классификатор KNN.

from sklearn.neighbors import KNeighborsClassifier

# Simulated feature vectors (e.g., extracted from YOLO26) and labels
# Features: [Size, Redness], Labels: 0=Apple, 1=Orange
features = [[0.8, 0.9], [0.9, 0.8], [0.2, 0.3], [0.3, 0.2]]
labels = [0, 0, 1, 1]

# Initialize KNN with 3 neighbors
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(features, labels)

# Predict the class of a new object [Size=0.85, Redness=0.85]
prediction = knn.predict([[0.85, 0.85]])
print(f"Predicted Class: {prediction[0]} (0=Apple, 1=Orange)")

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

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

Узнать больше
Real-time AI that works with your team

ИИ в логистике

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

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

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

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

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

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

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

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

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

Узнать больше
Real-time AI that works with your team

ИИ в логистике

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

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

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

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

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

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

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

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

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

Узнать больше
Real-time AI that works with your team

ИИ в логистике

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

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

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

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

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

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

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

Узнать больше

Давай строить будущее ИИ вместе!

Начни свой путь в будущее машинного обучения