TGViewer
Data Science | Вопросы собесов Data Science | Вопросы собесов @easy_ds · 4.9K subscribers
Post #2659 361
🤔 Что такое переобучение модели ?

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

🚩Причины переобучения

🟠Слишком сложная модель
Если модель имеет слишком много параметров по сравнению с количеством обучающих примеров, она может "запомнить" данные вместо того, чтобы "понять" их.

🟠Ограниченные или несбалансированные данные
Недостаточное количество данных или их плохое качество могут привести к тому, что модель будет обучаться на шумах или аномалиях, которые не являются характерными для всей генеральной совокупности.

🟠Недостаточная регуляризация
Регуляризация помогает предотвратить переобучение путем штрафования моделей за слишком сложные решения.

🚩Признаки переобучения

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

🚩Как бороться с переобучением

🟠Использование валидационного набора данных
Разделение данных на обучающий, валидационный и тестовый наборы помогает контролировать и корректировать переобучение.
🟠Кросс-валидация
Оценка модели на различных подмножествах данных для проверки её устойчивости и способности к обобщению.
🟠Регуляризация
Такие методы, как L1 и L2 регуляризация, добавляют штрафы за большие веса в модели.
🟠Упрощение модели
Уменьшение числа параметров (например, уменьшение числа слоёв в нейронной сети или числа деревьев в ансамбле).
🟠Обрезка деревьев решений
Удаление частей дерева, которые не обеспечивают значительного улучшения предсказательной способности, для упрощения модели.
🟠Увеличение объёма данных
Больше данных может помочь модели лучше улавливать закономерности и тенденции, а не шумы.

from sklearn.linear_model import Ridge
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# Генерация синтетических данных
X, y = make_regression(n_samples=1000, n_features=20, noise=0.1)

# Разделение данных
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Обучение модели с регуляризацией
model = Ridge(alpha=1.0)
model.fit(X_train, y_train)

# Оценка модели
y_pred = model.predict(X_test)
print("MSE:", mean_squared_error(y_test, y_pred))


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_ds
  1. Oct 10, 2026Post #2697
  2. Oct 10, 2026🤔 Что такое переобучение модели? Переобучение (overfitting) происходит, когда модель слиш…
  3. Oct 9, 2026Post #2695
  4. Oct 9, 2026🤔 Расскажи о Gradient-boosted trees Gradient-boosted trees — это ансамблевый метод машинн…
  5. Oct 9, 2026🤔 Какие слабые стороны есть у алгоритма кластериации ? Алгоритмы кластеризации имеют неск…
  6. Oct 8, 2026🤔 В чем разница между листом и кортежем? В Python список (list) — это изменяемая коллекци…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →