---
title: Обобщающая способность, регуляризация и тюнинг
questionDates:
  q-transfer-0040: '2026-10-01'
seo:
  description: >-
    Тема «Обобщающая способность, регуляризация и тюнинг» для собеседования Data
    Scientist. Какая разница между регуляризацией L1 и L2? Как именно работают
    L1 и L2?
  title: Обобщающая способность, регуляризация и тюнинг — Data Scientist
---

[Все темы Data Scientist](/prep/data-scientist)

Подтемы:

- [Регуляризация](#q-14bee738d69b814383cff0756ecc66b8)
- [Переобучение](#q-14bee738d69b81af8302e4621a78c808)
- [Тюнинг модели](#q-14bee738d69b817faf75f82a4cc1c720)

## <strong>Какая разница между регуляризацией</strong> <code>L1</code> <strong>и</strong> <code>L2</code><strong>?</strong> [#q-14bee738d69b814383cff0756ecc66b8]

Регуляризация <code>L1 &#40;Lasso&#41;</code> и <code>L2 &#40;Ridge&#41;</code> являются двумя различными методами регуляризации, применяемыми для уменьшения переобучения и улучшения обобщающей способности модели в машинном обучении&#58;

#### <code>L1 &#40;Lasso&#41;</code> <strong>регуляризация</strong>&#58;

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

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

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

#### <code>L2 &#40;Ridge&#41;</code> <strong>регуляризация</strong>&#58;

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

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

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

:::note[Ссылки для изучения]

1. [Регуляризация в машинном обучении](https://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)
2. [L2 и L1 регуляризация. machine learrrning, с 2:28](https://www.youtube.com/watch?v=4WcHxtYy3_8&t=148s)

:::

---

## <strong>Как именно работают</strong> <code>L1</code> <strong>и</strong> <code>L2</code><strong>?</strong> [#q-14bee738d69b81a88179ea54d1962e8b]

Регуляризация <code>L1 &#40;Lasso&#41;</code> и <code>L2 &#40;Ridge&#41;</code> работают путем добавления штрафа к функции потерь во время обучения модели. Этот штраф помогает управлять сложностью модели и предотвращать переобучение.

#### <code>L1 &#40;Lasso&#41;</code> <strong>регуляризация</strong>&#58;

- Добавляет к функции потерь сумму абсолютных значений весовых коэффициентов где <InlineMath tex={"λ"} /> - это параметр регуляризации, а <InlineMath tex={"w_i"} /> - весовой коэффициент для i-го признака.&#58;

$$
\lambda \sum_{i=1}^n |w_i|
$$

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

#### <code>L2 &#40;Ridge&#41;</code> <strong>регуляризация</strong>&#58;

- Добавляет к функции потерь сумму квадратов весовых коэффициентов&#58;

  $$
  \lambda \sum_{i=1}^n w_i^2
  $$

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

:::note[Ссылки для изучения]

1. [Регуляризация в машинном обучении](https://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)
2. [Как работают L2 и L1. machine learrrning, с 2:28](https://www.youtube.com/watch?v=4WcHxtYy3_8&t=148s)

:::

---

## Почему L1-регуляризация обнуляет веса? [#q-14bee738d69b81b0ba85c522b2b4b294]

<span id="q-14bee738d69b817da8aecd7af1a2792e"></span>

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

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

:::note[Ссылки для изучения]

1. [Почему L1 даёт нулевые веса: геометрия линий уровня и отбор признаков](https://contest.yandex.ru/tracks/ml/supervised-learning/linear-models#razrezhivanie-vesov-v-regulyarizacii)
2. [Почему L1 зануляет веса. machine learrrning, с 6:23](https://www.youtube.com/watch?v=4WcHxtYy3_8&t=383s)

:::

---

## <strong>Регуляризация, что такое и зачем нужна? МНК и регуляризация, как она тут работает?</strong> [#q-14bee738d69b8127b5ade5d1fa136aa1]

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

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

:::note[Ссылки для изучения]

1. [МНК с регуляризацией: штраф, устойчивость и градиент — Яндекс](https://contest.yandex.ru/tracks/ml/supervised-learning/linear-models#regulyarizaciya)
2. [L1 и L2 регуляризация. machine learrrning, с 0:03](https://www.youtube.com/watch?v=4WcHxtYy3_8&t=3s)

:::

---

## <strong>Какие существуют методы борьбы с переобучением?</strong> [#q-14bee738d69b81af8302e4621a78c808]

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

1. <strong>Кросс-валидация</strong>&#58; Разделение данных на обучающий и
   тестовый наборы для оценки обобщающей способности модели.

1. <strong>Регуляризация</strong>&#58; Использование методов регуляризации,
   таких как <code>L1</code> или <code>L2</code> регуляризация, для контроля
   сложности модели путем штрафования больших весовых коэффициентов.

1. <strong>Уменьшение сложности модели</strong>&#58; Ограничение глубины
   деревьев в случайных лесах или числа параметров в нейронных сетях, чтобы
   предотвратить излишнее обучение.

1. <strong>Использование ансамблей моделей</strong>&#58; Объединение нескольких
   моделей в ансамбль, таких как случайный лес или градиентный бустинг, для
   улучшения обобщающей способности и снижения риска переобучения.

1. <strong>Исключение признаков</strong>&#58; Удаление избыточных или
   неинформативных признаков из набора данных.

1. <strong>Увеличение объема данных</strong>&#58; Увеличение размера обучающего
   набора данных может помочь модели лучше обобщить на новые данные и снизить
   риск переобучения.

:::note[Ссылки для изучения]

1. [Переобучение в ML](https://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)
2. [L1 и L2 регуляризация. machine learrrning, с 0:03](https://www.youtube.com/watch?v=4WcHxtYy3_8&t=3s)

:::

---

## <strong>С точки зрения тюнинга - использовалась готовая модель или тюнили?</strong> [#q-14bee738d69b817faf75f82a4cc1c720]

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

:::note[Ссылки для изучения]

1. [Подбор гиперпараметров: Grid/Random Search и честная валидация — Яндекс](https://contest.yandex.ru/tracks/ml/model-evaluation/hyperparameter-tuning)
   :::

---

## <strong>Какие основные параметры в бустинге по Вашему опыту надо тюнить, чтобы алгоритм работал как следует? На примере CatBoost.</strong> [#q-14bee738d69b81a4b383e7870879413d]

В бустинге, особенно в алгоритме <code>CatBoost</code>, ключевыми параметрами для тюнинга являются&#58;

1. <strong>Learning Rate</strong> <code>&#40;Шаг обучения&#41;</code>&#58;
   Контролирует величину корректировки весов модели на каждом шаге. Небольшие
   значения обычно предпочтительны, но слишком маленький шаг может замедлить
   обучение.

1. <strong>Depth of Trees</strong> <code>&#40;Глубина деревьев&#41;</code>&#58;
   Определяет, насколько глубоко деревья будут разветвляться. Глубокие деревья
   могут привести к переобучению, поэтому важно контролировать их глубину.

1. <strong>Number of Trees</strong> <code>&#40;Количество деревьев&#41;</code>
   &#58; Определяет, сколько деревьев будет использоваться в ансамбле. Большое
   количество деревьев может улучшить качество модели, но также увеличивает
   время обучения.

1. <strong>Regularization Parameters</strong>
   <code>&#40;Параметры регуляризации&#41;</code>&#58; Например, параметры
   L2-регуляризации для ограничения весов признаков или параметры для контроля
   сложности модели.

1. <strong>Feature Fraction</strong> <code>&#40;Доля признаков&#41;</code>&#58;
   Определяет, какая часть признаков будет использоваться при построении каждого
   дерева. Это помогает снизить переобучение и улучшить обобщающую способность
   модели.

1. <strong>Bagging Parameters</strong> <code>&#40;Параметры бэггинга&#41;</code>
   &#58; Определяют, какие объекты и в каком количестве будут использоваться при
   построении каждого дерева. Это также помогает справиться с переобучением.

:::note[Ссылки для изучения]

1. [Параметры CatBoost на CPU: глубина, деревья, шаг, L2 и выборки](https://habr.com/ru/companies/vtb/articles/1082608/)
1. [Глубина и связь learning rate с числом итераций бустинга — Яндекс](https://contest.yandex.ru/tracks/ml/supervised-learning/gradient-boosting#problema-pereobucheniya)
   :::

---

## В каком порядке подбирать гиперпараметры градиентного бустинга? [#q-transfer-0040]

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

:::note[Ссылки для изучения]

1. [Настройка бустинга: глубина, learning rate и число итераций](https://contest.yandex.ru/tracks/ml/supervised-learning/gradient-boosting#problema-pereobucheniya)
   :::
