# Non-linear transformations input dataset for support vector machines

I have two classes (A,B) that I would like to classify using a SVM. Say that I have a class C and a function f. Can I do this:

A' =  f(A,C) = |A-C|
B' =  f(B,C) = |B-C|


and then perform the classification on A' and B' instead? In the context of my problem A and B are classes where elements are vectors. The f function measures the Mahalanobis distance of each vector with respect to the distribution imposed by C.

• SVMs support binary classification by nature. Your classes can't be vectors. You're converting vectors to a scalar norm of some vector difference. These still aren't binary classes. I don't think SVM is the tool you want; maybe you can clarify the problem? Nov 15, 2014 at 14:22
• Each element in classes A and B are vectors of a given dimension d. In other words you have d features to consider to classify a vector as A or B. Nov 15, 2014 at 21:40
• A class is like a label that can apply to a feature vector. It makes sense to say a vector can have label A but then what does the notation |A-C| mean? the norm of the difference of vectors that are in class A / C, is a scalar, and you say the scalar belongs to class A'? Nov 15, 2014 at 22:00
• What I meant by |A-C| is actually the Mahalanobis transformation where I calculate the covariance and centroid of C and then I use those two parameters to transform my classes A and B into A' and B' which are the respective multivariate distances. Effectively now every element of A' and B' are scalars. Nov 16, 2014 at 0:46
• Basically I want to know if this is a valid transformation in the sense that I am not informing the algorithm (double dipping?) because I know that B is closer to C than A. Nov 16, 2014 at 0:48