\qquad
1 历史背景
\qquad 独立成分分析思想和方法最早源于上世纪八十年代几个法国学者的研究工作,尽管当时他们并没有命名其为ICA;在1986年举行的神经网络计算会议上,法国学者Heraull和Jutten提出了一个基于神经网络模型和Hebb学习准则的方法,来解决盲源分离问题,简称BSS。
\qquad 混合信号是由相互统计独立的源信号混合而成的。这篇文章提出的算法可以解决具有两个源信号混合的盲源分离问题。他们的工作开创了信号处理领域的新纪元,从此盲源分离问题得到了各国学者的广泛重视。但在当时仅为法国学者所研究,在国际上的影响十分有限。八十年代国际神经网络会议上,当时少数有关的文章被埋没于back-propagation网络、Kohonen自组织网络的研究热潮中,并没有引起各国学者足够的重视。
\qquad 进入到上世纪九十年代初期,某些学者开始了这方面的研究,他们扩展了八十年代有关盲分离问题的一些工作,其中,学者Cichochi和Unbehauen提出了当时较为流行的ICA算法。芬兰学者Ojs,Ksrhunen,等提出了“非线性ICA ”方法,然而,直到九十年代中期,仍然只得到少数学者的关注,主要原因是这些学者提出的算法所能解决的问题是相当有限的。
\qquad 事实上,解决盲源分离问题是一个非常困难的任务,因为我们不知道源信号的任何信息,在Heraull和Jutten提出的算法中,只作了两个假设:一个是假设源信号是相互统计独立的,另一个是假设己知源信号的统计分布特征。如果假设源信号是高斯分布的,则很容易看出这个盲源分离问题没有一般的解,因为高斯分布的任何线性混合仍然是高斯。用Heraull-Jutten的网络模型解决盲源分离问题,需要假设源信号是亚高斯信号,也就是说源信号的峰度值要小于高斯信号的峰度值。
\qquad 直到1994年,法国学者Comon,Heraull和Jutten提出的独立成分分析问题给出了一个较为清晰的数学上的框架,从此成为文献中的正式用语。
\qquad ICA获得广泛的关注和持续增长的研究兴趣归功于美国学者Bell和Sejnouski在九十年代发表的里程碑式的论文,他们的方法基于信息极大化原理,这个算法进一步由日本学者和他的合作者用自然梯度完善,其本质上是极大似然估计方法。几年以后,芬兰学者Hyvarrinen和Oja提出Fixed-Point算法(不动点算法),或称为FastICA。因为它对大规模问题特别有效,而得到了广泛的应用。
\qquad 解决标准的独立成分分析只需假设源信号是相互统计独立的,并且满足非高斯性,到目前为止,标准的独立成分分析算法己经较为成熟,国际上使用最为广泛的是信息极大化算法、FastICA算法、扩展的信息极大化算法和ECSI算法等。
\qquad 标准的独立成分分析的数学模型较为简单,不同的独立性判据所导致的算法在形式上也是基本相似的。形势虽然简单,但到目前为止,以实际的生物医学信号处理为例,研究者大量使用的主要还是标准的算法,主要因为它发展的最为成熟,计算稳定,较少有数值问题,并且网上有相关作者编制的通用软件包可用于研究下载在真实数据的处理过程中,可尽量将所面临的问题转化为标准的问题,然后选用有效的算法来解决它因为真实数据往往规模比较大。
\qquad 选择在实算中收敛速度快,计算稳定的算法是相当重要的,最初所希望解决的鸡尾酒会问题是极为复杂和困难的,实际的盲源分离问题又是方方面面,需要将各种实际情况转化为相应的数学模型来解决,现在人们重点研究的是扩展的独立成分分析,其模型是标准的模型的扩展和补充,来进一步满足实际需要,比如具有噪声的独立成分分析阵,稀疏和超完备表示问题,具有时间结构的独立成分分析问题,非线性的独立成分分析和非平稳信号的独立成分分析等。
\qquad 独立成分分析己经被广泛应用于实际数据的处理中,诸如图像处理、语音信号处理、生物医学信号处理、模式识别、数据挖掘、通讯等。
\qquad
2 ICA基本模型
\qquad 独立分量分析(Independent Component Analysis,ICA)是将信号之间的独立性作为分离变量判据的方法。由Comon于1994年首次提出。Comon指出ICA方法可以通过某个对比函数(Contrast Function)的目标函数达到极大值来消除观察信号中的高阶统计关联,实现盲源分离。盲源分离被描述成在不知道传输通道特性的情况下,从传感器或传感器阵列中分离或估计原始源波形的问题。然而,对于某些模型,不能保证估计或提取的信号与源信号具有完全相同的波形,因此有时要求放宽到提取的波形是源信号的失真或滤波版本。
\qquad 设有n个未知的源信号构成一个列向 S ( t ) = [ s 1 ( t ) , s 2 ( t ) , … , s n ( t ) ] T S(t)=\left[s_{1}(t), s_{2}(t), \ldots, s_{n}(t)\right]^{T} S(t)=[s1(t),s2(t),…,sn(t)]T,A是一个m×n维矩阵,称为混合矩阵。设 X ( t ) = [ x 1 ( t ) , x 2 ( t ) , … , x m ( t ) ] T X(t)=\left[x_{1}(t), x_{2}(t), \ldots, x_{m}(t)\right]^{\mathrm{T}} X(t)=[x1(t),x2(t),…,xm(t)]T,是由m个可观察信号构成的列向量,满足下列方程:
X ( t ) = A S ( t ) , m