1. A method for feature transformation of a data set comprising: receiving a data set including original feature samples with corresponding class labels; splitting the data set into a direction optimization set and a training set; using the direction optimization set to calculate an optimum transformation vector that maximizes inter-class separability and minimizes intra-class variance of the feature samples with respect to corresponding class labels; using the optimum transformation vector to transform the rest of the original feature samples of the data set to new feature samples with enhanced discriminative characteristics; and training a classifier using the new feature samples, wherein the method is performed by one or more processors.