Sparse Approximation via Penalty Decomposition Methods