EigenNet: A Bayesian hybrid of generative and conditional models for sparse learning