1. A computer readable medium having stored thereon one or more sequences of instructions for causing one or more microprocessors to perform the steps for executing a kernel machine for classifying data in a large dataset into two or more classes and for selecting a subset of features within the dataset for processing in the kernel machine, the steps comprising: executing a feature selection algorithm on the dataset to identify the subset of features, wherein the feature selection algorithm comprises an approximation of l 0 -norm minimization to find a smallest number of non-zero elements of a weight vector w, where w=(1,. .. , 1) and w k is given, by repeating the steps of calculating until convergence: min w ⁢  w  2 2 ⁢ ⁢ subject ⁢ ⁢ to : y i ⁡ ( 〈 w , ( x i * w k ) 〉 + b ) ≥ 1 , and w k+1 =w k *ŵ, where Ŵ is the solution of the previous problem; using the kernel machine, processing the subset of features of the dataset to identify a pattern; and generating an output to a printer or display device, the output comprising the identified pattern within the dataset.