Preface
Cocktail Party Problem(鸡尾酒宴会问题)
ICA Ambiguities(ICA不确定性)
Densities Function(密度函数)
Linear Transformations(线性变换)
Independent Component Analysis(ICA,独立成分分析)
Cocktail Party Problem
鸡尾酒会问题是在计算机语音识别领域的一个问题。
假设,N个扬声器同时在一个聚会上讲话,并且放置在房间里的任何麦克风只记录N个扬声器的声音的重叠组合。但是我们假设我们有N个麦克风放在房间里,因为每个麦克风离每个扬声器都有一个距离,它记录了说话人声音的不同组合。使用这些麦克风录音,我们要分离出原始的N个扬声器的语音信号。
现在假设
s∈Rn
s
∈
R
n
由N个独立的扬声器生成,
{x(i)∈Rn;i=1,...,m}
{
x
(
i
)
∈
R
n
;
i
=
1
,
.
.
.
,
m
}
是从N个麦克风收集的数据,i 表示 采样的时间顺序。所以:
这里的A是一个未知的混合矩阵。 x(i)j x j ( i ) 表示 第 j j 个麦克风在时刻 的收到的声音由所有声音源通过A组合得到。
所以我们的问题就可以由下述工程解决:
令
W=A−1
W
=
A
−
1
,那么:
W W 可以表示为:
所以:
ICA Ambiguities
ICA模糊性是指演讲者和标志的排列问题,我们无法保证得到与原来信号一模一样的演讲者和标志的排列。
信号不能是高斯分布
如果信号是高斯分布,我们将无法还原原信号,即无法使用ICA。
Independent Component Analysis
假设数据有N个来源的声音(鸡尾酒会问题中有N个演讲者),记为 S(i)∈Rn S ( i ) ∈ R n 。 S(i)j S j ( i ) 表示在时间 i i 时从演讲者发出的声音。
假设我们有N个麦克风,每一个麦克风记录了所有N个演讲者发出声音的线性组合。通过数据的收集(通过直观的观察):
这里的A是一个未知的混合矩阵。 x(i)j x j ( i ) 表示 第 j j 个麦克风在时刻 的收到的声音由所有声音源通过A组合得到。所以:
我们的目标是找到
W=A−1
W
=
A
−
1
,使得
W W 可以表示为:
所以:
这也就是我们在最开始所阐述的鸡尾酒晚会问题。
假设:
S∈Rn
S
∈
R
n
表示在任何时间从所有演讲者发出的声音的联合矢量。
S
S
的密度函数为。
计算
x
x
的密度函数为。
直接的想法:
Px(x)=Ps(Wx)
P
x
(
x
)
=
P
s
(
W
x
)
。但是,这是错误的。我们可以对于质量函数使用这个方法,但是无法对于连续函数使用。我们不能对于密度函数进行这样的处理。
正确的做法是:
- e.g.:j假设
Ps(S)=1{0≤S≤1}
P
s
(
S
)
=
1
{
0
≤
S
≤
1
}
,
S∼Uniform[0,1]
S
∼
U
n
i
f
o
r
m
[
0
,
1
]
。
现在使得A=2,即x=2S,所以:w=1/2。
所以 x x 的密度函数为
ICP过程
假设每一个
S(i)
S
(
i
)
密度函数
Ps
P
s
,给定时刻原信号的联合分布为:
因为我们需要知道 Ps(S(i)) P s ( S ( i ) ) ,我们打算选取一个概率密度函数赋给 Ps(S(i)) P s ( S ( i ) ) ,但是我们不能选取高斯分布的密度函数。在概率论里我们知道密度函数p(x)由累计分布函数(CDF)F(x)求导得到。F(x)要满足两个性质是:单调递增和在[0,1]。
所以我们选取
S
S
的累积分布函数为sigmoid函数:
即
因为 Ps(S) P s ( S ) 为对称函数,所以E[S]=0。
对于给定的训练集
{x(1),...,x(m)}
{
x
(
1
)
,
.
.
.
,
x
(
m
)
}
,有似然函数:
对于W求偏导:
令上式为0,所以有:
最后在求出
S
S
即可。