当前位置:文档之家› 第九章 独立成分分析

第九章 独立成分分析


这种随机梯度算法的在线(或自适应)形式为
(9.10) (9.11) (9.12)
∆B ∝ B−T + g(Bx)xT .
(9.13)
这时每次迭代只需要一个采样数据。随机梯度算法是由Bell 和Sejnowski提出的, 故通常
又叫做Bell-Sejnowski 算法。
这一算法的主要缺点是: 收敛速度慢, 同时由于涉及分离矩阵B的求逆, 一旦B在更
9.1 前言
独立成分分析(ICA)法是一种统计方法, 它主要应用于盲信号分离、 盲反卷积 和特征提取等方面。 ICA的最简单的模型描述是: 给定n个观测信号x1, x2, · · · , xn, 它们 是m个未知源信号s1, s2, · · · , sm 线性混迭而成的, 并且假设m个源信号si是统计独立的 和零均值的。 下面是ICA模型的矩阵表示形式:
9.2.2 最大似然估计算法
为了利用上述最大似然估计的ICA方法进行盲信号分离,需要利用最优化算法来求 与似然函数的最大值对应的分离矩阵B。 下面介绍两种不同的最优化算法来求分离矩 阵B。
66
第九章 独立成分分析
9.2.2.1 梯度法
求取最大似然函数的最简单的方法是梯度法,下面是两种梯度算法。
随机梯度法.
第九章 独立成分分析
(内容取自[1, 28, 29]) 在对信源和通道先验知识甚少的情况下,仅由观察信号推断信源和通道的特性, 称为盲信号处理。独立成分分析(Independent Component Analysis, ICA)是和盲信号 处理密切相关的技术。 传统的信源分解技术建立在主成分分析的基础上,分解出的诸 成分只是互相正交且依能量大小排序,因而有明显的局限性。 ICA的目的是:从多通 道测量所得到的由若干独立信源线性组合成的观察信号中,将这些独立成分分解开来。 因此,被分解出的诸成分更容易具有实际的物理意义。 生产及生活中符合这种条件的 情况很多。 例如,在嘈杂的环境中提取关心的某些声音;又例如,人体内蕴藏着多种 多样的生理信号源,它们一般是互相独立的,而由体表测得的信号总是这些信源所发 信号的混合体,因此采用ICA技术将它们加以分离,这将有助于对生理信号机理的进一 步认识。
E(x˜x˜T ) = I.
(9.15)
The whitening transformation is always possible. One popular method for whitening is to use the eigen-value decomposition (EVD) of the covariance matrix E(xxT ) = EDET , where E is the orthogonal matrix of eigenvectors of E(xxT ) and D is the diagonal matrix of its eigenvalues, D = diag(d1, · · · , dn). Note that E(xxT ) can be estimated in a standard way from the available sample x(1), · · · , x(T ). Whitening can then be done by
(9.16):
x˜ = ED−1/2ET x = ED−1/2ET As = A˜ s.
(9.17)
The utility of whitening resides in the fact that the new mixing matrix A˜ is orthogonal. This can be seen from
(9.14)
这两种梯度算法中都涉及到了g(y) = (g1(y1), · · · , gn(yn))T , 而gi函数又和源独立成 分si的密度函数pi相关(见(9.11)式), 但是在盲信号分离中源独立成分的分布函数pi都 是未知的, 并且密度函数的估计是一个非参数估计问题, 这就使上述算法变得复杂了。
ps(s)ds =
ps(A−1t)| det(A−1)|dt = | det(A−1)|
ps(A−1t)dt.
As≤a
t≤a
t≤a
(9.4)
所以由微积分基本定理,
px(a)
=
dP(x ≤ da
a)
=
| det(A−1)|ps(A−1a).
(9.5)
px(x)还可以表示成B = (b1, b2, · · · , bn)T 和x的函数形式:
I = E(x˜x˜T ) = A˜ E(ssT )A˜ T = A˜ A˜ T .
(9.18)
Here we see that whitening reduces the number of parameters to be estimated. Instead of having to estimate the n2 parameters that are the elements of the original matrix A, we only need to estimate the new, orthogonal mixing matrix A˜ . An orthogonal matrix contains n(n − 1)/2 degrees of freedom. For example, in two dimensions, an orthogonal transformation is determined by a single angle parameter. In larger dimensions, an orthogonal matrix contains only about half of the number of parameters of an arbitrary matrix. Thus one can say that whitening solves half of the problem of ICA. Because whitening is a very simple and standard procedure, much simpler than any ICA algorithms, it is a good idea to reduce the complexity of the problem in this way.
(9.7)
∑T ∑n
log L(B) = T log | det(B)| +
log pi(bTi x(t)).
t=1 i=1
(9.8)
对上式进行化简得:
(
)
1 log L(B) = log | det(B)| + E
T
∑n log pi(bTi x)
.
i=1
(9.9)
这里的期望值是观测数据的平均值。 最大似然估计的ICA方法可以概述为:似然函 数L的最大值所对应的矩阵B 即是进行信号分离时的分离矩阵,这时对应的y = Bx就 是源信号s的估计值, 即ˆs = y。
x = As,
(9.1)
其中x = (x1, x2, · · · , xn)T , s = (s1, s2, · · · , sm)T , A是未知的n × m 列满秩矩阵,称为混 合矩阵。ICA 要解决的问题就是仅从观测信号x中估计出混合矩阵A,并且分离出源信 号s。为简单起见,我们假定m = n.
2. 对亚高斯独立成分, 通常使用下式定义的分布密度:
log pˆi(s) = a2 − (s2/2 − log cosh(s)).
与其对应的g函数是 另一种选择是:
g(y) = tanh(y) − y. g(y) = y3.
9.2.2.2 Preprocessing for ICA
Before applying an ICA algorithm on the data, it is usually very useful to do some preprocessing. In this section, we discuss some preprocessing techniques that make the problem of ICA estimation simpler and better conditioned.
x˜ = ED−1/2ET x.
(9.16)
It can be easily checked that (9.16) fulfills.
68
第九章 独立成分分析
Whitening transforms the mixing matrix into a new one, A˜ . We have from (9.1) and
用于盲信号分离的独立成分分析法主要有以下几种: 非高斯性最大化的ICA算法、 最大似然估计的ICA算法、 互信息最小化的ICA算法、 非线性去相关和非线性主成分分 析的ICA算法。 本章主要介绍最大似然估计的ICA算法。
9.2 最大似然估计的ICA算法
9.2.1 似然函数
由于有噪声存在时的盲信号分离是困难的, 故先不考虑它的影响。因此,这里只研 究如下无噪声信号混迭模型:
新过程中条件数变差, 算法就可能发散。
自然梯度法. 自然梯度又称相对梯度。利用自然梯度可以使得最大似然的求解得到
极大简化,且条件数也得到优化,因此算法收敛速度可以得到明显提高。 在随机梯度
算法公式(9.12)的右边乘上BT B, 就得到了如下自然梯度算法公式:
∆B ∝ (I + E (g(y)yT ) B.
Centering. The most basic and necessary preprocessing is to center x, i.e. subtract its mean vector m = E(x) so as to make x a zero-mean variable. This implies that s is zero-mean as well, as can be seen by taking expectations on both sides of Eq. (9.1).
相关主题