A perturbation based out-of-sample extension framework