Cocktail Party Problem(鸡尾酒宴会问题)
ICA Ambiguities(ICA不确定性)
Densities Function(密度函数)
Linear Transformations(线性变换)
Independent Component Analysis(ICA,独立成分分析)
鸡尾酒会问题是在计算机语音识别领域的一个问题。
假设,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 表示 采样的时间顺序。所以:
所以我们的问题就可以由下述工程解决:
令 W=A−1 W = A − 1 ,那么:
ICA模糊性是指演讲者和标志的排列问题,我们无法保证得到与原来信号一模一样的演讲者和标志的排列。
如果信号是高斯分布,我们将无法还原原信号,即无法使用ICA。
假设数据有N个来源的声音(鸡尾酒会问题中有N个演讲者),记为 S(i)∈Rn S ( i ) ∈ R n 。 S(i)j S j ( i ) 表示在时间 i i 时从演讲者 j j 发出的声音。
假设我们有N个麦克风,每一个麦克风记录了所有N个演讲者发出声音的线性组合。通过数据的收集(通过直观的观察):
我们的目标是找到 W=A−1 W = A − 1 ,使得
这也就是我们在最开始所阐述的鸡尾酒晚会问题。
假设:
S∈Rn S ∈ R n 表示在任何时间从所有演讲者发出的声音的联合矢量。
S S 的密度函数为 Ps(S) P s ( S ) 。
计算 x x 的密度函数为 Px(x) P x ( x ) 。
直接的想法: Px(x)=Ps(Wx) P x ( x ) = P s ( W 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函数:
对于给定的训练集 {x(1),...,x(m)} { x ( 1 ) , . . . , x ( m ) } ,有似然函数:
对于W求偏导:
令上式为0,所以有:
最后在求出 S S 即可。