Qual é a diferença entre o classificador SGD e a regressão Logisitc?

No meu entendimento, o classificador SGD e a regressão logística parecem semelhantes. Um classificador SGD com loss = “log” implementa regressão logística e loss = “hinge” implementa Linear SVM. Eu também entendo que a regressão logística usa gradiente descendente como função de otimização e SGD usa descida gradiente estocástica que converge muito mais rápido. Mas qual dos dois algoritmos usar em quais cenários? Além disso, como o SGD e a regressão logística são semelhantes e como são diferentes?

Comentários

Resposta

Bem-vindo ao SE: Data Science.

SGD é um método de otimização, enquanto a regressão logística (LR) é um algoritmo / modelo de aprendizado de máquina. Você pode pensar que um modelo de aprendizado de máquina define uma função de perda e o método de otimização a minimiza / maximiza.

Algumas bibliotecas de aprendizado de máquina podem confundir os usuários sobre os dois conceitos. Por exemplo, em scikit-learn , há um modelo chamado SGDClassifier que pode enganar alguns usuários a pensar que SGD é um classificador. Mas não, esse é um classificador linear otimizado pelo SGD.

Em geral, o SGD pode ser usado para uma ampla gama de algoritmos de aprendizado de máquina, não apenas LR ou modelos lineares. E o LR pode usar outros otimizadores como L-BFGS, gradiente conjugado ou métodos semelhantes a Newton.

Comentários

  • Portanto, se eu escrever clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='hinge', random_state=42) é uma implementação de Linear SVM e se eu escrever clf = SGDClassifier( class_weight='balanced', alpha=i, penalty='l2', loss='log', random_state=42). É uma implementação de regressão logística. Estou certo?
  • @AkashDubey Sim

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *