Обобщающая способность, регуляризация и тюнинг
Подтемы:
Какая разница между регуляризацией L1 и L2?
Регуляризация L1 (Lasso) и L2 (Ridge) являются двумя различными методами регуляризации, применяемыми для уменьшения переобучения и улучшения обобщающей способности модели в машинном обучении:
L1 (Lasso) регуляризация:
-
Использует сумму абсолютных значений весовых коэффициентов как часть функции потерь.
-
Приводит к разреженности модели, так как может установить некоторые весовые коэффициенты в ноль, что эквивалентно отбору признаков.
-
Часто используется для отбора признаков и уменьшения размерности модели.
L2 (Ridge) регуляризация:
-
Использует сумму квадратов весовых коэффициентов как часть функции потерь.
-
Предотвращает переобучение путем штрафования больших значений весовых коэффициентов, но не обнуляет их.
-
Обычно используется для стабилизации обучения и уменьшения чувствительности модели к изменениям в данных.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Middle Data Scientist | Выпуск 1. Секция ML | Собеседование | karpov.courses · 53:30–54:35Мок-собеседование · Совместный разбор
Кандидат сравнивает L1, зануляющий отдельные коэффициенты, и L2, плавно уменьшающий большие веса.
Как именно работают L1 и L2?
Регуляризация L1 (Lasso) и L2 (Ridge) работают путем добавления штрафа к функции потерь во время обучения модели. Этот штраф помогает управлять сложностью модели и предотвращать переобучение.
L1 (Lasso) регуляризация:
- Добавляет к функции потерь сумму абсолютных значений весовых коэффициентов где - это параметр регуляризации, а - весовой коэффициент для i-го признака.:
Такой штраф приводит к тому, что некоторые весовые коэффициенты становятся равными нулю, что эквивалентно отбору признаков.
L2 (Ridge) регуляризация:
-
Добавляет к функции потерь сумму квадратов весовых коэффициентов:
Этот штраф предотвращает слишком большие значения весовых коэффициентов, но не обнуляет их, сохраняя все признаки в модели.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Middle Data Scientist | Выпуск 1. Секция ML | Собеседование | karpov.courses · 53:30–54:35Мок-собеседование · Совместный разбор
В интервью разбирают, как L1 и L2 воздействуют на веса модели: sparsity против плавного shrinkage.
Почему L1-регуляризация обнуляет веса?
L1-регуляризация добавляет к функции потерь штраф $\lambda\sum_j |w_j|$. У абсолютного значения есть излом в нуле: при покоординатной оптимизации решение имеет вид soft-thresholding, поэтому достаточно малый по модулю коэффициент попадает точно в ноль, а не только приближается к нему.
Геометрически область $|w|_1 \le t$ имеет углы на координатных осях, и минимум часто достигается в таком углу. Чем больше $\lambda$, тем сильнее разреживание, но слишком большой штраф может занулить полезные признаки.
Ссылки для изучения
Регуляризация, что такое и зачем нужна? МНК и регуляризация, как она тут работает?
Регуляризация - это метод контроля за сложностью модели путем добавления штрафа за большие значения параметров. Она используется для предотвращения переобучения и улучшения обобщающей способности модели.
В методе наименьших квадратов (МНК) с регуляризацией, к функции потерь добавляется штрафной член, зависящий от параметров модели. Например, в случае L2-регуляризации к функции потерь добавляется сумма квадратов значений параметров, умноженная на коэффициент регуляризации. Это заставляет модель учитывать не только точность предсказаний, но и сложность модели, помогая избежать переобучения.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- 100 Data Science вопросов мидлу! Парень c Физтеха проходит собеседование · 16:04–17:06Мок-собеседование · Ответ кандидата
Переобучение связывается с подгонкой под шум. Затем кандидат объясняет регуляризацию на примерах ограничения глубины дерева и штрафа за большие веса линейной модели.
Какие существуют методы борьбы с переобучением?
Существует несколько методов борьбы с переобучением:
-
Кросс-валидация: Разделение данных на обучающий и тестовый наборы для оценки обобщающей способности модели.
-
Регуляризация: Использование методов регуляризации, таких как
L1илиL2регуляризация, для контроля сложности модели путем штрафования больших весовых коэффициентов. -
Уменьшение сложности модели: Ограничение глубины деревьев в случайных лесах или числа параметров в нейронных сетях, чтобы предотвратить излишнее обучение.
-
Использование ансамблей моделей: Объединение нескольких моделей в ансамбль, таких как случайный лес или градиентный бустинг, для улучшения обобщающей способности и снижения риска переобучения.
-
Исключение признаков: Удаление избыточных или неинформативных признаков из набора данных.
-
Увеличение объема данных: Увеличение размера обучающего набора данных может помочь модели лучше обобщить на новые данные и снизить риск переобучения.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- 100 Data Science вопросов мидлу! Парень c Физтеха проходит собеседование · 16:04–17:06Мок-собеседование · Ответ кандидата
Объяснение переобучения, проверки качества на новых данных и двух способов ограничить сложность модели: глубины дерева и величины весов.
С точки зрения тюнинга - использовалась готовая модель или тюнили?
Опишите, использовали ли готовую конфигурацию или подбирали гиперпараметры. Для собственного примера укажите метод поиска, валидационное разбиение, метрику и результат. Веса модели обучают на тренировочных данных, а гиперпараметры выбирают по валидации.
Ссылки для изучения
Какие основные параметры в бустинге по Вашему опыту надо тюнить, чтобы алгоритм работал как следует? На примере CatBoost.
В бустинге, особенно в алгоритме CatBoost, ключевыми параметрами для тюнинга являются:
-
Learning Rate
(Шаг обучения): Контролирует величину корректировки весов модели на каждом шаге. Небольшие значения обычно предпочтительны, но слишком маленький шаг может замедлить обучение. -
Depth of Trees
(Глубина деревьев): Определяет, насколько глубоко деревья будут разветвляться. Глубокие деревья могут привести к переобучению, поэтому важно контролировать их глубину. -
Number of Trees
(Количество деревьев): Определяет, сколько деревьев будет использоваться в ансамбле. Большое количество деревьев может улучшить качество модели, но также увеличивает время обучения. -
Regularization Parameters
(Параметры регуляризации): Например, параметры L2-регуляризации для ограничения весов признаков или параметры для контроля сложности модели. -
Feature Fraction
(Доля признаков): Определяет, какая часть признаков будет использоваться при построении каждого дерева. Это помогает снизить переобучение и улучшить обобщающую способность модели. -
Bagging Parameters
(Параметры бэггинга): Определяют, какие объекты и в каком количестве будут использоваться при построении каждого дерева. Это также помогает справиться с переобучением.
Ссылки для изучения
В каком порядке подбирать гиперпараметры градиентного бустинга?
Сначала фиксируют честную схему валидации, метрику и baseline. Затем грубо настраивают емкость деревьев: глубину, число листьев, минимальный размер листа. learning_rate и число деревьев подбирают совместно, обычно с большим лимитом итераций и early stopping. После этого проверяют subsample, выборку признаков и L1/L2-регуляризацию. Порядок не строгий, параметры взаимодействуют, поэтому финальные комбинации сравнивают повторно. Test set остается закрытым до выбора конфигурации.
Ссылки для изучения







