Карта машинного обучения: ваш путеводитель по алгоритмам и методам
Постоянно вижу, как у начинающих в голове полная каша из алгоритмов, методов и терминов. Одни думают, что ML — это только нейронки, другие не отличают классификацию от кластеризации.
Чтобы навести порядок в головах, сделал вот такую шпаргалку, которая раскладывает по полочкам всё основное, что есть в машинном обучении. От классики до продвинутых штук вроде трансформеров.
А чтобы эта шпаргалка всегда была под рукой, я подготовил и PDF-версию в высоком качестве (скачать можно здесь).
Три парадигмы машинного обучения
Всё ML-разнообразие можно условно поделить на три большие группы.
Обучение с учителем (Supervised Learning)
Это самый понятный и распространенный подход. У нас есть размеченные данные, где для каждого объекта известен правильный ответ. Алгоритм пытается найти закономерности, чтобы потом давать верные ответы на новых, невиданных ранее данных.
- Классификация: Предсказываем категорию. Спам или не спам? Уйдет клиент или останется?
- Регрессия: Предсказываем конкретное число. Цена на квартиру, спрос на товар, погода.
Кстати, про линейную регрессию и её важные подвиды с регуляризацией (Ridge, Lasso) я писал подробнейшую статью с примерами на Python. А про полиномиальную регрессию, которая позволяет находить более сложные зависимости, — тоже есть отдельный разбор.
Обучение без учителя (Unsupervised Learning)
Здесь всё сложнее и интереснее. У нас есть данные, но без правильных ответов. Алгоритм должен сам найти в них какие-то скрытые структуры, закономерности и взаимосвязи.
- Кластеризация: Группировка похожих объектов. Например, сегментация клиентов по поведению.
- Снижение размерности: Упрощение данных без потери важной информации. Когда у вас сотни признаков, а для модели нужно всего несколько.
Про то, как работает метод главных компонент (PCA) на Python и как он помогает извлекать максимум из данных, у меня есть отдельный гайд.
- Поиск ассоциаций: Поиск правил вида "если купили товар А, то часто покупают и товар Б". Классика — анализ рыночной корзины.
Обучение с подкреплением (Reinforcement Learning)
Тут у нас есть "агент", который учится действовать в некой среде, получая "награды" и "штрафы" за свои действия. Его цель — максимизировать суммарную награду. На этом подходе работают автопилоты, игровые боты и торговые роботы.
Продвинутые методы
Когда классических подходов не хватает, в дело вступают тяжеловесы.
Ансамблевые методы
Идея проста: если объединить несколько слабых моделей, можно получить одну, но очень сильную и точную.
- Бэггинг (Bagging): Модели учатся параллельно на разных подвыборках данных. Ключевой пример — Случайный лес (Random Forest).
- Бустинг (Boosting): Модели учатся последовательно, каждая новая исправляет ошибки предыдущей. Тут царят XGBoost, LightGBM и, конечно, CatBoost.
- Стекинг (Stacking): Результаты работы одних моделей становятся входными данными для другой, финальной мета-модели.
Нейросети и глубокое обучение (Deep Learning)
Та самая область, о которой сейчас кричат из каждого утюга. Используются для самых сложных задач с неструктурированными данными — изображениями, текстом, звуком.
- Свёрточные сети (CNN): Короли компьютерного зрения.
- Рекуррентные сети (RNN, LSTM): Созданы для работы с последовательностями (текст, речь, временные ряды).
- Трансформеры (BERT, GPT): Де-факто стандарт в NLP. На них работают все современные языковые модели.
- Генеративные сети (GAN, VAE): Умеют создавать новый контент — от фото и музыки до текстов.
Эта карта — не исчерпывающий справочник, а скорее отправная точка для ваших исследований. Мир ML гораздо шире, но эти концепции — его основа.
Надеюсь, эта структура поможет вам лучше ориентироваться в мире машинного обучения.