Non-negative sparse coding is a method for decomposing multivariate data into non-negative sparse components. This paper motivates the use of non-negative sparse coding by comparing it to standard sparse coding and non-negative matrix factorization (NMF). It introduces a multiplicative algorithm for finding the optimal values of the hidden components and demonstrates how basis vectors can be learned from observed data. The effectiveness of the method is demonstrated through simulations, showing that non-negative sparse coding can effectively learn parts-based representations from non-negative data. The paper also discusses the relationship between non-negative sparse coding and other methods, such as independent component analysis (ICA) and NMF, and provides a detailed proof of the algorithm's convergence.Non-negative sparse coding is a method for decomposing multivariate data into non-negative sparse components. This paper motivates the use of non-negative sparse coding by comparing it to standard sparse coding and non-negative matrix factorization (NMF). It introduces a multiplicative algorithm for finding the optimal values of the hidden components and demonstrates how basis vectors can be learned from observed data. The effectiveness of the method is demonstrated through simulations, showing that non-negative sparse coding can effectively learn parts-based representations from non-negative data. The paper also discusses the relationship between non-negative sparse coding and other methods, such as independent component analysis (ICA) and NMF, and provides a detailed proof of the algorithm's convergence.