Podle mého názoru se klasifikátor SGD a logistická regrese jeví podobné. Klasifikátor SGD se ztrátou = „log“ implementuje Logistická regrese a ztráta = „pant“ implementuje Lineární SVM. Chápu také, že logistická regrese používá gradientový sestup jako optimalizační funkci a SGD používá Stochastic gradientní sestup, který konverguje mnohem rychleji. Který z těchto dvou algoritmů se ale v jakých scénářích použít? Jak jsou si SGD a logistická regrese podobné a jak se liší?
Komentáře
- scikit-learn.org/stable/modules/generated/…
odpověď
Vítejte v SE: Data Science.
SGD je optimalizační metoda, zatímco Logistic Regression (LR) je algoritmus / model strojového učení. Můžete si myslet, že model strojového učení definuje funkci ztráty a optimalizační metoda ji minimalizuje / maximalizuje.
Některé knihovny strojového učení mohou uživatele zmást z těchto dvou konceptů. Například v scikit-learn existuje model s názvem SGDClassifier
, který by mohl uvést uživatele v omyl, aby si myslel, že SGD je klasifikátor. Ale ne, to je lineární klasifikátor optimalizovaný SGD.
Obecně lze SGD použít pro širokou škálu algoritmů strojového učení, nejen pro LR nebo lineární modely. A LR může používat další optimalizátory jako L-BFGS, konjugovaný gradient nebo Newtonovy metody.
Komentáře
- Takže pokud napíšu
clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='hinge', random_state=42)
je to implementace lineárního SVM a pokud píšuclf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='log', random_state=42)
. je to implementace logisitické regrese. Mám pravdu? - @AkashDubey ano