Applying kernel function to input data before giving it to algorithm I have gene expression data, I do dimensionality reduction and clustering with self organizing maps, but self organizing maps do not perform well with my data.
I want to map my data to feature space using different kernel functions and then give this data as input to self organizing maps to compare their performance.
My input data is of dimension $m\times n$, and upon applying a given kernel it becomes a square matrix, which I don't want to.
How can I map my data to feature space without changing dimension of my input matrix?
 A: In general, kernels are not interpretable in the original feature space. The m by m gram/covariance matrix computed in the problem statement is the explicit mapping of the kernel function.
Each element represents the i,j distance between points i,j in the original feature space. This operation does not have an inverse to the original feature space. Each feature in kernel space represents the distance to each observation in your original space.
Finding a point in the original feature space is geometrically equivalent to triangulation in the basis function of your kernel. For an RBF kernel this is finding the point of intersection for m circles of radius given by the weight of the kernel feature, where each circle has an origin at the mth observation.
Depending on the goal of the analysis, k-means cluster centers might suffice.
A: Most of the kernels (assuming you mean kernel trick as in SVM) used are of an infinite dimension, you will have trouble storing them in our puny not-really-a-turning-machine-no-infinite-memory computers. 
You will need to use an approximate version of the feature vectors, such as those obtained using Nystrome's method or Random Fourier Features. 
