TGViewer
Data Science | Вопросы собесов Data Science | Вопросы собесов @easy_ds · 4.89K subscribers
Post #2483 454
🤔 Какие методы регуляризации знаешь?

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

🟠L1 и L2-регуляризация (регуляризация норм L1 и L2)

L1-регуляризация (Lasso) В регуляризацию добавляется сумма абсолютных значений коэффициентов весов модели.
Формула: \( L1 = \lambda \sum_{i} |w_i| \), где \( \lambda \) — гиперпараметр регуляризации. Преимущество: Стимулирует разреженность, заставляя некоторые веса становиться равными нулю, что помогает в выборе признаков. Недостаток: Могут игнорироваться малые, но значимые признаки.

L2-регуляризация (Ridge):
Добавляется сумма квадратов весов модели.
Формула: \( L2 = \lambda \sum_{i} w_i^2 \).Преимущество: Регуляризует модель, не делая веса нулевыми, помогает в борьбе с мультиколлинеарностью.
Недостаток: Не отбирает признаки, оставляя их все
from sklearn.linear_model import Ridge, Lasso

# Ridge
ridge_model = Ridge(alpha=1.0)
ridge_model.fit(X_train, y_train)

# Lasso
lasso_model = Lasso(alpha=0.1)
lasso_model.fit(X_train, y_train)


🟠Dropout
Используется в нейронных сетях.
В процессе обучения случайно "выключает" часть нейронов, заставляя сеть учиться более устойчивым признакам.
Пример: при Dropout с вероятностью 0.5 половина нейронов в слое будет игнорироваться на каждой итерации.
Преимущество: Снижает зависимость от определённых нейронов, улучшая обобщающую способность сети.
import tensorflow as tf
from tensorflow.keras.layers import Dropout, Dense

model = tf.keras.Sequential([
Dense(128, activation='relu'),
Dropout(0.5), # Удаляем 50% нейронов
Dense(10, activation='softmax')
])


🟠Раннее прекращение обучения (Early Stopping)
Останавливает обучение, когда ошибка на валидационной выборке перестаёт уменьшаться. Преимущество: предотвращает переобучение без необходимости добавления дополнительной регуляризации. Недостаток: Может остановить обучение до достижения оптимального результата.
from keras.callbacks import EarlyStopping

early_stopping = EarlyStopping(monitor='val_loss', patience=5)

model.fit(X_train, y_train, validation_data=(X_val, y_val), callbacks=[early_stopping])


🟠Нормализация и стандартизация данных
Хотя это больше подготовка данных, правильное масштабирование (например, через Min-Max Scaling или Z-Score) может улучшить регуляризацию модели, сделав её более устойчивой к шуму.
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)


🟠Регуляризация через ограничение весов (Weight Constraint)
Вводятся ограничения на значения весов, например, они должны оставаться в пределах заданного диапазона.
from tensorflow.keras.constraints import MaxNorm
from tensorflow.keras.layers import Dense

layer = Dense(128, activation='relu', kernel_constraint=MaxNorm(3))


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

🟠Batch Normalization
Стабилизирует обучение, нормализуя выходы скрытых слоёв. Это также действует как лёгкая форма регуляризации.
from tensorflow.keras.layers import BatchNormalization

model.add(BatchNormalization())


🟠Сложные методы (Elastic Net и DropConnect)
Elastic Net: Комбинация L1 и L2-регуляризации. DropConnect: Аналог Dropout, но выключаются не нейроны, а их веса.

Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
More from @easy_ds
  1. Oct 12, 2026Post #2704
  2. Oct 12, 2026🤔 Как решить задачу, где присутствует одновременно два target – один categorical, другой…
  3. Oct 12, 2026🤔 Как происходит детекция без anchor box-ов? Обнаружение объектов без использования ancho…
  4. Oct 12, 2026Post #2701
  5. Oct 11, 2026🤔 Что такое декоратор? Это функция, модифицирующая или расширяющая поведение другой функц…
  6. Oct 11, 2026Post #2699
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 →