SmartQueryРазбор по существуРежимы по кругу: Система, Светлая, Тёмная. Enter или пробел переключают режим. Стрелки выбирают соседний, Home — Система, End — Тёмная.
Языки и платформы

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

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

Содержание статьи
  1. Два вида значений на одном примере
  2. Как подбирать настройки без утечки данных
  3. Почему нет универсального лучшего значения

Два вида значений на одном примере

Ridge в scikit-learn
ЗначениеКто его определяетГде посмотреть
alphaАвтор эксперимента или поиск гиперпараметровget_params()["alpha"]
Коэффициентыfit по даннымcoef_
Свободный членfit, если fit_intercept=Trueintercept_

Название get_params() в API scikit-learn относится к настройкам конструктора. Оно не означает, что метод возвращает найденные веса. Обученные атрибуты часто оканчиваются подчёркиванием.

from sklearn.linear_model import Ridge

features = [[0.0], [1.0], [2.0], [3.0]]
targets = [1.0, 3.0, 5.0, 7.0]
regressor = Ridge(alpha=1.0)
regressor.fit(features, targets)

print(regressor.get_params()["alpha"])
print(regressor.coef_)
print(regressor.intercept_)

Вызов fit обучает веса при уже выбранном alpha. Если изменить alpha и повторить fit, коэффициенты могут измениться. Этот маленький набор показывает различие объектов API; он не доказывает качество модели на новых данных.

Как подбирать настройки без утечки данных

  • Сначала выделите независимую тестовую часть и выберите метрику, соответствующую задаче.
  • Подбирайте alpha или другие настройки по кросс-валидации внутри обучающей части, например через GridSearchCV.
  • Предобработку обучайте внутри каждого разбиения; Pipeline помогает не подглядывать в валидационные данные при масштабировании.
  • После выбора настроек оцените результат на тестовой части. Не меняйте их многократно под один и тот же тест.

Почему нет универсального лучшего значения

Сильная регуляризация способна уменьшить переобучение, но чрезмерная может ухудшить даже обучение. Размер данных, масштаб признаков и выбранная метрика меняют итог. Для временных рядов или групп связанных наблюдений случайное разбиение тоже может дать слишком оптимистичную оценку: схема проверки должна соответствовать будущему применению.

Документация