revise SVM by using linear, rbf and polynomial kernels