Semi-supervised bi-directional dimensionality reduction for face recognition