Semi-Supervised Dictionary Learning via Structural Sparse Preserving