Was ist der Unterschied zwischen dem SGD-Klassifikator und der Logisitc-Regression?

Nach meinem Verständnis scheinen der SGD-Klassifikator und die logistische Regression ähnlich zu sein. Ein SGD-Klassifikator mit loss = „log“ implementiert die logistische Regression und loss = „hing“ implementiert die lineare SVM. Ich verstehe auch, dass die logistische Regression den Gradientenabstieg als Optimierungsfunktion verwendet und SGD den stochastischen Gradientenabstieg verwendet, der viel schneller konvergiert. Aber welcher der beiden Algorithmen soll in welchen Szenarien verwendet werden? Wie ähneln sich SGD und logistische Regression und wie unterscheiden sie sich?

Kommentare

Antwort

Willkommen bei SE: Data Science.

SGD ist eine Optimierungsmethode, während Logistic Regression (LR) ein Algorithmus / Modell für maschinelles Lernen ist. Sie können sich vorstellen, dass ein Modell für maschinelles Lernen eine Verlustfunktion definiert und durch die Optimierungsmethode minimiert / maximiert wird.

Einige Bibliotheken für maschinelles Lernen können Benutzer über die beiden Konzepte verwirren. Zum Beispiel gibt es in scikit-learn ein Modell namens SGDClassifier, das einige Benutzer irreführen könnte, SGD als Klassifikator zu betrachten. Aber nein, das ist ein linearer Klassifikator, der von der SGD optimiert wurde.

Im Allgemeinen kann SGD für eine Vielzahl von Algorithmen für maschinelles Lernen verwendet werden, nicht nur für LR- oder lineare Modelle. Und LR kann andere Optimierer wie verwenden L-BFGS, konjugierter Gradient oder Newton-ähnliche Methoden.

Kommentare

  • Wenn ich also clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='hinge', random_state=42) es ist eine Implementierung von linearer SVM und wenn ich clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='log', random_state=42) schreibe. Es ist eine Implementierung der logistischen Regression. Habe ich recht?
  • @AkashDubey Ja

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.