What is Independent Component Analysis (ICA), and how is it distinguished from PCA?

ICA is a specialized dimensionality reduction technique that is used for finding independent components within a multivariate signal. It relies on the assumption that the hidden components are independent of each other and non-normally distributed, where the latter comes into play in the mathematical optimization for finding the individual components.

A fictitious but canonical use case of ICA would be distinguishing individual voices in a loud party setting, in which to a distant bystander, the sound would be a cacophony of indistinguishable voices. ICA is specifically used to separate components out of higher-dimensional data rather than simply reduce the dimensionality like PCA.