Regresja: regularyzacja

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Lisa Stuart

Data Scientist

Algorytmy regularyzacji

  • Regresja Ridge
  • Regresja Lasso
  • Regresja ElasticNet
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Metoda najmniejszych kwadratów

Wykres MNK

Wzór MNK

1 https://en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Funkcja straty Ridge

Wykres regresji Ridge

Wzór regresji Ridge

1 https://gerardnico.com/data_mining/ridge_regression#tuning_parameter_math_lambdamath
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Funkcja straty Lasso

Wykres regresji Lasso

Wzór regresji Lasso

1 https://stats.stackexchange.com/questions/155192/why-discrepancy-between-lasso-and-randomforest
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Ridge vs Lasso

Regularyzacja L1 (Lasso) L2 (Ridge)
kara za sumę wartości bezwzględnych współczynników sumę kwadratów współczynników
rozwiązania rzadkie nierzadkie
liczba rozwiązań wiele jedno
selekcja cech tak nie
odporność na wartości odstające? tak nie
złożone wzorce? nie tak
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

ElasticNet

Wzór ElasticNet

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Regularyzacja na danych Boston housing

Cechy CHAS NOX RM
Estymaty współczynników 2.7 -17.8 3.8
Estymaty po regularyzacji 0 0 0.95
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Funkcje regularyzacji

# 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)
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Czas na ćwiczenia!

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Preparing Video For Download...