K-walks: clustering gene-expression data using a K-means clustering algorithm optimised by random walks