и посмотреть медиа
Data Science - собесы
и посмотреть медиа
Собесы Data Science.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Вопросы для собеседований по Data Science.
🤔 Какие методы регуляризации знаешь? Это набор методов, которые помогают предотвратить переобучение модели, уменьшая сложность модели или ограничивая её способность к чрезмерному подгонке под обучающие данные. Вот основные методы регуляризации: 🟠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, но выключаются не нейроны, а их веса. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!