Курс "Специалист по искусственному интеллекту". Урок 14. Метод k-ближайших соседей (kNN)
В 14-м уроке курса по машинному обучению и искусственному интеллекту мы переходим к многоклассовой классификации и знакомимся с одним из самых простых, элегантных и быстрых алгоритмов — методом k-ближайших соседей (k-Nearest Neighbors, kNN). Мы подробно разберем математическую интуицию метода, поймем, почему kNN называют «ленивым» алгоритмом (Lazy Learning), выясним, почему для него жизненно необходима стандартизация признаков, и научимся применять его не только для классификации, но и для решения задач регрессии! 🔥 Полный курс и учебные материалы: https://leolukin.ru/kursy/kurs-po-iskusstvennomu-intellektu-i-mashinnomu-obucheniyu/ ---------------------------------------------------- О ЧЁМ ЭТОТ УРОК: ---------------------------------------------------- 1. Принцип работы KNN: мажоритарное голосование в n-мерном признаковом пространстве («скажи мне, кто твои соседи, и я скажу, кто ты»). 2. Концепция Lazy Learning («ленивое обучение»): почему у KNN этап fit() не строит аналитическую модель, а индексирует данные, и почему основная работа происходит во время predict(). 3. Гиперпараметры модели: • Число соседей k (почему чаще выбирают нечетные числа). • Классификация по радиусу (RadiusNeighborsClassifier) для разреженных данных и неравномерной плотности. • Взвешивание голосов по расстоянию (weights='distance'). 4. Критическая важность масштабирования признаков (StandardScaler): почему без приведения признаков к единому масштабу евклидово расстояние выдает ошибочные результаты. 5. Практика в Scikit-Learn на датасете Ирисов Фишера (все 3 класса): обучение KNeighborsClassifier, предсказание, оценка точности через classification_report (достигаем 0.98!). 6. Предобработка новых данных и роль Pipeline при внедрении модели. 7. Неожиданное применение KNN в регрессии (KNeighborsRegressor): как оценивать непрерывные величины (например, стоимость аренды квартиры) путем усреднения похожих объектов и почему это работает быстрее полиномиальной регрессии. ---------------------------------------------------- ТАЙМ-КОДЫ: ---------------------------------------------------- 00:00 — Введение: переход от бинарной классификации к многоклассовой 01:23 — Принцип алгоритма K-Nearest Neighbors (KNN): «Скажи мне, кто твои друзья...» 02:29 — Обучение с учителем: необходимость размеченных данных 03:49 — Концепция «ленивого обучения» (Lazy Learning): почему KNN обучается мгновенно 04:36 — Гиперпараметр k: выбор количества соседей и мажоритарное голосование 05:44 — Геометрический смысл и метрики расстояния (Евклидово расстояние) 07:29 — Классификация по радиусу: RadiusNeighborsClassifier и работа с неравномерной плотностью 09:55 — Инструменты библиотеки Scikit-Learn: KNeighborsClassifier vs RadiusNeighborsClassifier 10:39 — Почему стандартизация (StandardScaler) критически важна для метрических алгоритмов 12:06 — Интуиция работы KNN на пространстве признаков Ирисов Фишера 14:15 — Практика в Scikit-Learn: подготовка задачи многоклассовой классификации 16:00 — Загрузка датасета Iris (все 3 класса) и масштабирование признаков 17:18 — Создание и «обучение» модели KNeighborsClassifier(n_neighbors=5) 18:38 — Анализ результатов классификации: Accuracy 0.98 и отчет classification_report 20:15 — Эксперимент с RadiusNeighborsClassifier и подбор радиуса 21:54 — Проблема спорных голосов и взвешивание соседей по расстоянию (weights='distance') 23:36 — Преимущества многоклассовой классификации KNN перед бинарными моделями 25:00 — Важность Pipeline для корректного масштабирования новых объектов 26:16 — Метод ближайших соседей для задачи регрессии (KNeighborsRegressor) 27:43 — Практический кейс: прогнозирование стоимости аренды жилья через соседей 29:26 — Усреднение целевого признака и работа с KNeighborsRegressor 30:26 — Сравнение KNeighborsRegressor с полиномиальной регрессией (MSE, R2) 31:40 — Итоги занятия и рекомендации по подбору гиперпараметров ---------------------------------------------------- МАТЕРИАЛЫ И ПОЛЕЗНЫЕ ССЫЛКИ: ---------------------------------------------------- 🌐 Текстовая версия урока: https://leolukin.ru/kursy/kurs-po-iskusstvennomu-intellektu-i-mashinnomu-obucheniyu/ 💻 Предыдущий урок 13 (Метрики классификации): https://leolukin.ru/kursy/kurs-po-iskusstvennomu-intellektu-i-mashinnomu-obucheniyu/uroki/urok-13-metriki-kachestva-klassifikatsii-matritsa-oshibok-precision-recall-f1-i-classification-report/ 👨💻 Автор курса: Леонид Лукин (https://leolukin.ru) Ставьте лайк, подписывайтесь на канал и делитесь в комментариях, решали ли вы регрессионные задачи с помощью соседей!
Название:
Курс "Специалист по искусственному интеллекту". Урок 14. Метод k-ближайших соседей (kNN)
Категория:
Обучение