Mi a különbség az SGD osztályozó és a Logisitc regresszió között?

Megértésem szerint az SGD osztályozó és a logisztikai regresszió hasonlónak tűnik. A veszteség = “log” típusú SGD osztályozó végrehajtja a logisztikai regressziót és a veszteség = “csukló” a lineáris SVM-et. Azt is megértem, hogy a logisztikai regresszió gradiens süllyedést használ optimalizálási funkcióként, az SGD pedig sztochasztikus gradiens süllyedést használ, amely sokkal gyorsabban konvergál. De a két algoritmus közül melyiket mely forgatókönyveknél kell használni? Továbbá, hogy az SGD és a Logistic regresszió hasonló és miben különböznek egymástól?

Megjegyzések

Válasz

Üdvözli az SE: Data Science.

Az SGD egy optimalizálási módszer, míg a Logistic Regression (LR) egy gépi tanulási algoritmus / modell. Gondolhat arra, hogy a gépi tanulási modell meghatározza a veszteségfüggvényt, és az optimalizálási módszer minimalizálja / maximalizálja azt.

Egyes gépi tanulási könyvtárak összezavarhatják a felhasználókat a két fogalomban. Például a scikit-learn ban található egy SGDClassifier nevű modell, amely félrevezethet egyes felhasználókat, ha azt gondolják, hogy az SGD osztályozó. De nem, ez az SGD által optimalizált lineáris osztályozó.

Általában az SGD sokféle gépi tanulási algoritmushoz használható, nemcsak LR vagy lineáris modellekhez. És az LR más optimalizálókat is használhat, mint pl. L-BFGS, konjugált gradiens vagy Newton-szerű módszerek.

Megjegyzések

  • Tehát, ha írok clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='hinge', random_state=42) a Linear SVM implementációja, és ha írok clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='log', random_state=42). Ez a Logisitic regresszió megvalósítása. Jól gondolom?
  • @AkashDubey Igen

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük