The basic difference s that, SVD is dimension reduction technique and SVM is a classification technique.
SVM is one of the most famous and highly accurate machine learning algorithm. For classification it makes a hyper-plane and separate the different class as a cluster.
SVD works on the basis of matrix operation using decomposition.
The SVM is a capable learning classifier capable of training polynomials, neural networks and RBFs. Singular Value Decomposition (SVD) are used for feature extraction and while SVM for classification.
You may use the Python 3.5 (Jupyter notebook from Anoconda navigator) for implementation purpose.
Adding a little bit to the previous answers that correctly pointed out the different usage of SVD and SVM:
- SVD is an *unsupervised* method finding the directions and the components into which the data can be decomposed, ranking them using the singular value.
In some special cases, SVD provides the same answer of PCA, that is projecting the data along directions ranked by the data variance along them.
SVD, providing a ranking, can be used to reduce the dimensionality of the data space by setting a limit to the number of components used to represent the data.
- SVM is a *supervised* method learning the hypersurface that separate the data space considering the label (class) of the examples. Among all possible hypersurfaces solving the problem, SVM chooses the one maximising the margin, that is (loosely speaking) the distance between the hypersurface and the support vectors (the data closest to the separating hypersurface).
The appeal of SVM is that instead of estimating an arbitrary hypersface in the data domain, it estimates an optimal hyperplane in a higher dimensional space where the data are supposed to be linearly separable.