Какие основные категории и алгоритмы машинного обучения вы знаете?

«Какие основные категории и алгоритмы машинного обучения вы знаете?» — вопрос из категории Классическое ML, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Алгоритмы ML можно разделить по тизу обучения и решаемой задаче.

I. Обучение с учителем (Supervised Learning) Цель: предсказать целевую переменную по размеченным данным.

  • Классификация (предсказание категории):
    • Логистическая регрессия: Базовый линейный классификатор, хорош для бинарных задач и интерпретируемости.
    • Деревья решений и ансамбли (Random Forest, Gradient Boosting - XGBoost, LightGBM, CatBoost): Моя основная рабочая лошадка для табличных данных. Дают высокую точность и могут работать с категориальными признаками.
    • Метод опорных векторов (SVM): Эффективен в высокоразмерных пространствах, но плохо масштабируется на больших выборках.
    • Наивный Байес: Быстрый алгоритм для текстовой классификации (спам/не спам).
  • Регрессия (предсказание числа):
    • Линейная регрессия: Базовый алгоритм, когда предполагается линейная зависимость.
    • Ridge/Lasso регрессия: Регуляризованные версии для борьбы с переобучением.
    • Ансамбли деревьев (те же Random Forest, Gradient Boosting) также отлично работают для регрессии.

II. Обучение без учителя (Unsupervised Learning) Цель: найти структуру в данных без меток.

  • Кластеризация: K-Means, DBSCAN, Иерархическая кластеризация (см. предыдущий вопрос).
  • Снижение размерности:
    • PCA (Principal Component Analysis): Для визуализации и уменьшения числа признаков при сохранении дисперсии.
    • t-SNE, UMAP: Современные методы для нелинейной визуализации многомерных данных.

III. Глубокое обучение (Deep Learning)

  • Сверточные нейронные сети (CNN): Для работы с изображениями (классификация, детекция).
  • Рекуррентные нейронные сети (RNN, LSTM, GRU): Для последовательных данных (временные ряды, текст).
  • Трансформеры (BERT, GPT): State-of-the-art для задач NLP.
  • Автоэнкодеры: Для снижения размерности и поиска аномалий.

IV. Обучение с подкреплением (Reinforcement Learning) Агент учится, взаимодействуя со средой. Алгоритмы: Q-Learning, Policy Gradients (например, в DQN). Применяется в робототехнике, играх, рекомендательных системах.

Мой стек: Для большинства бизнес-задач с табличными данными я начинаю с LightGBM или Random Forest. Для текстов — BERT или его легковесные аналоги (DistilBERT). Для изображений — CNN на основе предобученных моделей (ResNet).