独立成分分析(Independent Component Analysis,ICA)模型介绍

独立成分分析(Independent Component Analysis,ICA)模型介绍目录独立成分分析(IndependentComponentAnalysis,ICA)模型介绍1历史背景2ICA基本模型3独立与不相关独立成分分析(IndependentComponentAnalysis,ICA)模型介绍你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基…

大家好,又见面了,我是你们的朋友全栈君。

\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 ≥ n X(t)=A S(t), \quad m \geq n X(t)=AS(t),m≥n

在这里插入图片描述

\qquad 对任何t,根据已知的 X ( t ) X(t) X(t),在A未知的条件下,求未知的 S ( t ) S(t) S(t),,这就构成一个盲源分离问题,噪声可以认为是一个源信号。

\qquad 盲源分离中的“盲”是指原理上它不要求对S和A有先验知识,而实际上任务的解答明显不是唯一的,因此分解结果肯定不是唯一的,需要一些假定。如果按照以下几个基本假设条件来解决盲源分离问题,则成为独立分量分析。这些条件如下:

  1. 各源信号 s i ( t ) s_i\left(t\right) si​(t)均为零均值、实随机变量,各源信号之间统计独立。
  2. 源信号数与观察信号数相同,即m=n,这时混合阵A是是一个确定且未知的方阵,A是满秩,则逆矩 A − 1 A^{-1} A−1存在
  3. 各个源信号 s i ( t ) s_i\left(t\right) si​(t)只允许有一个的概率密度函数具有高斯分布,如果具有高斯分布的源信号个数超过一个,则各源信号是不可分的。

\qquad ICA的思路是设置一个n×m维反混合矩阵 W = ( w i j ) W=\left(w_{ij}\right) W=(wij​), X ( t ) X\left(t\right) X(t)经过W变换后得到n维输出列向量 Y ( t ) = [ y 1 ( t ) , y 2 ( t ) , … , y n ( t ) ] T Y(t)=[y_1(t),y_2(t),…,y_n(t)]^T Y(t)=[y1​(t),y2​(t),…,yn​(t)]T,即有
Y ( t ) = W X ( t ) = W A S ( t ) Y\left(t\right)=WX\left(t\right)=WAS\left(t\right) Y(t)=WX(t)=WAS(t)
在这里插入图片描述

\qquad BSS的主要工作是寻找一个线性滤波器或者是一个权重矩阵W。理想的条件下,W矩阵是A矩阵的逆矩阵。
在这里插入图片描述

\qquad 如果通过学习得以实现 W A = I WA=I WA=I( I I I是 n × n n×n n×n单位阵),则 Y ( T ) = S ( t ) Y\left(T\right)=S\left(t\right) Y(T)=S(t),从而达到了信源分离的目的。由于没有任何参照目标,这一学习过程只能是自组织的。学习过程的第一步是建立一个以W为变元的目标函数 L ( W ) L\left(W\right) L(W),如果某个 W ^ \hat{W} W^能使 L ( W ) L\left(W\right) L(W)达到极大(小)值,则该 W ^ \hat{W} W^即为所需的解。第二步即是用一种有效的算法求 W ^ \hat{W} W^。按照 L ( W ) L\left(W\right) L(W)定义的不同和求 W ^ \hat{W} W^的方法不同,可以构成各种ICA算法。因此, ICA理论上是一个优化问题,其目的是通过优化分解矩阵W,以获得源信号s,并使源信号间的独立性最强。

从独立成分分析的模型可以看出下列因素是很难确定的:

1. 幅值不确定

\qquad 事实上,原因是很明显的,由于混合矩阵和独立成分都是未知的,如果对独立成分乘上某个标量 a i ≠ 0 ai≠0 ai​=0,或同时对混合矩阵相应的除以一个相同的标量,则不影响混合信号的值。

\qquad 因此,在独立成分分析算法中,可以固定独立成分的方差,由于独立成分是随机变量,则最自然的方法就是假设独立成分具有单位方差。

b.顺序不确定

\qquad 在独立成分分析的绝大多数应用中,这两个不确定性并不是十分重要的,用ICA算法所得到的解能够满足相当多的实际应用,所得到的源信号的幅度和排序对于通常所考虑的问题影响不大.所以我们可以说独立成分分析所求得的解是波形保持解.在某些特殊的应用中,我们需要确定输出成分的顺序,可以通过某些统计量的大小来规定输出独立成分的顺序,这样的规定,使得这个问题转化为一个具有某些约束的问题,即标准的ICA问题转化为约束ICA问题。

\qquad

3 独立与不相关

\qquad 独立和不相关(uncorrelated)是紧密相关的概念,因此,可以设想使用估计不相关变量的方法来同样估计独立成分,这样的典型方法为白化(whitening)或球化(sphering),通常由主成分分析(principal component analysis)来进行.但用这样的方法来估计独立成分通常是不可行的,一般的,白化是以独立成分分析的预处理技术身份出现的。

\qquad 不相关是独立的较弱形式,两个随机变量 y 1 , y 2 y_1,y_2 y1​,y2​是不相关的,那么它们的协方差是零:
cov ⁡ ( y 1 , y 2 ) = E { y 1 , y 2 } − E { y 1 } E { y 2 } = 0 \operatorname{cov}\left(y_{1}, y_{2}\right)=E\left\{y_{1}, y_{2}\right\}-E\left\{y_{1}\right\} E\left\{y_{2}\right\}=0 cov(y1​,y2​)=E{
y1​,y2​}
−
E{
y1​}
E{
y2​}
=
0

\qquad 如果随机变量是零均值的,协方差化为相关 cov ⁡ ( y 1 , y 2 ) = E { y 1 , y 2 } \operatorname{cov}\left(y_{1}, y_{2}\right)=E\left\{y_{1}, y_{2}\right\} cov(y1​,y2​)=E{
y1​,y2​}
,不相关相当于零相关。

\qquad 如果随机变量是独立的,它们即是不相关的。这是因为两个随机变量y1和y2是独立的,那么对于任意两个函数 h 1 和 h 2 h_1和h_2 h1​和h2​,我们有:
E { h 1 ( y 1 ) h 2 ( y 2 ) } = E { h 1 ( y 1 ) } E { h 2 ( y 2 ) } E\left\{h_{1}\left(y_{1}\right) h_{2}\left(y_{2}\right)\right\}=E\left\{h_{1}\left(y_{1}\right)\right\} E\left\{h_{2}\left(y_{2}\right)\right\} E{
h1​(y1​)h2​(y2​)}
=
E{
h1​(y1​)}
E{
h2​(y2​)}

\qquad 这就是我们常说的,独立意味着不相关,而不相关并不意味着独立。
比不相关稍强的概念是白化.白化的随机向量y与它的各分量是不相关的,并且具有单位方差.换句话说,随机向量Y的协方差矩阵是单位阵:
E { y y T } = I E\left\{
{yy}^{
{T}}\right\}={I}
E{
yyT}
=
I

\qquad 白化意味着我们将观测数据向量x进行线性变换,使得新向量
Z = V x Z=Vx Z=Vx

\qquad 是白化的随机向量。白化有时称为球化。白化变换总是可行的。白化的一个流行方法是协方差矩阵的特征值分解(EVD):
E { x x T } = E D E T E\left\{x x^{T}\right\}=EDE^{T} E{
xxT}
=
EDET

\qquad 这里,E是 E { x x T } E\left\{x x^{T}\right\} E{
xxT}
,的特征向量组成的正交矩阵,D是它的特征值组成的对角矩阵,这样,白化可以通过白化矩
V = E D − 1 2 E T V=E D^{-\frac{1}{2}} E^{T} V=ED−21​ET

来完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146040.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pypy 打包_手机按键精灵脚本编写

    pypy 打包_手机按键精灵脚本编写我们可以在ArcGIS之外调用arcpy站点包运行python独立脚本,从而批量化任务提高工作效率。如果可以把做好的脚本打包成exe是不是就更方便了呢?想想一键式处理也挺开心的。Python打包的问题最早是在ArcGIS知乎中看到的,有人提问为何打包失败,我还有幸被邀请回答,虽然在这一块我也是小白一枚。后来,得空时也搜了下相关的资源,虽然大部分人持悲观态度说arcpy不支持打包,但刚好有个帖

    2022年9月10日
  • golang2021 7.13 激活码【中文破解版】

    (golang2021 7.13 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
  • QXDM操作应用_飞机QDM

    QXDM操作应用_飞机QDMQXDM(TheQUALCOMMExtensibleDiagnosticMonitor)是高通公司(Qualcomm)公司发布的可以对手机终端所发数据进行跟踪有效工具,通过对数据的分析可以诊断信令流程、分析数据包的正确与否等。在测试中有重要作用,正确合理的使用可以为我们测试提供便捷的定位手段。QXDM是利用QPSTServer(Section3.3.1.1),通过USB延长线或…

    2022年10月2日
  • 抽象类是否可继承实体类

    抽象类是否可继承实体类 题目如下:问:  抽象类是否可继承实体类 (concrete class)答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数 ——————-答案很明确,可以继承。其实从Object就是个实体类,java的API文档里,每个抽象类的条目里都明确写着直接或间接继承自Object,所以这点是没有疑问的。关键在于这答案里所说的“前提是实体类必…

    2022年6月13日
  • 朋友圈集赞图片生成器_朋友圈集赞神器

    朋友圈集赞图片生成器_朋友圈集赞神器大家好这是一款朋友圈积攒截图小程序里面内涵三款样式生成,一款图文,一款分享,一款查看的样式也就是我们威信朋友圈所用到的样式就包含了那些可以用户自由的添加哈!赞的数量那些可以用户自定义的哈另外所需的内容也是用户自定义的安装方法的话和往常一样!直接威信开发者工具打开源码然后设置一个合法域名上传审核就可以了合法域名在压缩包里面,搭建解压了就可以看到了下面让我们来看看小编的测试演示图:小程序源码下载地址:(已更新)朋友圈集赞万能截图生成器威信小程序源码下载-小程序文.

    2022年9月5日
  • idea2022怎么输入激活码_最新在线免费激活2022.02.04

    (idea2022怎么输入激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~CJM5ZJBPHS-eyJsaWNlbnNlSWQiOi…

    2022年4月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号