An improved gradient projection-based decomposition technique for support vector machines