Jaka jest różnica między klasyfikatorem SGD a regresją logistyczną?

W moim rozumieniu klasyfikator SGD i regresja logistyczna wydają się podobne. Klasyfikator SGD z stratą = „log” implementuje regresję logistyczną, a strata = „zawias” implementuje liniową SVM. Rozumiem również, że regresja logistyczna używa gradientu zstępującego jako funkcji optymalizacji, a SGD wykorzystuje stochastyczne zejście gradientowe, które zbiegają się znacznie szybciej. Ale którego z dwóch algorytmów użyć w jakich scenariuszach? Ponadto, w jaki sposób SGD i regresja logistyczna są podobne i czym się różnią?

Komentarze

Odpowiedz

Witamy w SE: Data Science.

SGD to metoda optymalizacji, podczas gdy regresja logistyczna (LR) to algorytm / model uczenia maszynowego. Możesz pomyśleć o tym, że model uczenia maszynowego definiuje funkcję straty, a metoda optymalizacji minimalizuje / maksymalizuje ją.

Niektóre biblioteki systemów uczących się mogą wprawiać użytkowników w zakłopotanie co do tych dwóch koncepcji. Na przykład w scikit-learn istnieje model o nazwie SGDClassifier, który może wprowadzić niektórych użytkowników w błąd, sądząc, że SGD jest klasyfikatorem. Ale nie, to „klasyfikator liniowy zoptymalizowany przez SGD.

Ogólnie SGD może być używany w szerokim zakresie algorytmów uczenia maszynowego, nie tylko w modelach LR czy liniowych. LR może wykorzystywać inne optymalizatory, takie jak L-BFGS, sprzężone metody gradientowe lub metody podobne do Newtona.

Komentarze

  • Jeśli napiszę clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='hinge', random_state=42) jest implementacją Linear SVM i jeśli napiszę clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='log', random_state=42). Jest to implementacja regresji logistycznej. Czy mam rację?
  • @AkashDubey Tak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *