本站所有资源均为高质量资源,各种姿势下载。
应用背景
该算法是基于定点递推算法得到的,它对任何类型的数据都适用。该算法的出现使得运用ICA分析高维数据成为可能。又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyvärinen等人提出来的。FastICA算法是一种快速寻优迭代算法,采用了批处理的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍可称之为是一种神经网络算法。
FastICA算法有基于四阶累积量、基于似然最大、基于负熵最大等形式。此外,该算法采用了定点迭代的优化算法,使得收敛更加快速、稳健。FastICA算法通过三步完成:首先,对观测信号去均值;然后,对去均值后的观测信号白化处理;前两步可以看成是对观测信号的预处理,通过去均值和白化可以简化ICA算法。最后,独立分量提取算法及实现流程见流程图。
关键技术
1)对观测信号去均值是ICA算法最基本和最必须的预处理步骤,其处理过程是从观测中减去信号的均值向量,使得观测信号成为零均值变量。该预处理只是为了简化 ICA算法,并不意味着均值不能估计出来。
2)一般情况下所获得的数据都具有相关性,通常都要求对数据进行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相关性,从而简化后续独立分量的提取过程。通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性较好,有更好的稳定性。
3)对多个独立分量的估计,需要将最大非高斯性的方法加以扩展。对应于不同独立分量的向量在白化空间中应是正交的,算法第6步用压缩正交化保证分离出来的是不同的信号,但是该方法的缺点是第1个向量的估计误差会累计到随后向量的估计上。
FastICA算法的方法输出向量,在排列顺序的时候可能出现颠倒和输出信号幅度发生变化。这主要是由于ICA的算法存在2个内在的不确定性导致的:
1)输出向量排列顺序的不确定性,即无法确定所提取的信号对应原始信号源的哪一个分量;
2)输出信号幅度的不确定性,即无法恢复到信号源的真实幅度。
但是由于主要信息都包含在输出信号中,这2种不确定性并不影响其应用。为了更好的理解FastICA算法,我们可以对其进行如下的详细解释:
1)对于一个m个传感器的观测信号矩阵X,首先进行去均值处理,得到0均值的观测信号矩阵X0;
2)然后,进行白化处理,即将X0转换为Y,Y=WX0,其中,W是白化矩阵。
3)接下来,对矩阵Y进行独立分量分析,得到矩阵A,其中,A=W^-1。
通过以上三个步骤,我们可以得到矩阵A,其中每一列都是一个独立分量,这些分量是互相独立的,且包含了原始信号的全部信息。因此,FastICA算法在信号处理领域有着广泛的应用前景。