Ленивый алгоритм: предсказание — это голосование k ближайших объектов обучающей выборки.
Ключевые тезисы
- Обучения нет, вся стоимость переносится на инференс.
- Требует масштабирования признаков и разумного выбора метрики расстояния.
- Сильно страдает от проклятия размерности: в высоких размерностях все точки равноудалены.
Подробный разбор
3 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Алгоритм и выбор k
Ленивое обучение: вся работа откладывается до момента предсказания.
- Посчитать расстояние от нового объекта до всех объектов обучающей выборки.
- Взять ближайших.
- Для классификации — голосование большинством, для регрессии — среднее их ответов.
Малое даёт изрезанную границу и переобучение (при модель просто запоминает выборку), большое — слишком гладкую и недообучение. обычно берут нечётным, чтобы избежать ничьих в бинарной задаче.
2Метрики расстояния
Результат k-NN целиком определяется тем, что вы назвали «близким».
, . Манхэттенское расстояние: . Евклидово: .
- Косинусное — для текстов и эмбеддингов, когда важно направление, а не длина.
- Хэмминга — для бинарных и категориальных векторов.
- Махаланобиса — учитывает корреляции признаков.
Масштабирование обязательно: без него признак «доход» полностью определит расстояние, а «возраст» станет невидимым.
3Сложность и быстрый поиск соседей
Почему наивный k-NN не доживает до продакшена и что с этим делают.
Наивное предсказание стоит на объект: при миллионе объектов и сотне признаков это сотни миллионов операций на один запрос.
| Структура | Идея | Когда работает |
|---|---|---|
| KD-дерево | рекурсивное разбиение по осям | |
| Ball-дерево | разбиение на шары | средние размерности |
| LSH | хеширование: близкие объекты → одна корзина | высокие размерности |
| HNSW | многослойный граф соседства | стандарт для векторного поиска |
LSH через случайные проекции: берут случайный вектор и кодируют объект битом . Несколько таких битов дают хеш, а близкие объекты с большой вероятностью получают одинаковый код.
Связанные темы
Метрические и ядровые методы
SVM65%
Метод опорных векторов · Классическое машинное обучениеИщет гиперплоскость с максимальным зазором между классами; ядровой трюк добавляет нелинейность без явного перехода в новое пространство.
k-Means65%
k-средних · Классическое машинное обучениеРазбивает объекты на k кластеров, минимизируя суммарное расстояние до центроидов.
Distance65%
Расстояние · Математический справочникМера непохожести объектов — основа кластеризации, k-NN и поиска.
Norm65%
Норма · Математический справочникМера длины вектора; выбор нормы определяет геометрию задачи.
Normalization & Standardization65%
Нормализация и стандартизация · ДанныеПриведение признаков к сопоставимым масштабам, без которого расстояния, градиенты и регуляризация работают некорректно.
Metric spaces65%
Метрические пространства · Топологический анализ данныхМножество с функцией расстояния. Любой TDA-пайплайн начинается с выбора метрики.