Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between SVD and SVM

I know the abbreviations SVM(Support Vector Machines) and SVD(Singular Value Decomposition) and that both SVM, SVD are used in recommendation engines.

In lay man's terms what is the difference between these two algorithms and how would they impact my recommendation engine.

like image 383
Gokul N K Avatar asked Nov 23 '12 14:11

Gokul N K


1 Answers

SVD and SVM solve different problems, no matter how they work internally.

SVD is a dimensionality reduction technique, which basically densifies your data. In general machine learning, SVD is often used as a preprocessing step. In recommendation, there are many matrix/tensor factorization techniques that resemble SVD, but are often optimizing for different objective functions, e.g. they include a regularization term in order to prevent overfitting (to generalize better from the training data to the actual prediction). They are often called SVD or contain the "SVD" in their name, but they are not exactly what a mathematician understands as SVD.

SVMs are a kind of classifier. In recommender systems, you could use SVMs to train one classifier per user (or user group), which determines, based on the attribute of a product, whether the user will buy the product or not. Of course you could also use other classifiers, like naive bayes, logistic regression, or decision trees, for that task.

like image 74
zenog Avatar answered Oct 11 '22 09:10

zenog