Voiced-based age detection and gender recognition are important problems in the telephone speech processing to investigate the identity of an individual. In this paper, a new gender and age recognition system is introduced based on the generative incoherent models learned using sparse non-negative matrix factorization and the atom correction step as a post-processing method. The proposed classification algorithm includes training step to provide the appropriate trained atoms for each data class and also the test phase to assess the classification performance. Since the classification accuracy depends highly on the selected features, the Mel-frequency cepstral coefficients are employed to train basis for the better representation of the voice structure. These bases are learned over the data of male and female speakers using non-negative matrix factorization with the sparsity constraint. Then, atom correction is carried out using an energy-based algorithm to decrease the coherence between different categories of the trained dictionaries. In the sparse representation of each data class, the atoms related to other sets with the highest energy are replaced with the lowest energy bases if the reconstruction error does not exceed from a specified limit. The experimental results show that the proposed algorithm performs better than the earlier methods in this context especially in the presence of background noise.