Lily I want to understand what a Support Vector Machine (SVM) is in machine learning. How does it classify data by finding the optimal decision boundary? Can someone also explain its advantages and common use cases?