本文整理自论文《Non-contact, automated cardiac pulse measurements using video imaging and blind source separation》及ICA相关资料。
独立成分分析(Independent Component Analysis,ICA),是一种数据驱动的信号分析方法,常用于盲源分离(Blind Source Separation,BSS)。
盲源分离是指在信号的理论模型和源信号无法精确获知的情况下,如何从混迭信号(观测信号)中分离出各源信号的过程。盲源分离和盲辨识是盲信号处理的两大类型。盲源分离的目的是求得源信号的最佳估计,盲辨识的目的是求得传输通道的混合矩阵。
最典型的盲源分离问题是鸡尾酒会问题(Cocktail Party Problem):给定混合信号,分离出鸡尾酒会中同时说话的每个人的独立信号。
ICA原理
预处理
在进行ICA之前通常对数据进行去均值和白化,使用PCA处理,以保证混合矩阵为正交矩阵,且可将采集信号数目降到与源信号数目相等。
算法目标
源信号 s = [ s 1 , s 2 , . . . , s i ] T s=[s_{1},s_{2},...,s_{i}]^{T} s=[s1,s2,...,si]T经过线性组合得到采集信号 x = [ x 1 , x 2 , . . . , x i ] T x=[x_{1},x_{2},...,x_{i}]^{T} x=[x1,x2,...,xi]T,其混合矩阵记为 W W W,即 x = W s x=Ws x=Ws。假设 W W W为满秩矩阵,则存在 W ′ = W − 1 W'=W^{-1} W′=W−1使 s = W ′ x s=W'x s