FastICA

快速独立成分分析算法
订阅
订阅
0有用+1
0
FastICA是快速独立成分分析算法,基于负熵最大化准则和定点迭代原理,通过白化预处理实现混合信号中独立源成分的快速分离 [1] [3] [5]。该算法无需步长参数选择,具有收敛速度快、适应非高斯信号的特点,广泛应用于功耗分析去噪、混沌信号处理、振动能量特征提取、轴承故障诊断、脑电信号去噪及电子健康记录分析等领域 [1-2] [4] [10] [20-21]
FastICA算法通过修正白化矩阵、选择特定初始分离矩阵等方式优化分离性能 [4] [8] [17]。改进的牛顿迭代版本(包括三阶和五阶收敛形式)提升了分离效率 [8] [13],而引入松弛因子、粒子群优化共轭梯度法最速下降法及差商法等策略用于优化初始值或改进迭代过程 [6] [10-12] [14]。与Informax算法相比,FastICA在收敛速度、分离精度和稳定性上表现更优 [18] [23]。该方法被应用于麦克风阵列语音增强、轨道车辆走行部振动分析、摄像测量误差源分离、点蚀声发射信号分离、多径时延估计、电流传感器相位差测量及在DSP平台实现等工程场景 [2] [5] [7] [9] [16-17] [19] [22],其分离结果存在分量排列与幅值不确定性,但核心信息保持完整 [1] [3]
中文名
快速独立成分分析
外文名
FastICA
别    名
固定点算法
优    点
收敛速度快
广泛应用
信号处理领域

简介

播报
编辑
近几年出现了一种快速ICA算法(Fast ICA),该算法是基于定点递推算法得到的,它对任何类型的数据都适用,同时它的存在对运用ICA分析高维的数据成为可能。又称固定点(Fixe杠捆墓d-Point)算法,是由芬兰赫尔辛基大学Hyvärinen等人提出来的。是一种快速寻优迭代算法,与普通的神经网络算法不同的是这种算法采用了批处理的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍可称之为是一种神经网络算法。FastICA算法有基于四阶尝档累辣颈热积量、基于似然最大、基于负熵最大等形式。其中,碑捆组基于负熵最大化的FastICA算法是其最核心和最常用的形式,该算法基于非高斯性最大化原理,利用负熵作为衡量信号分离效果的标准,通过最大化分离信号的非高斯性来实现源信判篮号的快速分离 [15-17]。此外,该算法拜桨采用了定点迭代的优化算法,使得收敛更加快速、稳健。与Informax算法等基于梯度下降的算法相比,FastICA算法采用批处理模式和定点迭代寻优,通常无需选择步长参数,具有收敛速度快、鲁棒性好等特点,因此在信号处理、图像分析等多个领域得到广泛应用 [15] [18] [22]寒趋旬糠验射求。

发展历程

播报
编辑
FastICA算法自提出以来,其改进研究持续不断,主要围绕提升收敛速度、分离精度、稳定性以及对噪声和初始值的鲁棒性展开 [10-11]。2007年,FastICA算法被应用于脑电信号的去噪,模拟结果表明该方法能够有效去除脑电信号中的心电干扰。2013年,针对含噪盲源分离问题,将一种稳健的含噪条件下的白化预处理方法应用于FastICA算法,提升了算法在含噪环境中的性能。2014年,针对高阶收敛的FastICA算法对初始值选择敏感的问题,研究将松弛因子引入高阶收敛的牛顿迭代法中,以改善收敛效果 [10]
2015年,上海交通大学的研究提出了通过共轭梯度法改进基于峭度的FastICA算法以解决收敛不稳定问题,以及通过最速下降法和差商法改进基于负熵的FastICA算法以克服对初始值敏感和计算复杂的问题,提升了语音信号分离的稳定性和速度 [11]。2018年,针对源信号数目多导致迭代次数高、收敛慢的问题,提出了基于有理多项式非线性函数的FastICA算法以改善收敛性能。2019年,多项改进被提出,包括引入松弛因子优化解混矩阵初始值以提升收敛平稳性和速度;将算法应用于电力线通信OFDM信号分离;以及基于峭度指标改进算法用于多光谱图像的特征提取 [10]
2020年,改进的FastICA算法被应用于星基广播式自动相关监视(ADS-B)系统的低信噪比信号分离。2022年,针对观测信号中噪声导致分离效果不理想的问题,提出了将几何运算(GA)方法与FastICA算法结合的GA_FastICA算法,用于语音分离 [10]。后续研究持续对算法的正交化方法、与小波阈值去噪相结合、使用阻尼牛顿法代替原始牛顿迭代法等方面进行改进,以进一步提升算法的收敛速度、分离精度和全局稳定性 [18]

核心技术

播报
编辑
FastICA算法基于非高斯性最大化原理,从观测信号中分离出独立分量。FastICA算法利用熵的修正形式——负熵作为评价随机变量非高斯性的度量。当负熵达到最大值时,分离信号的非高斯性也达到最大,表明此时已完成各独立分量的分离,故可用负熵作为分离判别准则 [15]
FastICA算法的核心步骤可概括为:中心化(去均值)和白化处理(去除相关性并归一化方差)。前两步为预处理,旨在简化后续的独立分量提取过程。其中,白化处理可改善算法的收敛性和稳定性 [15]。改进算法中对白化矩阵进行修正(如考虑噪声影响),有助于分离强度较弱的信号分量,提升算法在低信噪比条件下的性能。最后,基于负熵最大化的定点迭代求解分离矩阵 [15] [17]
迭代求解过程中,FastICA算法采用拟牛顿迭代法等定点优化方法,以最大化负熵为目标函数,依次提取独立分量 [17]。为估计多个分量并保证输出分量相互独立,需进行正交化处理(如对称正交化),该方法能使算法收敛更快,分离精度更高,且稳定性好 [18]
与其他ICA算法(如Informax)相比,FastICA算法具有收敛速度快、无需选择学习步长参数、计算简单、内存要求少等优点 [22]。但其也存在对初始值选择较为敏感、可能陷入局部极值、以及分离结果存在顺序和幅度不确定性等问题。针对这些缺点,后续研究提出了多种改进方法 [18]

核心团队

播报
编辑
中国科学院半导体研究所神经网络实验室(龚国良鲁华祥等)在2012年将FastICA应用于电流传感器相位差测量,并提出了用评价函数优化结果的方法 [19]上海交通大学的李智明在2015年对FastICA算法在混合语音盲分离中的应用进行了研究 [11]湖南师范大学的张杰在2013年对FastICA算法在语音信号分离中的应用进行了研究 [12]

重要事件

播报
编辑
2025年,FastICA算法被应用于电子健康记录分析,用于实现线性非高斯无环模型分解,以无监督方式发现疾病特征。研究人员将电子健康记录中的变量转化为连续时间曲线,然后使用FastICA进行分解 [21]
FastICA算法在ADSP_BF533数字信号处理器平台上成功实现,用于语音信号的盲源分离,验证了其在嵌入式系统中的实用性。在该平台上实现时,通过多次QR分解进行白化处理中的特征值分解,分离后的信号时域图显示分离效果良好 [22]

优点

播报
编辑
较普通的ICA算法,它具有以下优点:
(1)收敛速度快。在 ICA数据模型的假设下,FastICA算法具有超线性收敛速度 [22],而普通的ICA算法收敛速度仅仅是线性的。
(2)和基于梯度的算法相比,快速定点算法不需要选择步长参数,说明该算法更加易于使用。
(3)能通过使用一个非线性函数g便能直接找出超高斯和亚高斯分布的混合信号中的独立分量 [18]。而对于其他的算法来说,它们首先必须进行概率密度分布函数的估计,然后才相应地进行非线性的选择,因而必须选择非线性。
(4)FastICA算法的性能能够通过选择一个适当的非线性函数g而使其达到最佳化。特别是能得到最小方差的算法。
(5)独立分量可被逐个估计出来,在探索性数据分析里是非常有用的,这类似于做投影追踪,这在仅需要估计几个(不是全部)独立分量的情况下,能极大地减小计算量。
(6)通过引入松弛因子、约束初始分离矩阵等改进策略,算法的鲁棒性得到增强,对初始值的选择变得不敏感,提高了分离的稳定性 [10] [12] [14] [17]
该算法的上述优点使其在诸多领域得到验证与应用,例如脑电信号去噪、轴承故障诊断、点蚀声发射信号分离、摄像测量误差分离、胎儿心电提取、语音信号分离、多径时延估计等 [10] [15-20] [22]
FastICA算法本质上是一种最小化估计分量互信息的神经网络方法,是利用最大熵原理来近似负熵,并通过一个合适的非线性函数g使其达到最优。这个算法具有很多神经算法里的优点:并行的、分布的、计算简单、要求内存小,并且采用批处理模式进行迭代,整体计算量相对较小 [16-17]。如果要估计多个分量。