Logistic regression और regularization

Python में Linear Classifiers

Michael (Mike) Gelbart

Instructor, The University of British Columbia

Regularized logistic regression

Python में Linear Classifiers

Regularized logistic regression

Python में Linear Classifiers

Regularization training accuracy को कैसे प्रभावित करता है?

lr_weak_reg = LogisticRegression(C=100)
lr_strong_reg = LogisticRegression(C=0.01)

lr_weak_reg.fit(X_train, y_train) lr_strong_reg.fit(X_train, y_train)
lr_weak_reg.score(X_train, y_train) lr_strong_reg.score(X_train, y_train)
1.0
0.92

$\text{regularized loss = original loss + large coefficient penalty}$

  • अधिक regularization: training accuracy कम
Python में Linear Classifiers

Regularization test accuracy को कैसे प्रभावित करता है?

lr_weak_reg.score(X_test, y_test)
0.86
lr_strong_reg.score(X_test, y_test)
0.88

$\text{regularized loss = original loss + large coefficient penalty}$

  • अधिक regularization: training accuracy कम
  • अधिक regularization: (लगभग हमेशा) test accuracy ज्यादा
Python में Linear Classifiers

L1 बनाम L2 regularization

  • Lasso = linear regression के साथ L1 regularization
  • Ridge = linear regression के साथ L2 regularization
  • अन्य मॉडलों जैसे logistic regression के लिए हम बस L1, L2, आदि कहते हैं.
lr_L1 = LogisticRegression(solver='liblinear', penalty='l1')
lr_L2 = LogisticRegression() # penalty='l2' by default

lr_L1.fit(X_train, y_train)
lr_L2.fit(X_train, y_train)
plt.plot(lr_L1.coef_.flatten())
plt.plot(lr_L2.coef_.flatten())
Python में Linear Classifiers

L2 बनाम L1 regularization

Python में Linear Classifiers

अभ्यास करते हैं!

Python में Linear Classifiers

Preparing Video For Download...