Регрессия: регуляризация

Практика вопросов интервью по машинному обучению на Python

Lisa Stuart

Data Scientist

Алгоритмы регуляризации

  • Гребневая регрессия (Ridge)
  • Лассо-регрессия (Lasso)
  • ElasticNet-регрессия
Практика вопросов интервью по машинному обучению на Python

Метод наименьших квадратов

График МНК

Формула МНК

1 https://en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression
Практика вопросов интервью по машинному обучению на Python

Функция потерь Ridge

График гребневой регрессии

Формула гребневой регрессии

1 https://gerardnico.com/data_mining/ridge_regression#tuning_parameter_math_lambdamath
Практика вопросов интервью по машинному обучению на Python

Функция потерь Lasso

График лассо-регрессии

Формула лассо-регрессии

1 https://stats.stackexchange.com/questions/155192/why-discrepancy-between-lasso-and-randomforest
Практика вопросов интервью по машинному обучению на Python

Ridge против Lasso

Регуляризация L1 (Lasso) L2 (Ridge)
штрафует сумму модулей коэффициентов сумму квадратов коэффициентов
решения разреженные неразреженные
число решений несколько одно
отбор признаков да нет
устойчивость к выбросам? да нет
сложные паттерны? нет да
Практика вопросов интервью по машинному обучению на Python

ElasticNet

Формула ElasticNet

Практика вопросов интервью по машинному обучению на Python

Регуляризация на данных Boston Housing

Признаки CHAS NOX RM
Оценки коэффициентов 2.7 -17.8 3.8
Регуляризованные оценки коэффициентов 0 0 0.95
Практика вопросов интервью по машинному обучению на Python

Функции регуляризации

# Lasso estimator 
sklearn.linear_model.Lasso

# Lasso estimator with cross-validation
sklearn.linear_model.LassoCV

# Ridge estimator
sklearn.linear_model.Ridge

# Ridge estimator with cross-validation
sklearn.linear_model.RidgeCV

# ElasticNet estimator
sklearn.linear_model.ElasticNet
# ElasticNet estimator with cross-validation
sklearn.linear_model.ElasticNetCV

# Train/test split
sklearn.model_selection.train_test_split

# Mean squared error
sklearn.metrics.mean_squared_error(y_test, 
                           predict(X_test))
# Best regularization parameter
mod_cv.alpha_

# Array of log values
alphas=np.logspace(-6, 6, 13)
Практика вопросов интервью по машинному обучению на Python

Давайте потренируемся!

Практика вопросов интервью по машинному обучению на Python

Preparing Video For Download...