Care este diferența dintre clasificatorul SGD și regresia Logisitc?

După părerea mea, clasificatorul SGD și regresia logistică par similare. Un clasificator SGD cu loss = „log” implementează regresia logistică și loss = „hinge” implementează SVM liniar. Înțeleg, de asemenea, că regresia logistică folosește coborârea gradientului ca funcție de optimizare și SGD folosește coborârea gradientului stochastic care converge mult mai repede. Dar care dintre cei doi algoritmi să utilizeze în ce scenarii? De asemenea, în ce fel sunt similare SGD și regresia logistică și în ce fel sunt diferite?

Comentarii

Răspuns

Bun venit la SE: Data Science.

SGD este o metodă de optimizare, în timp ce regresia logistică (LR) este un algoritm / model de învățare automată. Vă puteți gândi că un model de învățare automată definește o funcție de pierdere, iar metoda de optimizare o minimizează / maximizează.

Unele biblioteci de învățare automată ar putea face utilizatorii confuzi cu privire la cele două concepte. De exemplu, în scikit-learn există un model numit SGDClassifier care ar putea induce în eroare unii utilizatori să creadă că SGD este un clasificator. Dar nu, acel „clasificator liniar optimizat de SGD.

În general, SGD poate fi utilizat pentru o gamă largă de algoritmi de învățare automată, nu numai pentru modelele LR sau liniare. Și LR poate folosi alte optimizatoare, cum ar fi L-BFGS, gradient conjugat sau metode asemănătoare Newtonului.

Comentarii

  • Deci, dacă scriu clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='hinge', random_state=42) este o implementare a Linear SVM și dacă scriu clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='log', random_state=42). Este o implementare a regresiei logizitice. Am dreptate?
  • @AkashDubey Da

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *