独立成分分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
白化操作:
均匀分布的两 个独立成分S1, S2的联合分布
观测混合量 X1,X2的联 合分布
均匀分布的两 个独立成分白 化混合的联合 分布
正交系统
E W T Z
2
W
2
1
fastICA实际上是一种寻找wTz(Y= wTz )的非高斯最大的不动点迭代 方案。为了推导近似牛顿法,首先wTz的近似负熵的极大值通常在 E{g(wTz) }极值点处取得。根据拉格朗日条件, E{g(wTz) }在约束 E W Z W 1 条件下的极值,是在那些使得下面拉格朗日乘子式的梯 度为零的点处取得:
H r,B) H ( x) log | B | log gi '( yi) ( =
i 1
M
将上式对B求导 第一项:与B无关; T 第二项: B log | B | B 第三项:B [ log gi '( yi)] ( y) x
M i 1
T
式中
M 1 gi' ( yi ) gi'' ( yi ) yi gi'' ( yi ) [ log gi '( yi )] ' ' ' xij bij i 1 gi ( yi ) bij gi ( yi ) bij gi ( yi )
负熵
• 我们可以利用熵来度量非高斯性,常用熵的修正形式,即负熵。
4、fastICA算法
(fastICA)-----极大化非高斯性
FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学 Hyvärinen等人提出来的。是一种快速寻优迭代算法,与普通的神经网 络算法不同的是这种算法采用了批处理的方式,即在每一步迭代中有 大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍 可称之为是一种神经网络算法。FastICA算法有基于峭度、基于似然最 大、基于负熵最大等形式,这里,我们介绍基于负熵最大的FastICA算 法。
公式1
式中,A是一个未知矩阵。在我们观测仅能观测到Xi(t)的情况下,独立分量分 析就要同时估计出矩阵A和Si(t)。并且假设观测到的独立成分Xi(t)数目与 Si(t)数目相同。
我们将ICA定义为另一种模式
寻找一个类似于【公式1】中矩阵B确定线性 变换,使得随机变量Yi,i=1,..n尽可能独 立。如矩阵B能估计出,对其求逆就能得到 矩阵A。
T T T T T
W W [ E Zg W T Z W ] / [ E g’ T Z ] W
在上式两边同时乘以
进一步简化得:
W E Zg W T Z E g’ T Z W W
每次迭代完成后对W进行标准化。 以上就是fastICA算法中不动点迭代的基本公式
s1 (t )
a 21
s 2 (t )
a 23 a 31 a 32
a11
麦克风1
a12
a 22a13
x1 (t )
麦克风2
x2 (t )
x1 (t ) a11s1 (t ) a12 s 2 (t ) a13 s3 (t ) x 2 (t ) a 21s1 (t ) a 22 s 2 (t ) a 23 s3 (t ) x (t ) a s (t ) a s (t ) a s (t ) 31 1 32 2 33 3 3
T 2 2
E Zg W T Z + W 0
为拉格朗日乘子
现在我们试图采用牛顿法来求解方程。用F表示上方程 的左部分,求的其梯度为:
为了简化矩阵求逆的过程需要对上式第一项进行近似。因为数据 E ZZ g’ Z E ZZ E g’ Z =E g’ Z I W W W 已经是球化过的,似乎 可以作为一个合理的近似。这是梯度变化成了对角矩阵,可以简 单的求逆,这样我们的到了近似的牛顿迭代算法:
代码实现
算法结果
5、infomaxICA
infomaxICA---- 非线性去相关
是美国Salk Institute计算神经生物学实验室的研究者没 首先提出的。其特点就是在输出y之后逐分量的引入一 个非线性函数ri=gi(yi)来代替高阶统计量的估计。
BΒιβλιοθήκη Baidu
Infomax法的判据是:经过B阵解混后对所得的y的每一个 分量yi分别用一个非线性的函数gi(yi)加以处理,得
应用场景 声信号处理领域
移动通信中,ICA技术能够有效地消除噪声、 抑制干扰、增强语音,提高通信质量; 通过ICA方法对车辆行驶时产生的声音信号进 行分离,对车辆个数与行车方向进行估计,实 现车辆的简单分类
3、数学基础
• 牛顿迭代法 • 熵 • 负熵
牛顿迭代法法
牛顿法最初是用于求解方程f(x)=0的解。其 解的过程:由初始值x(k)开始,用一阶导数 f’(x(k))=0计算新的估计值x(k+1)。 x(k+1)由 f(x)在Pk点的切线与x轴的交点来确定。因 此: f(xk) f(xk) Xk+1=xkf’(xk)= f’(xk) Xk-xk+1
Independent component analysis
独立成分分析
盲源分离与ICA概念 ICA简介
数学基础 fastICA算法 ICA过程 Infomax算法
1、盲源分离与ICA的概念 盲源分离(Blind Source Seperation) 根据源信号的统计特性,仅由观测的混合 信号恢复(分离)出未知原始源信号的过程
参数的调节以下式为指导:
B
H r) p( y ) log[ ( =-
p( y )
gi '( yi)
i 1
M
]dy
=- p( x) log[
p ( x)
M i 1
| B | gi '( yi )
]dx
M
=H ( x) p( x) log[| B | gi '( yi )]dx
“盲”
源信号不可观测
混合系统的特性事先不可知
盲源分离的目的是求得源信号的最佳估计。
当盲源分离的各分量相互独立时,就成为独立分量分析
给定随机变量的一组观测( X1(t), X2(t), X3(t) )其中t是时间或者样本标 号。假设他们有独立成分线性的混合而产生:
x1 (t ) a11s1 (t ) a12 s 2 (t ) a13 s3 (t ) x 2 (t ) a 21s1 (t ) a 22 s 2 (t ) a 23 s3 (t ) x (t ) a s (t ) a s (t ) a s (t ) 31 1 32 2 33 3 3
而式中的f’(xk)可以看做是在初始点的导数, 是可以很容易求出来的。
例.
用牛顿迭代法求方程的根:
x3 3x 1 0
y f (x )
解:
设f ( x ) x 3 3 x 1
f ( x ) 3 x 3
2
x*
xk 1 xk
由牛顿迭代法
xk 1 f ( xk ) xk f ( xk )
3. 假定混合矩阵是方阵
• 换句话说,就是独立成分的个数与观测到的混合 量个数相同。
ICA的含混因素
• 在公式1定义的ICA模型中,存在一些含混因素 和不确定性。 1.我们无法观测处独立成分的幅值; 原因:在计算的过程中我们做过相应的预处。 单位化。 2.我们无法确定独立成分的次序; 原因:也是由于S和A的未知造成的。
i 1
H r,B) H ( x) log | B | Ex[log gi '( yi)] ( =
i 1
M
H r,B) H ( x) log | B | log gi '( yi) ( =
i 1
M
式中Ex(.)是 指P(x)为概 率的函数的均 值。在做梯度 处理时,取消 总集的均值过 程,得:
2、ICA简介
• ICA是20世纪90年代提出的,起初是神经网络的研究中有 一个重要的问题,独立成分分析是一个解决问题的新方法。 在许多应用方面,包括特征识别、信号分离。这种方法是 用一种解线性方程组的方式的估计方式求解信号源。
声音提取: 典型例子:“鸡尾酒会”的问题。 人的大脑可以很快辨出或集中听某种需要关注声音。
Xi是X可能的取值。P是X取不同值的概率。 H(x)=-∑p(xi)log(p(xi)) (i=1,2,..n)
对于一个连续取值的随机变量X,他的熵定义为H(微分熵)
随机变量越随机,越是难预测和非结构化,他的熵就越大。假设 一个概率接近于1,其他的概率接近于0。那么该随机变量就没有 什么随机性,他的熵就更小。如果所有概率相等,那么它们都远 离0和1,意味着它们的熵较大。
2.独立成分具有非高斯的分布
如果观测到的变量具有高斯分布,那么ICA在本质上 是不可能实现的。 原因:因为独立成分联合分布式高斯的,那么他们的联 合概率密度为:
P(s1,s2) =1/2π*exp[-(s12+s22)/2] = 1/2π*exp(-||s||2/2)
假定S经过混合矩阵A后,他们的联合概率密度仍然不变 化,因此我们没有办法在混合中的得到混合矩阵的信 息。
ICA的约束
为了确保上边刚刚给出的基本的ICA模型能 被估计,我们必须要做出一定的假设和约 束。 1.独立成分被假定是统计独立的; 2.独立成分具有非高斯的分布; 3.假定混合矩阵是方阵;
1.独立成分被假定是统计独立的
该假设是ICA能够成立的前提。
概念上理解: 我们说随机变量y1,y2..yn独立,是指在i≠j时,有关yi 的取值情况对于yj如何取值没有提供任何信息。 技术角度上理解: 联合概率密度等于各边缘概率密度的乘积。
独立分量分析(ICA)的过程如下图所示:在信源中各分量 相互独立的假设下,由观察值X通过解混系统把他们分离开 来,使输出逼近。
球化
等于
白化
白化原因:
一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进 行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相 关性,从而简化了后续独立分量的提取过程,而且,通常情况下,数 据进行白化处理与不对数据进行白化处理相比,算法的收敛性较好。
3 xk 3 xk 1 xk 2 3 xk 3
x0 =0.5; x1 =0.3333333333 x2 =0.3472222222 x3 =0.3472963532 x4 =0.3472963553
取初值 x0 0.5, 得
迭代四次
精度达10
-8
熵
由信息论理论可知: 对于一个离散取值的随机变量X,他的熵定义为H:
s 3 (t )
a 33
麦克风3 x3 (t )
a为权重的参数,在鸡尾酒舞会问题中为距离,x为两个话 筒得到信号,s为两个表演者的声音。这两个人的声音相 对独立并且忽略所有的其他因素比如声音的时间延迟。 如果我们知道a的参数,也就是说知道距离,反解出s就很 简单。(半盲源) 但ICA是在不知道a和Si(t)的情况下的一种估计的算法, 也就是说的盲信号分离的一种算法。
应用场景
生物医学信号领域
心电图(ECG)脑电图(EEG)信号分离
听觉信号分析、功能磁共振图像 (FMRI)分析 处理孕妇身上测到的心电信号,分别得 到孕妇自己和胎儿的心电信号
应用场景
阵列信号处理领域
在阵列传感器中,各传感器接收到 混合信号,源信号和混合特性未知, 是典型的盲分离应用问题。在移动 通信阵列天线处理、海洋声纳探测 等方面的作用越来越重要
r=g(y)=[g1(y1),----gn(yn)]=[r1,r2---rn]T 自适应处理的目标函数是:调节B使r的总熵量H(B,r)极 大; H(r)极大便意味着y的各分量之间的互信息极小,互信息 小意味着y的各个分量相互独立。在结构上看,B,g合在
一起就是单层感知机,只是r并不是我们需要的输出,它 只是为达到使y各分量尽可能独立而引入的辅助环节。
寻找独立成分方法
1.极大化非高斯性; 2.非线性去相关;
1.极大化非高斯性(fastICA)
分离过程中,可通过对分离结果的非高斯性度量来表示 分离结果间的相互独立性,当非高斯性度量达到最大时, 则表明已完成对各独立分量的分离。
2.非线性去相关(infomaxICA)
独立性本身蕴含了非线性不相关性:若S1和S2独立,那 么任何非线性变换g(s1)和h(s2)都是不相关的。这样我们 可以通过一种更强的形式去相关运算来实现ICA。即: 寻找举证B(分离矩阵),使得yi即使经过非线性变化仍然 不相关。