Linear Time Random Embedding