浅谈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^t)*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=uz
1)输入球化数据z,经过正交阵某一行向量ui处理(投影),提取出某一独立分量yi。
2)将此分量除去,按次序依次提取下去,得到所有的yi ,以及ui。
3)得到独立的基向量u
u=wx
fast ica算法程序如下:
function [out1, out2, out3] =fastica(mixedsig, varargin)
%fastica(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=a×icasig。
w即为解混矩阵,可以验证icasig=w×mixedsig。
ica算法优点: 1)收敛速度快。
2)并行和分布计算,要求内存小,易于使用。
3)能通过使用一个非线性函数g便能直接找出任何非高斯分布的独立分量。
4)能够通过选择一个适当的非线性函数g而使其达到最佳化。特别是能得到最小方差的算法。
5)仅需要估计几个(不是全部)独立分量,能极大地减小计算量。
ica算法缺点: 1)特征矩阵w的特征数量(即基向量数量)大于原始数据维度会产生优化方面的困难,并导致训练时间过长;
2)ica模型的目标函数是一个l1范数,在 0 点处不可微,影响了梯度方法的应用。
注:尽管可以通过其他非梯度下降方法避开缺点2),也可以通过使用近似值“平滑” l1 范数的方法来解决,即使用( x2+ε )1/2代替|x|,对l1范数进行平滑,其中 ε 是“平滑参数”(smoothing parameter)。
ica与pca区别: 1)pca是将原始数据降维并提取出不相关的属性,而ica是将原始数据降维并提取出相互独立的属性。
2)pca目的是找到这样一组分量表示,使得重构误差最小,即最能代表原事物的特征。ica的目的是找到这样一组分量表示,使得每个分量最大化独立,能够发现一些隐藏因素。由此可见,ica的条件比pca更强些。
3)ica要求找到最大独立的方向,各个成分是独立的;pca要求找到最大方差的方向,各个成分是正交的。
4)ica认为观测信号是若干个统计独立的分量的线性组合,ica要做的是一个解混过程。而pca是一个信息提取的过程,将原始数据降维,现已成为ica将数据标准化的预处理步骤。
ica算法应用: 从应用角度看,ica应用领域与应用前景都是非常广阔的,目前主要应用于盲源分离、图像处理、语言识别、通信、生物医学信号处理、脑功能成像研究、故障诊断、特征提取、金融时间序列分析和数据挖掘等。
结语: ica是一种常用的数据分析方法,是盲信号分析领域的一个强有力方法,也是求非高斯分布数据隐含因子的方法。从样本-特征角度看,使用ica的前提条件是,认为样本数据由独立非高斯分布的隐含因子产生,隐含因子个数等于特征数,要求的是隐含因子。ica算法已经被广泛应用于盲源分离、图像处理、语言识别、通信、生物医学信号处理、脑功能成像研究、故障诊断、特征提取、金融时间序列分析和数据挖掘等领域。

日本电气株式会社宣布虹膜识别技术在评估中取得了最高匹配精度的成绩
可现场装配无须特殊工具的Han DD模块
调光、闪烁两用插座工作原理及制作
部分韩国民众请求政府否决中国私募基金收购美格纳半导体
用于 IoT 应用的住宅智能家居网关参考设计
浅谈ICA算法的概念、本质和流程
小米mix2、小米note3发布会ppt泄露:外观、配置、价格曝光,性价比依旧,发布会直播地址这里有
无线路由器wan未连接的解决办法
变频器不接负载能运行吗
中国联通公布2018年移动用户全年累计净增数约3087.3万户
论AI的系统厂商vs系统厂商的AI
Google Play 游戏打造设备间的无缝切换体验
光耦的工作特性介绍
南京江北新区集聚集成电路相关企业超400家 今年集成电路产业规模有望突破500亿
SEM扫描电镜中钨灯丝与场发射的区别
伊戈尔披露年报,公司2018年实现营业总收入10.9亿,同比下降5.3%
嵌入式技术需要学习哪里知识
基于铂电阻PT1000和AD7731芯片实现热敏电阻测试仪的设计
无线路由器的工作原理和技术特点
铝碳化硅砖是什么 生产工艺和用途