YOLO Vision 2026:
Назад к глоссарию Ultralytics

K-Nearest Neighbors (KNN)

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

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

Как работает алгоритм#

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

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

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

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

Выбор подходящего 'K'#

Выбор оптимального значения для 'K' является критическим этапом при hyperparameter tuning. Выбор K существенно влияет на производительность модели и ее способность обобщать новые данные.

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

Реальные приложения#

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

  • Рекомендательные системы: KNN обеспечивает collaborative filtering в медиастриминге и электронной коммерции. Выявляя пользователей с похожей историей просмотров или поведением при покупке (соседей), платформы могут предлагать продукты, которые пользователю, скорее всего, понравятся, основываясь на предпочтениях его "ближайших соседей".
  • Обнаружение аномалий: В кибербезопасности и финансах KNN используется для anomaly detection. Транзакции или сетевая активность отображаются в пространстве признаков; любая новая точка данных, которая оказывается далеко от плотных кластеров "нормальной" активности, помечается как потенциальное мошенничество или нарушение безопасности.
  • Визуальный поиск: Современные поисковые системы vector search часто полагаются на алгоритмы Approximate Nearest Neighbor (ANN) — оптимизированный вариант KNN — для быстрого извлечения похожих изображений на основе многомерных embeddings, генерируемых такими моделями, как YOLO26.

Проблемы и соображения#

Будучи эффективным, KNN сталкивается с curse of dimensionality. По мере увеличения количества признаков (размерностей) точки данных становятся разреженными, а метрики расстояния теряют свою эффективность. Кроме того, поскольку он хранит все тренировочные данные, KNN может быть ресурсоемким по памяти и страдать от высокой inference latency на больших наборах данных. Чтобы решить эту проблему, специалисты часто предварительно обрабатывают данные, используя методы dimensionality reduction, такие как Principal Component Analysis (PCA), или используют специализированные структуры данных, такие как KD-Trees, чтобы ускорить поиск. Для масштабирования наборов данных и обучения моделей корпоративного уровня использование Ultralytics Platform поможет управлять вычислительными ресурсами, необходимыми для предварительной обработки сложных данных.

Отличие KNN от K-Means#

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

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

Пример реализации#

Следующий фрагмент кода демонстрирует простой рабочий процесс классификации 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. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше

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

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