ICA使用牛顿迭代法对FastICA算法经行改进
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ICA用牛顿迭代法改进的FastICA算法
ICA算法原理:
独立分量分析(ICA)的过程如下图所示:在信源()st中各分量相互独立的假设下,由观察xt通过结婚系统B把他们分离开来,使输出yt逼近st。
图1-ICA的一般过程
ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如FastICA算法, Infomax算法,最大似然估计算法等。基于统计学的方法主要有二阶累积量、四阶累积量等高阶累积量方法。本实验主要讨论FastICA算法。
1. 数据的预处理
一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程,而且,通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性较好。
若一零均值的随机向量
满足
,
其中:I为单位矩阵,我们称这个向量为白化向量。白化的本质在于去相关,这同主分量分析的目标是一样的。在ICA中,对于为零均值的独立源信号
,
有:
,
且协方差矩阵是单位阵cov( S ) = I,因此,源信号
S( t )是白色的。对观测信号X( t ),我们应该寻找一个线性变换,使X( t )投影到新的子空间后变成白化向量,即:
其中,W0为白化矩阵,Z为白化向量。
利用主分量分析,我们通过计算样本向量得到一个变换
其中U和 分别代表协方差矩阵XC的特征向量矩阵和特征值矩阵。可以证明,线性变换W0满足白化变换的要求。通过正交变换,可以保证
因此,协方差矩阵:
再将
代入
且令
有
由于线性变换A~连接的是两个白色随机矢量Z( t )和S( t ),可以得出A~ 一定是一个正交变换。如果把上式中的Z( t )看作新的观测信号,那么可以说,白化使原来的混合矩阵A简化成一个新的正交矩阵A~。证明也是简单的:
其实正交变换相当于对多维矢量所在的坐标系进行一个旋转。
在多维情况下,混合矩阵A是N*N 的,白化后新的混合矩阵A~
由于是正交矩阵,其自由度降为N*(N-1)/2,所以说白化使得ICA问题的工作量几乎减少了一半。
白化这种常规的方法作为ICA的预处理可以有效地降低问题的复杂度,而且算法简单,用传统的PCA就可完成。用PCA对观测信号进行白化的预处理使得原来所求的解混合矩阵退化成一个正交阵,减少了ICA的工作量。此外,PCA本身具有降维功能,当观测信号的个数大于源信号个数时,经过白化可以自动将观测信号数目降到与源信号维数相同。
2. FastICA算法
FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyvärinen等人提出来的。是一种快速寻优迭代算法,与普通的神经网络算法不同的是这种算法采用了批处理的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍可称之为是一种神经网络算法。FastICA算法有基于峭度、基于似然最大、基于负熵最大等形式,这里,我们介绍基于负熵最大的FastICA算法。它以负熵最大作为一个搜寻方向,可以实现顺序地提取独立源,充分体现了投影追踪(Projection Pursuit)这种传统线性变换的思想。此外,该算法采用了定点迭代的优化算法,使得收敛更加快速、稳健。
因为FastICA算法以负熵最大作为一个搜寻方向,因此先讨论一下负熵判决准则。由信息论理论可知:在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以利用熵来度量非高斯性,常用熵的修正形式,即负熵。根据中心极限定理,若一随机变量X由许多相互独立的随机变量 NiSi,...3,2,1 之和组成,只要iS具有有限的均值和方差,则不论其为何种分布,随机变量X较iS更接近高斯分布。换言之,iS较X的非高斯性更强。因此,在分离过程中,可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性度量达到最大时,则表明已完成对各独立分量的分离。
负熵的定义:
式中,GaussY是一与Y具有相同方差的高斯随机变量,H为随机变量的微分熵
根据信息理论,在具有相同方差的随机变量中,高斯分布的随机变量具有最大的微分熵。当Y具有高斯分布时,Ng(Y) = 0 ;Y的非高斯性越强,其微分熵越小,Ng(Y)值越大,所以Ng(Y)可以作为随机变量Y非高斯性的测度。由于计算微分熵需要知道Y的概率密度分布函数,这显然不切实际,于是采用如下近似公式:
其中,E为均值运算;g为非线性函数,可取 ,或
等非线性函数,这里,通常
我们取。快速ICA学习规则是找一个方向以便具有最大的非高斯性。这里,
非高斯性用式(3.7)给出的负熵的近似值来度量,的方差约束
为1,对于
白化数据而言,这等于约束W的范数为1。FastICA算法的推导如下。首先,XWT 的负熵的最大近似值能通过对
进行优化来获得。根据Kuhn-Tucker条件,在
的约束下
的最优值能在满足下式的点上获得。
以下是牛顿迭代法在生物医学工程专业中的实际应用,其中选择了3篇有关于牛顿迭代法在ICA算法中优化的应用?。
ICA 去除EEG 中眼动伪差和工频干扰方法研究
眼动伪差和工频干扰是临床脑电图(EEG)中常见噪声 , 严重影响其有用信息提取 . 本文尝试采用独立分量分析 (Independent Component Analysis , ICA) 方法分离 EEG 中此类噪声通过对早老性痴呆症( Alzheimer disease , AD)患者临床 EEG 信号( 含眼动伪差和混入工频干扰 , 信噪比仅 0dB)作 ICA 分析 , 比较了最大熵(Infomax)和扩展最大熵(Extended Infomax) ICA 算法的分离效果 , 证实虽然最大熵算法可以分离出眼动慢波 , 但难以消除工频干扰 , 为此需采用扩展的最大熵算法 ; 并知 ICA 方法在极低信噪比时也有较好的抗干扰性 , 且在处理非平稳信号时有好的鲁棒性 ; 文中还结合近似熵 (approximate entropy , ApEn )分析说明利用 ICA 去除干扰后有助于恢复和保持原始 EEG 信号的非线性特征 .
ICA 算法原理
假设存在 N 道相互独立的未知源信号 X =[ x1 , x2 , … ,xN] , 通过某个未知的待检测分析系统后线性叠加为在 M 个传感器上接收到的观测信号 U =[ u1 , u2 , … , uM] . 已经证明在 M ≥N 条件下 , 如果源信号 X 不含一个以上的高斯过程则存在混合矩阵 A , 使得 U =AX . ICA 算法的基本思路在于求解一矩阵 W , 使其作用于观测信号 U 所得估计信号X ′ =WU , 在统计独立的意义下最逼近于未知源信号 X , 即要找到矩阵 W 使得信号 X ′的各个分量尽可能地相互独立 . 为此需建立一个合适的代价函数 , 再采用某种优化算法分离源信号 . 对于 EEG 信号 , 代价函数可取各导联信号间的高阶统计量、互信息熵或最大似然估计 , 优化算法则可采用牛顿迭代法、基于神经网络的自适应算法、随机梯度法、自然梯度法等本文所采用的最大熵( Infomax) 算法是根据常规的随机梯度法求解矩阵 W , 算法的目标判据为独立分量通过非线性环节后信息熵极大 , 其调节公式为ΔW =μ [ ( WT) -1 + (1 +2y)xT] ( 1)由于算法中涉及矩阵求逆 , 故又提出了用自然梯度代替常规梯度的改进算法 , 以避免求逆过程 , 减少计算量 . 如此 , 矩阵调节改为下式ΔW =μ [ (WT ) -1 + ( 1 +2y)xT] WTW =μ [ I + ( 1 -2y)uT] W其计算量和收敛速度均得到较大改进 .但上述算法仅适用于超高斯信号 , 而眼动肌电和工频干扰之类噪声多属亚高斯信号 . 为了使算法能同时适用于亚高斯信号 , 又推导出所谓扩展的最大熵(Extended