Инструменты

Вопросы по классическому ML (основы машинного обучения)

Какие основные задачи ML (машинного обучения) ты знаешь?

Основные задачи машинного обучения, которые считаются фундаментальными:

  1. Классификация (Classification)
    Самая распространённая задача. Предсказываем дискретную метку класса.
    Примеры: бинарная (фрод / не фрод, отток / не отток), мультикласс (распознавание цифр, тематическая классификация текстов), мультилейбл (тегирование изображений / постов).
  2. Регрессия (Regression)
    Предсказываем непрерывную величину.
    Примеры: предсказание цены недвижимости, CTR, прогнозирование спроса, предсказание времени до события (time-to-event), предсказание остаточного ресурса (RUL).
  3. Кластеризация (Clustering)
    Группируем объекты без учителя по схожести.
    Основные подходы: K-Means / K-Medoids, DBSCAN, HDBSCAN, иерархическая, GMM.
    Применение: сегментация клиентов, поиск аномалий, группировка похожих изображений/товаров/пользователей.
  4. Обнаружение аномалий (Anomaly / Outlier Detection)
    Ищем редкие / необычные объекты.
    Бывает supervised, semi-supervised и unsupervised.
    Популярные методы: Isolation Forest, Autoencoders, One-Class SVM, LODA, HBOS, COPOD, GAN-based подходы.
  5. Ранжирование (Learning to Rank, LTR)
    Задача упорядочивания объектов по релевантности.
    Pointwise, pairwise, listwise подходы.
    Примеры: поисковая выдача, рекомендательные системы (ранжирование товаров/фильмов/постов), персонализированная сортировка ленты.
  6. Рекомендательные системы (Recommender Systems)
    По сути — отдельный большой класс задач, часто комбинирует несколько подходов выше.
    Основные парадигмы:
    — content-based
    — collaborative filtering (user-based, item-based, matrix factorization)
    — гибридные
    — sequence-based (GRU4Rec, SASRec, BERT4Rec и т.д.)
    — two-tower / DSSM-подобные модели
  7. Обработка последовательностей / Временные ряды (Sequence modeling & Time Series)
    — Классификация последовательностей
    — Прогнозирование следующих значений (point forecasting, probabilistic forecasting)
    — Аномалии во временных рядах
    Популярные модели: ARIMA/SARIMA, Prophet, LSTM/GRU, Temporal Convolutional Networks, Transformer-based (Informer, Autoformer, PatchTST), N-BEATS, DeepAR, TFT.
  8. Обнаружение объектов (Object Detection)
    Локализация + классификация объектов на изображении.
    Одноэтапные (YOLOv5–v10, RT-DETR) и двухэтапные (Faster R-CNN, Cascade R-CNN).
  9. Сегментация изображений (Semantic / Instance / Panoptic Segmentation)
    Pixel-level предсказания: U-Net, DeepLab, Mask R-CNN, Segment Anything (SAM / SAM 2).
  10. Генеративные задачи (Generative modeling)
    — Генерация изображений (GAN, Diffusion Models — DDPM, Stable Diffusion, Flux и т.д.)
    — Генерация текста (LLM fine-tuning, instruction tuning, RLHF)
    — Генерация табличных данных (CTGAN, TabDDPM)
    — Аугментация данных
  11. Активное обучение (Active Learning) и Обучение с частичной разметкой (Semi-/Weakly-supervised Learning)
    Когда разметки мало и дорого — очень часто встречается в индустрии.
  12. Мультимодальные задачи (Multimodal learning)
    Текст + изображение (CLIP-подобные, BLIP, Flamingo, LLaVA и наследники), видео + текст, аудио + текст и т.д.

Какие основные типы задач машинного обучения существуют (с учителем, без учителя, с подкреплением)?

Основные типы задач машинного обучения по наличию разметки

  1. Обучение с учителем (Supervised Learning)
    Есть размеченные данные: каждому объекту соответствует правильный ответ (метка, значение).
    Задача — научиться предсказывать метку по признакам.
    Основные подтипы:
    — Классификация (бинарная, мультикласс, мультилейбл)
    — Регрессия (линейная, нелинейная, предсказание вероятностей)
    Примеры: предсказание цены, детекция спама, медицинская диагностика, распознавание изображений с метками.
  2. Обучение без учителя (Unsupervised Learning)
    Разметки нет совсем. Алгоритм ищет внутреннюю структуру данных.
    Основные подтипы:
    — Кластеризация (K-Means, DBSCAN, HDBSCAN, GMM)
    — Снижение размерности (PCA, t-SNE, UMAP, Autoencoders)
    — Обнаружение аномалий (Isolation Forest, One-Class SVM, Autoencoders)
    — Поиск ассоциативных правил (Apriori, FP-Growth)
    — Представления (word2vec, node2vec, BERT embeddings и т.д.)
    Примеры: сегментация клиентов, поиск дубликатов, визуализация высокомерных данных, предобработка перед supervised.
  3. Обучение с подкреплением (Reinforcement Learning)
    Агент взаимодействует со средой, получает награду/штраф за действия и учится максимизировать суммарную награду.
    Основные компоненты: состояние (state), действие (action), награда (reward), политика (policy), ценность (value function).
    Ключевые подходы:
    — Value-based (Q-Learning, DQN, Double DQN)
    — Policy-based (REINFORCE, PPO, TRPO)
    — Actor-Critic (A2C, A3C, SAC)
    — Model-based vs Model-free
    Примеры: игры (AlphaGo, Atari), робототехника, управление трафиком, персонализированные рекомендации в реальном времени, оптимизация рекламы.
  4. Полу-обучение / Обучение с частичной разметкой (Semi-Supervised Learning)
    Комбинация: мало размеченных данных + много неразмеченных.
    Подходы: self-training, co-training, pseudo-labeling, consistency regularization (FixMatch, Mean Teacher), графовые методы.
    Очень часто используется в индустрии (особенно в CV и NLP).
  5. Обучение с ослабленной разметкой (Weakly-Supervised Learning)
    Разметка шумная, неточная или на уровне группы/изображения/текста, а не объекта.
    Примеры: image-level tags → object detection, noisy labels, multiple instance learning.
  6. Самообучение / Self-Supervised Learning
    Создаём «псевдо-разметку» из самих данных (pretext tasks).
    Примеры: contrastive learning (SimCLR, MoCo, BYOL), masked language modeling (BERT), masked image modeling (MAE), next sentence prediction, rotation prediction и т.д.
    Сейчас основа почти всех современных больших моделей (LLM, vision transformers, multimodal).

На практике чаще всего встречаются supervised и self-supervised (как пре-трейнинг), semi-supervised (экономия на разметке) и reinforcement (в специфических задачах оптимизации решений).

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

Алгоритмы без учителя (Unsupervised Learning) — это класс методов машинного обучения, в которых модель обучается на данных без каких-либо меток (без правильных ответов). Задача алгоритма — самостоятельно найти скрытые закономерности, структуру или представления в данных.

Главное отличие от обучения с учителем: нет целевой переменной y, которую нужно предсказывать. Модель работает только с признаками X и пытается извлечь из них полезную информацию.

Основные типы задач и алгоритмов без учителя

  1. Кластеризация (Clustering)
    Разбиение данных на группы похожих объектов.
    Популярные алгоритмы:
    • K-Means, K-Medoids, Mini-Batch K-Means
    • DBSCAN, HDBSCAN (плотностная кластеризация)
    • Иерархическая кластеризация (агломеративная / дивизионная)
    • Gaussian Mixture Models (GMM)
    • Spectral Clustering
    Применение: сегментация клиентов, группировка похожих товаров, поиск сообществ в соцсетях, компрессия изображений.
  2. Обнаружение аномалий / выбросов (Anomaly / Outlier Detection)
    Поиск объектов, которые сильно отличаются от основной массы данных.
    Популярные методы:
    • Isolation Forest
    • One-Class SVM
    • Autoencoders (реконструкционная ошибка)
    • Local Outlier Factor (LOF)
    • Elliptic Envelope, COPOD, HBOS
    • DBSCAN (как побочный эффект)
    Применение: детекция фрода, мониторинг оборудования, поиск дефектов на производстве, кибербезопасность.
  3. Снижение размерности (Dimensionality Reduction)
    Уменьшение количества признаков при сохранении максимума информации.
    Популярные методы:
    • PCA (Principal Component Analysis)
    • t-SNE, UMAP (нелинейные, для визуализации)
    • Autoencoders / Variational Autoencoders (VAE)
    • Factor Analysis, NMF (Non-negative Matrix Factorization)
    • LDA (Latent Dirichlet Allocation) — для текстов
    Применение: визуализация данных, ускорение обучения, удаление шума, feature extraction.
  4. Поиск ассоциативных правил (Association Rule Learning)
    Обнаружение часто встречающихся комбинаций элементов.
    Классические алгоритмы:
    • Apriori
    • FP-Growth
    • Eclat
    Применение: анализ рыночной корзины (market basket analysis), рекомендации «с этим товаром часто покупают», cross-selling.
  5. Самообучение / извлечение представлений (Self-Supervised Representation Learning)
    Создание собственных задач из данных для обучения полезных эмбеддингов.
    Примеры подходов:
    • Contrastive learning: SimCLR, MoCo, BYOL, DINO
    • Masked modeling: BERT (текст), MAE (изображения)
    • Rotation prediction, jigsaw puzzle, colorization и др.
    Применение: пре-трейнинг больших моделей (визион-трансформеры, LLM), улучшение качества на downstream-задачах при малом количестве разметки.
  6. Генерация новых данных (Generative Unsupervised Models)
    Модели, которые учатся распределению данных и могут генерировать новые примеры.
    Примеры:
    • GAN (Generative Adversarial Networks)
    • VAE (Variational Autoencoders)
    • Normalizing Flows
    • Diffusion Models (хотя часто fine-tune'ят с метками)
    • Energy-based models
    Применение: генерация изображений, аугментация данных, синтетические данные для табличных задач.

На практике алгоритмы без учителя чаще всего используются для:
• предобработки и feature engineering
• разведочного анализа данных
• работы с неразмеченными данными (а их в реальном мире всегда намного больше)
• экономии на разметке (self-supervised + semi-supervised подходы сейчас доминируют в индустрии)

Дайте определение классификации.

Классификация — это задача обучения с учителем (supervised learning), в которой модель по набору признаков объекта должна предсказать одну из конечного множества дискретных категорий (классов).

Формально:

Дано: набор размеченных данных {(x₁, y₁), (x₂, y₂), …, (xₙ, yₙ)}, где
• xᵢ — вектор признаков объекта (числовые, категориальные, текстовые, изображения и т.д.)
• yᵢ ∈ {C₁, C₂, …, Cₖ} — метка класса (целое число или строка)

Цель: найти такую функцию f(x) → класс, которая на новых (невиданных) объектах x даёт максимально точное предсказание y.

Основные виды классификации

  1. Бинарная классификация
    Два класса (обычно 0 и 1, «да/нет», «спам/не спам», «фрод/не фрод», «отток/не отток»).
    Метрики: accuracy, precision, recall, F1-score, ROC-AUC, PR-AUC.
  2. Многоклассовая классификация (Multi-class)
    Более двух взаимоисключающих классов (например, распознавание цифр 0–9, классификация пород собак, определение тональности: positive/neutral/negative).
    Метрики: accuracy, macro/micro/weighted F1, confusion matrix, log-loss (cross-entropy).
  3. Многометочная классификация (Multi-label)
    Каждый объект может принадлежать сразу нескольким классам одновременно (не взаимоисключающим).
    Примеры: тегирование фото (кошка + собака + природа), жанры фильма, медицинские диагнозы.
    Метрики: Hamming loss, subset accuracy, macro/micro F1 по лейблам.

Популярные алгоритмы классификации

  • Логистическая регрессия, SVM, KNN
  • Деревья решений, Random Forest, Gradient Boosting (XGBoost, LightGBM, CatBoost)
  • Нейронные сети (MLP, CNN для изображений, Transformers для текста)
  • Наивный Байес (особенно для текстов)

Классификация — самая частая и хорошо изученная задача в ML, встречается практически в любом домене: от антифрода и рекомендаций до компьютерного зрения и обработки естественного языка.

Что такое обобщающая способность модели?

Обобщающая способность (generalization ability) модели — это её способность правильно предсказывать на новых, ранее не виденных данных (тестовых / отложенных / out-of-sample данных), а не только хорошо работать на тех данных, на которых она обучалась (тренировочных данных).

По сути, это главная цель машинного обучения: построить модель, которая улавливает реальные закономерности в данных, а не просто их запоминает.

Ключевые понятия, связанные с обобщением

  • Переобучение (Overfitting)
    Модель слишком хорошо подстраивается под тренировочные данные, включая шум и случайные особенности → высокая точность на train, но низкая на test / новых данных.
    Признаки: train loss → почти 0, test loss → высокий и растёт.
  • Недообучение (Underfitting)
    Модель слишком простая и не улавливает даже основные закономерности → плохая точность и на train, и на test.
  • Хорошее обобщение
    Модель показывает сопоставимо хорошие результаты на тренировочных и тестовых данных (train и test ошибки близки и относительно низкие).

Как измеряют обобщающую способность

  1. Разделение выборки
    Train / Validation / Test (обычно 70–80% / 10–15% / 10–15%)
    Или кросс-валидация (k-fold, stratified k-fold, time-series split).
  2. Метрики на отложенной выборке
    Accuracy, F1, ROC-AUC, MAE, RMSE и т.д. — именно на test / hold-out / OOS.
  3. Learning curves
    Графики train и validation loss / метрики в зависимости от размера тренировочной выборки или эпох обучения.
    Хорошее обобщение: кривые сходятся к низкому значению и близки друг к другу.
  4. Gap между train и validation / test
    Чем меньше разница в ошибке — тем лучше обобщение.

Что улучшает обобщающую способность

  • Больше качественных данных (особенно разнообразных)
  • Регуляризация: L1/L2, dropout, weight decay, batch norm
  • Аугментация данных (особенно в CV и NLP)
  • Early stopping по validation loss
  • Правильный выбор архитектуры (не слишком сложная модель для малого объёма данных)
  • Кросс-валидация и усреднение предсказаний (ensemble)
  • Transfer learning / pre-training на больших датасетах
  • Data cleaning и удаление утечек (data leakage)
  • Правильная обработка несбалансированных классов, временных зависимостей и т.д.

В реальных проектах обобщающая способность — это главный критерий качества модели. Если модель отлично работает на исторических данных, но резко падает в продакшене — значит, обобщение плохое (переобучение, дрейф данных, утечка и т.д.).

Что такое параметры и гиперпараметры модели и в чем их различие?

Параметры модели — это внутренние веса и смещения, которые модель автоматически настраивает (обучает) в процессе тренировки на данных с помощью градиентного спуска (или другого оптимизатора).

Гиперпараметры — это настройки, которые задаёт человек (или система подбора) до начала обучения и которые не изменяются в процессе тренировки одной модели.

Параметры модели (обучаемые параметры)

  • То, что модель «учит» на данных
  • Изменяются на каждой итерации обучения (update weights)
  • Обычно их очень много (от тысяч до миллиардов)
  • Примеры параметров:
    • веса и bias в линейных/логистических слоях
    • веса ядер (kernel weights) в свёрточных слоях CNN
    • матрицы весов и bias в полносвязных слоях
    • embedding-матрицы в NLP-моделях
    • параметры attention (Q, K, V проекции) в трансформерах

Гиперпараметры (настраиваемые вручную или через поиск)

  • То, что выбирает исследователь / инженер перед запуском обучения
  • Не изменяются во время тренировки одной модели
  • Влияют на сам процесс обучения и архитектуру
  • Примеры гиперпараметров:
    • learning rate, weight decay, momentum / β₁, β₂ (в Adam)
    • batch size
    • количество эпох / early stopping patience
    • dropout rate, L1/L2 regularization strength
    • количество слоёв и нейронов в MLP
    • количество деревьев, max_depth, min_samples_split в Random Forest / XGBoost
    • learning rate schedule, warmup steps
    • размер эмбеддингов, количество голов attention, hidden size в трансформерах
    • optimizer type (AdamW, SGD, RMSprop и т.д.)

Ключевое различие в двух словах

ХарактеристикаПараметрыГиперпараметры
Кто настраиваетАлгоритм обучения (градиентный спуск)Человек / AutoML / поиск (Grid/Random/Bayesian/Hyperband и т.д.)
Когда меняютсяНа каждой итерации обученияДо запуска обучения (или между запусками экспериментов)
КоличествоОчень много (миллионы — миллиарды)Обычно десятки (редко сотни)
Как оптимизироватьBackpropagation + optimizerGrid Search, Random Search, Bayesian Optimization, Optuna, Hyperopt, Ray Tune и т.д.
Влияние на модельОпределяют, что именно модель выучилаОпределяют, насколько хорошо и быстро модель сможет это выучить

Коротко и по делу для собеседования:

Параметры — это веса, которые модель обучает на данных.
Гиперпараметры — это настройки, которые мы выбираем до обучения и которые контролируют, как именно эти веса будут обновляться.

Что такое проклятие размерности и как оно влияет на обучение?

Проклятие размерности — это набор проблем, которые возникают при работе с данными высокой размерности (когда количество признаков / фичей очень велико, часто десятки тысяч или больше).

Основная идея: при увеличении размерности пространства объём данных «размазывается» экспоненциально быстро, и чтобы покрыть пространство равномерно, требуется экспоненциально больше примеров. В реальности у нас почти никогда нет такого количества данных → модель начинает плохо обобщаться.

Основные проявления проклятия размерности

  1. Экспоненциальный рост объёма пространства
    Если в 1D нужно 10 точек для покрытия отрезка, то в 2D — уже 100 (10×10), в 3D — 1000, в 10D — 10¹⁰ точек. В 100D или 1000D (как в текстах, изображениях, геномике) покрыть пространство равномерно невозможно даже с миллионами примеров.
  2. Расстояния между точками становятся почти одинаковыми
    В высоких размерностях почти все пары точек находятся примерно на одинаковом расстоянии (концентрация меры). Метрики (евклидова, манхэттенская) перестают быть информативными → алгоритмы, основанные на расстояниях (KNN, кластеризация, SVM с RBF-ядром), сильно деградируют.
  3. Переобучение становится почти неизбежным
    Модель может идеально запомнить тренировочные данные (потому что в высокомерном пространстве почти все точки линейно разделимы даже случайным гиперплоскостями), но на новых данных — полный провал.
  4. Необходимость огромного количества данных
    Чтобы статистически значимо оценить плотность распределения или разделяющую поверхность, нужно экспоненциально больше примеров с ростом размерности.
  5. Проблемы с вычислительной сложностью
    Время и память на обучение/инференс растут как минимум линейно (часто хуже) с числом признаков.

Как проклятие размерности влияет на обучение моделей

  • KNN — почти бесполезен без снижения размерности (все соседи оказываются далеко и шумными)
  • Деревья решений / случайный лес — начинают переобучаться, потому что легко находят спурифные сплиты
  • Нейронные сети — требуют огромного количества данных и сильной регуляризации, иначе переобучаются
  • SVM — с RBF-ядром работает плохо без feature selection / kernel trick не спасает
  • Кластеризация — K-Means и DBSCAN теряют смысл, потому что нет чётких кластеров
  • Градиентный спуск — ландшафт функции потерь становится более «шумным» и сложным для оптимизации

Как бороться с проклятием размерности

  1. Снижение размерности:
    • PCA, TruncatedSVD, UMAP, t-SNE (для визуализации)
    • Autoencoders / VAE
    • Feature hashing (особенно для категориальных и текстовых данных)
  2. Отбор признаков (Feature Selection):
    • Filter methods (корреляция, mutual information, chi²)
    • Wrapper (forward/backward selection)
    • Embedded (L1-регуляризация, важность признаков в деревьях)
  3. Регуляризация (L1, L2, dropout, weight decay)
  4. Аугментация данных
  5. Transfer learning / pre-trained embeddings (особенно в NLP и CV)
  6. Использование моделей, устойчивых к высокой размерности:
    • Градиентный бустинг (XGBoost, LightGBM, CatBoost)
    • Трансформеры (самовнимание автоматически фокусируется на важных признаках)
    • Convolutional / Graph Neural Networks

Коротко для собеседования: «Проклятие размерности — это экспоненциальное ухудшение качества обучения и обобщения при росте числа признаков из-за разреженности пространства, потери информативности расстояний и лёгкого переобучения. Борются через отбор/снижение размерности, регуляризацию и подходящие архитектуры.»

В чем заключается Bias-Variance Tradeoff (компромисс смещения и разброса)?

Bias-Variance Tradeoff — это фундаментальное свойство всех моделей машинного обучения: ошибка на новых данных (обобщающая ошибка) состоит из трёх компонент:

  • Bias (смещение) — ошибка, возникающая из-за слишком упрощённых предположений модели о данных
  • Variance (разброс) — ошибка, возникающая из-за чрезмерной чувствительности модели к небольшим изменениям в обучающих данных
  • Непреодолимая ошибка (irreducible error / шум) — случайная ошибка, которую невозможно устранить никакой моделью

Обобщающая ошибка = Bias² + Variance + Irreducible Error

Что такое Bias (смещение)

Bias — это систематическая ошибка, вызванная тем, что модель слишком простая и не способна уловить истинную сложность зависимости в данных.

  • Высокий bias → модель недообучается (underfitting)
  • Признаки: плохая точность и на train, и на test
  • Примеры моделей с высоким bias: линейная регрессия на нелинейных данных, логистическая регрессия без нелинейных признаков, дерево глубиной 1

Что такое Variance (разброс)

Variance — это мера того, насколько сильно предсказания модели меняются при изменении обучающей выборки (если обучить модель на разных подвыборках одних и тех же данных).

  • Высокий variance → модель переобучается (overfitting)
  • Признаки: очень хорошая точность на train, но резко хуже на test / валидации
  • Примеры моделей с высоким variance: глубокие деревья без обрезки, KNN с k=1, нейросети без регуляризации на небольшом объёме данных

Компромисс Bias ↔ Variance

Увеличение сложности модели (больше параметров, глубже архитектура, меньше регуляризации) обычно:

  • уменьшает bias (модель лучше подстраивается под train-данные)
  • увеличивает variance (модель начинает ловить шум и случайности)

И наоборот: сильная регуляризация, упрощение модели → снижает variance, но повышает bias.

Цель — найти точку оптимальной сложности, где суммарная ошибка (bias² + variance) минимальна.

Как визуально выглядит tradeoff

  • Простая модель (линейная) → высокий bias, низкий variance
  • Очень сложная модель (глубокая сеть без регуляризации) → низкий bias, очень высокий variance
  • Оптимальная модель → баланс, минимальная обобщающая ошибка

Как управлять bias и variance на практике

  1. Снижение bias
    • Увеличить сложность модели (больше слоёв, больше нейронов, нелинейности)
    • Добавить полезные признаки / feature engineering
    • Уменьшить / убрать регуляризацию
    • Использовать более мощные архитектуры (трансформеры вместо линейных моделей)
  2. Снижение variance
    • Больше данных
    • Сильнее регуляризация (L1/L2, dropout, weight decay)
    • Аугментация данных
    • Early stopping
    • Ensemble-методы (бэггинг, бустинг, стекинг)
    • Уменьшить сложность модели

Коротко для собеседования:

Bias-Variance Tradeoff — это неизбежный компромисс: сложные модели уменьшают смещение, но увеличивают разброс, простые — наоборот. Обобщающая ошибка = bias² + variance + шум. Цель — минимизировать сумму bias² и variance путём правильного выбора сложности модели, регуляризации и объёма данных.

Что такое ансамбли моделей и почему они часто работают лучше базовых моделей?

Ансамбль моделей (ensemble methods) — это подход, при котором вместо одной модели мы обучаем и комбинируем предсказания нескольких (иногда десятков или сотен) моделей, чтобы получить итоговое предсказание более высокого качества.

Основная идея: разные модели совершают разные ошибки → объединяя их, можно компенсировать слабости отдельных моделей и снизить общую ошибку.

Основные типы ансамблей

  1. Бэггинг (Bagging — Bootstrap Aggregating)
    Обучаем много одинаковых моделей на разных случайных подвыборках данных (с возвращением — bootstrap).
    Финальное предсказание — усреднение (регрессия) или голосование большинства (классификация).
    Классический пример: Random Forest (бэггинг деревьев решений + случайный отбор признаков на каждом сплите).
    Снижает variance, почти не увеличивает bias.
  2. Бустинг (Boosting)
    Модели обучаются последовательно: каждая следующая исправляет ошибки предыдущих.
    Примеры:
    • AdaBoost (адаптивный бустинг — увеличивает вес объектов, на которых ошиблись)
    • Gradient Boosting (XGBoost, LightGBM, CatBoost) — градиентный спуск в пространстве функций
    • CatBoost — упор на обработку категориальных признаков и борьбу с переобучением
    Сильно снижает и bias, и variance → часто даёт state-of-the-art на табличных данных.
  3. Стекинг (Stacking)
    Обучаем несколько разнородных базовых моделей (разные алгоритмы, разные гиперпараметры).
    Их предсказания подаём на мета-модель (обычно линейную регрессию / логистическую / небольшой GBM), которая учится комбинировать их.
    Варианты: StackingCV (с кросс-валидацией), Blending (простой hold-out).
    Очень мощный метод, особенно в соревнованиях.
  4. Голосование (Voting)
    Простейший ансамбль: несколько разных моделей голосуют за класс (hard voting) или усредняют вероятности (soft voting).
    Применяется, когда модели примерно одинаково сильны, но ошибаются по-разному.
  5. Другие популярные подходы
    • Mixture of Experts (MoE) — в больших LLM (например, Mixtral, DeepSeek-MoE)
    • Snapshot Ensembles
    • Deep Ensembles (несколько независимых нейросетей)
    • Test-Time Augmentation (TTA) — ансамбль предсказаний на аугментированных тестовых данных

Почему ансамбли часто работают лучше одной базовой модели

  1. Снижение variance (разброса)
    Бэггинг и усреднение предсказаний нескольких моделей уменьшают разброс → модель становится стабильнее на разных подвыборках данных.
  2. Снижение bias (смещения)
    Бустинг последовательно фокусируется на труднообучаемых примерах → итоговая модель может аппроксимировать гораздо более сложные зависимости, чем одна базовая.
  3. Компенсация ошибок разных моделей
    Разные модели (или одна и та же на разных подвыборках) ошибаются на разных объектах → усреднение/голосование сглаживает индивидуальные ошибки.
  4. Устойчивость к шуму и выбросам
    Отдельные модели могут «переобучиться» на шум, но в ансамбле такие ошибки усредняются и теряют влияние.
  5. Более гладкая аппроксимация
    Ансамбль может приближать сложные нелинейные границы лучше, чем одна модель (особенно в случае деревьев или слабых классификаторов).
  6. Эффект «мудрости толпы»
    Если модели достаточно разнообразны и не коррелированы в ошибках — ансамбль почти всегда лучше худшей модели и часто лучше лучшей.

Коротко для собеседования:

Ансамбли — это комбинация нескольких моделей для получения более точного и стабильного предсказания. Они работают лучше базовых моделей, потому что снижают variance (бэггинг), bias (бустинг), компенсируют индивидуальные ошибки и аппроксимируют более сложные зависимости за счёт разнообразия и усреднения.

Что такое Bias-Variance Decomposition и какой тип ансамблирования что оптимизирует?

Bias-Variance Decomposition (разложение смещения и разброса) — это математическое представление общей ошибки модели на новых данных как суммы трёх независимых компонент:

Обобщающая ошибка = Bias² + Variance + Irreducible Error (шум)

  • Bias² (квадрат смещения) — ошибка из-за слишком простых предположений модели о форме зависимости в данных. Показывает, насколько в среднем предсказания модели отклоняются от истинной целевой функции.
  • Variance (разброс) — ошибка из-за чувствительности модели к случайным колебаниям в обучающей выборке. Показывает, насколько сильно меняются предсказания при обучении на разных выборках из того же распределения.
  • Irreducible Error (неустранимая ошибка / шум) — случайная компонента, которую невозможно устранить никакой моделью (шум в данных, стохастическая природа целевой переменной).

Математически (для регрессии, в упрощённом виде):

E[(ŷ - y)²] = E[(ŷ - E[ŷ])²] + (E[ŷ] - f(x))² + σ²  
          = Variance    + Bias²         + Irreducible Error

Цель любого моделирования — минимизировать сумму Bias² + Variance (irreducible error фиксирована).

Какой тип ансамблирования что оптимизирует

  1. Бэггинг (Bagging, Bootstrap Aggregating)
    • Основной эффект: снижение variance
    • Почему: усреднение предсказаний многих моделей, обученных на разных подвыборках → ошибки отдельных моделей компенсируются, разброс уменьшается.
    • Почти не влияет на bias (если базовая модель низкобайесная, то и ансамбль останется низкобайесным).
    • Классический пример: Random Forest.
  2. Бустинг (Boosting)
    • Основной эффект: снижение и bias, и variance (но в первую очередь сильно снижает bias)
    • Почему: последовательное обучение — каждая следующая модель фокусируется на ошибках предыдущих → итоговая модель может аппроксимировать гораздо более сложные зависимости (очень низкий bias), а усреднение/взвешивание снижает variance.
    • Особенно эффективен на слабых базовых моделях (decision stumps).
    • Классические примеры: AdaBoost, Gradient Boosting (XGBoost, LightGBM, CatBoost).
  3. Стекинг (Stacking)
    • Основной эффект: снижение и bias, и variance
    • Почему: использует разнородные базовые модели (разные алгоритмы, разные гиперпараметры) → ловит разные аспекты данных → мета-модель учится оптимально комбинировать их предсказания.
    • Часто даёт наилучший результат, потому что объединяет преимущества бэггинга (низкий variance) и бустинга (низкий bias) + добавляет разнообразие.
  4. Простое голосование / усреднение (Voting / Averaging)
    • Основной эффект: снижение variance
    • Почему: аналогично бэггингу — усреднение независимых предсказаний уменьшает разброс.
    • Эффективно, если базовые модели разнообразны и примерно одинаково хороши.

Коротко для собеседования:

Bias-Variance Decomposition: ошибка = Bias² + Variance + шум.
• Бэггинг → в основном снижает variance
• Бустинг → сильно снижает bias + тоже variance
• Стекинг → снижает и bias, и variance за счёт разнообразия моделей

Комментарии
Пред.
Градиентный спуск

Градиентный спуск

Содержание Показать Что такое оптимизация и зачем она нужна?

помощник
Сохранить в заметки
Спросить у нейросети
Вопросы по классическому ML (основы машинного обучения)
Комментарий: