Перейти к содержимому
На этой странице

Обобщающая способность, регуляризация и тюнинг

Все темы Data Scientist

Подтемы:

Какая разница между регуляризацией L1 и L2?

Регуляризация L1 (Lasso) и L2 (Ridge) являются двумя различными методами регуляризации, применяемыми для уменьшения переобучения и улучшения обобщающей способности модели в машинном обучении:

L1 (Lasso) регуляризация:

  • Использует сумму абсолютных значений весовых коэффициентов как часть функции потерь.

  • Приводит к разреженности модели, так как может установить некоторые весовые коэффициенты в ноль, что эквивалентно отбору признаков.

  • Часто используется для отбора признаков и уменьшения размерности модели.

L2 (Ridge) регуляризация:

  • Использует сумму квадратов весовых коэффициентов как часть функции потерь.

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

  • Обычно используется для стабилизации обучения и уменьшения чувствительности модели к изменениям в данных.


Как именно работают L1 и L2?

Регуляризация L1 (Lasso) и L2 (Ridge) работают путем добавления штрафа к функции потерь во время обучения модели. Этот штраф помогает управлять сложностью модели и предотвращать переобучение.

L1 (Lasso) регуляризация:

  • Добавляет к функции потерь сумму абсолютных значений весовых коэффициентов где λλ - это параметр регуляризации, а wiw_i - весовой коэффициент для i-го признака.:
λ∑i=1n∣wi∣\lambda \sum_{i=1}^n |w_i|

Такой штраф приводит к тому, что некоторые весовые коэффициенты становятся равными нулю, что эквивалентно отбору признаков.

L2 (Ridge) регуляризация:

  • Добавляет к функции потерь сумму квадратов весовых коэффициентов:

    λ∑i=1nwi2\lambda \sum_{i=1}^n w_i^2

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


Почему L1-регуляризация обнуляет веса?

L1-регуляризация добавляет к функции потерь штраф $\lambda\sum_j |w_j|$. У абсолютного значения есть излом в нуле: при покоординатной оптимизации решение имеет вид soft-thresholding, поэтому достаточно малый по модулю коэффициент попадает точно в ноль, а не только приближается к нему.

Геометрически область $|w|_1 \le t$ имеет углы на координатных осях, и минимум часто достигается в таком углу. Чем больше $\lambda$, тем сильнее разреживание, но слишком большой штраф может занулить полезные признаки.


Регуляризация, что такое и зачем нужна? МНК и регуляризация, как она тут работает?

Регуляризация - это метод контроля за сложностью модели путем добавления штрафа за большие значения параметров. Она используется для предотвращения переобучения и улучшения обобщающей способности модели.

В методе наименьших квадратов (МНК) с регуляризацией, к функции потерь добавляется штрафной член, зависящий от параметров модели. Например, в случае L2-регуляризации к функции потерь добавляется сумма квадратов значений параметров, умноженная на коэффициент регуляризации. Это заставляет модель учитывать не только точность предсказаний, но и сложность модели, помогая избежать переобучения.


Какие существуют методы борьбы с переобучением?

Существует несколько методов борьбы с переобучением:

  1. Кросс-валидация: Разделение данных на обучающий и тестовый наборы для оценки обобщающей способности модели.

  2. Регуляризация: Использование методов регуляризации, таких как L1 или L2 регуляризация, для контроля сложности модели путем штрафования больших весовых коэффициентов.

  3. Уменьшение сложности модели: Ограничение глубины деревьев в случайных лесах или числа параметров в нейронных сетях, чтобы предотвратить излишнее обучение.

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

  5. Исключение признаков: Удаление избыточных или неинформативных признаков из набора данных.

  6. Увеличение объема данных: Увеличение размера обучающего набора данных может помочь модели лучше обобщить на новые данные и снизить риск переобучения.


С точки зрения тюнинга - использовалась готовая модель или тюнили?

Опишите, использовали ли готовую конфигурацию или подбирали гиперпараметры. Для собственного примера укажите метод поиска, валидационное разбиение, метрику и результат. Веса модели обучают на тренировочных данных, а гиперпараметры выбирают по валидации.


Какие основные параметры в бустинге по Вашему опыту надо тюнить, чтобы алгоритм работал как следует? На примере CatBoost.

В бустинге, особенно в алгоритме CatBoost, ключевыми параметрами для тюнинга являются:

  1. Learning Rate (Шаг обучения): Контролирует величину корректировки весов модели на каждом шаге. Небольшие значения обычно предпочтительны, но слишком маленький шаг может замедлить обучение.

  2. Depth of Trees (Глубина деревьев): Определяет, насколько глубоко деревья будут разветвляться. Глубокие деревья могут привести к переобучению, поэтому важно контролировать их глубину.

  3. Number of Trees (Количество деревьев) : Определяет, сколько деревьев будет использоваться в ансамбле. Большое количество деревьев может улучшить качество модели, но также увеличивает время обучения.

  4. Regularization Parameters (Параметры регуляризации): Например, параметры L2-регуляризации для ограничения весов признаков или параметры для контроля сложности модели.

  5. Feature Fraction (Доля признаков): Определяет, какая часть признаков будет использоваться при построении каждого дерева. Это помогает снизить переобучение и улучшить обобщающую способность модели.

  6. Bagging Parameters (Параметры бэггинга) : Определяют, какие объекты и в каком количестве будут использоваться при построении каждого дерева. Это также помогает справиться с переобучением.


В каком порядке подбирать гиперпараметры градиентного бустинга?

Сначала фиксируют честную схему валидации, метрику и baseline. Затем грубо настраивают емкость деревьев: глубину, число листьев, минимальный размер листа. learning_rate и число деревьев подбирают совместно, обычно с большим лимитом итераций и early stopping. После этого проверяют subsample, выборку признаков и L1/L2-регуляризацию. Порядок не строгий, параметры взаимодействуют, поэтому финальные комбинации сравнивают повторно. Test set остается закрытым до выбора конфигурации.

Собеседования: Data Science

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: Data Scientist, ML-инженер. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.