内容发布更新时间 : 2024/11/15 4:06:07星期一 下面是文章的全部内容请认真阅读。
浅谈ICA算法的概念、本质和流程
ICA独立成分分析是近年来出现的一种强有力的数据分析工具(Hyvarinen A,
Karhunen J, Oja E, 2001; Roberts S J, Everson R, 2001)。1994年由Comon给出了ICA的一个较为严格的数学定义,其思想最早是由Heranlt和Jutten于1986年提出来的。
ICA从出现到现在虽然时间不长,然而无论从理论上还是应用上,它正受到越来越多的关注,成为国内外研究的一个热点。
ICA独立成分分析是一种用来从多变量(多维)统计数据里找到隐含的因素或成分的方法,被认为是PCA主成分分析(请参见人工智能(46))和FA因子分析的一种扩展。对于盲源分离问题,ICA是指在只知道混合信号,而不知道源信号、噪声以及混合机制的情况下,分离或近似地分离出源信号的一种分析过程。
ICA算法概念:ICA(IndependentComponent Analysis)独立成分分析是一门统计技术,用于发现存在于随机变量下的隐性因素。ICA为给观测数据定义了一个生成模型。在这个模型中,其认为数据变量是由隐性变量,经一个混合系统线性混合而成,这个混合系统未知。并且假设潜在因素属于非高斯分布、并且相互独立,称之为可观测数据的独立成分。 ICA与PCA相关,但它在发现潜在因素方面效果良好。它可以应用在数字图像、档文数据库、经济指标、心里测量等。
ICA算法本质:ICA是找出构成信号的相互独立部分(不需要正交),对应高阶统计量分析。ICA理论认为用来观测的混合数据阵X是由独立元S经过A线性加权获得。ICA理论的目标就是通过X求得一个分离矩阵W,使得W作用在X上所获得的信号Y是独立源S的最优逼近,该关系可以通过下式表示: Y = WX = WAS , A = inv(W)
ICA相比与PCA更能刻画变量的随机统计特性,且能抑制高斯噪声。
从线性代数的角度去理解,PCA和ICA都是要找到一组基,这组基张成一个特征空间,数据的处理就都需要映射到新空间中去。
ICA理论基础:ICA理论基础如下: 1)标准正交基 2)白化 3)梯度下降
ICA目标函数:ICA的目标函数如下:
样本数据 x 经过参数矩阵 W 线性变换后的结果的L1范数,实际上也就是描述样本数据的特征。
加入标准正交性约束(orthonormality constraint)后,ICA独立成分分析相当于求解如下优化问题:
这就是标准正交ICA的目标函数。与深度学习中的通常情况一样,这个问题没有简单的解析解,因此需要使用梯度下降来求解,而由于标准正交性约束,又需要每次梯度下降迭代之后,将新的基映射回正交基空间中,以此保证正交性约束。
ICA优化参数: 针对ICA的目标函数和约束条件,可以使用梯度下降法,并在梯度下降的每一步中增加投影(projecTIon )步骤,以满足标准正交约束。过程如下:
ICA算法流程:已知信号为S,经混和矩阵变换后的信号为:X=AS。对交叠信号X,求解混矩阵B,使Y=WX各分量尽量相互独立。求解W的过程并不一定是近似A的逆矩阵,Y也不是信号S的近似,而是为了使Y分量之间相互独立。目的是从仅有的观测数据X出发寻找一个解混合矩阵。
常见的方法:InfoMax方法(用神经网络使信息最大化),FasTICA方法(固定点算法,寻求X分量在W上投影(W )*X)的非高斯最大化。
主要算法流程如下:1、预处理部分:1)对X零均值处理2)球化分解(白化) 乘球化矩阵S,使Z=SX各行正交归一,即ZZ=I
2、核心算法部分:寻求解混矩阵U,使Y=UZ,Y各道数据尽可能独立(独立判据函数G)。1)、由于Y独立,各行必正交。且通常取U保持Y各行方差为1,故U是正交变换。2)、所有算法预处理部分相同,以后都设输入的为球化数据z,寻找正交矩阵U,使Y=Uz独
立。
由于独立判据函数G的不同,以及步骤不同,有不同的独立分量分析法。 3、Fast ICA算法思路: 思路:属于探查性投影追踪
目的:输入球化数据z,经过正交阵U处理,输出Y=Uz1)输入球化数据z,经过正交阵某一行向量ui处理(投影),提取出某一独立分量yi。
2)将此分量除去,按次序依次提取下去,得到所有的yi ,以及ui。 3)得到独立的基向量U U=WX
Fast ICA算法程序如下:
funcTIon [Out1, Out2, Out3] =fasTIca(mixedsig, varargin)
úSTICA(mixedsig) estimates theindependent components from given % multidimensional signals. Each row ofmatrix mixedsig is one % observed signal.
% = FASTICA (mixedsig); the rows oficasig contain the % estimated independent components.
% = FASTICA (mixedsig); outputs the estimatedseparating % matrix W and the corresponding mixingmatrix A. mixedsig为输入向量,icasig为求解的基向量。 A即为混合矩阵,可以验证mixedsig=Aicasig。 W即为解混矩阵,可以验证icasig=Wmixedsig。 ICA算法优点:1)收敛速度快。
2)并行和分布计算,要求内存小,易于使用。
3)能通过使用一个非线性函数g便能直接找出任何非高斯分布的独立分量。
4)能够通过选择一个适当的非线性函数g而使其达到最佳化。特别是能得到最小方差的算法。
5)仅需要估计几个(不是全部)独立分量,能极大地减小计算量。