My colleague mentioned that a data science project is using SGD classifier.
So I started reading about GD/SGD and came across a nice article about Text classification using SVM and GD.
In the end of the article the author mentions:
We begin with a bunch of documents to train on. We then represent each documents as numerical vectors, and you can choose to split them into n-grams and weigh these n-grams with TF-IDF. Now that we have a numerical representation, we can give the program training data and make it guess each time. Based on how wrong the program was, the program adjusts to its mistakes to make better prediction the next time using Gradient Descent. It keeps track of its learning using SVMs and make predictions with the SVM model by “plotting” the new datapoint in the graph and seeing if it is on the right or left by the decision boundary.
The article does not mention about SGD, but from internet research I understand that SGD is a variation of GD where-in the parameter is tweaked immediately at each iteration, rather than at the end of the entire training set.
So to me it appears that SVM is the actual classifier and GD (or SGD) is the function that tells the classifier how correctly it has done the prediction based on which the SVM classifier improves itself.
Coming back to my original question: Is my understanding right that SGD is not the classifer?