Andrew Ng机器学习课程笔记(十八)之无监督学习之独立成份分析

Preface

Cocktail Party Problem(鸡尾酒宴会问题)
ICA Ambiguities(ICA不确定性)
Densities Function(密度函数)
Linear Transformations(线性变换)
Independent Component Analysis(ICA,独立成分分析)

Cocktail Party Problem

鸡尾酒会问题是在计算机语音识别领域的一个问题。

假设,N个扬声器同时在一个聚会上讲话,并且放置在房间里的任何麦克风只记录N个扬声器的声音的重叠组合。但是我们假设我们有N个麦克风放在房间里,因为每个麦克风离每个扬声器都有一个距离,它记录了说话人声音的不同组合。使用这些麦克风录音,我们要分离出原始的N个扬声器的语音信号。

现在假设 sRn s ∈ R n 由N个独立的扬声器生成, {x(i)Rn;i=1,...,m} { x ( i ) ∈ R n ; i = 1 , . . . , m } 是从N个麦克风收集的数据,i 表示 采样的时间顺序。所以:

xx(i)j=As=nAjns(i)n x = A s x j ( i ) = ∑ n A j n s n ( i )

这里的A是一个未知的混合矩阵。 x(i)j x j ( i ) 表示 j j 个麦克风时刻 i 的收到的声音由所有声音源通过A组合得到。

所以我们的问题就可以由下述工程解决:
W=A1 W = A − 1 ,那么:

s(i)=A1x(i)=Wx(i) s ( i ) = A − 1 x ( i ) = W x ( i )

W W 可以表示为:
W=[w1TwnT]

所以:
s(i)j=wTjx(i) s j ( i ) = w j T x ( i )

ICA Ambiguities

ICA模糊性是指演讲者和标志的排列问题,我们无法保证得到与原来信号一模一样的演讲者和标志的排列。

信号不能是高斯分布

如果信号是高斯分布,我们将无法还原原信号,即无法使用ICA。

Independent Component Analysis

假设数据有N个来源的声音(鸡尾酒会问题中有N个演讲者),记为 S(i)Rn S ( i ) ∈ R n S(i)j S j ( i ) 表示在时间 i i 时从演讲者j发出的声音。

假设我们有N个麦克风,每一个麦克风记录了所有N个演讲者发出声音的线性组合。通过数据的收集(通过直观的观察):

x(i)=AS(i),x(i)Rn x ( i ) = A S ( i ) , x ( i ) ∈ R n

这里的A是一个未知的混合矩阵。 x(i)j x j ( i ) 表示 j j 个麦克风时刻 i 的收到的声音由所有声音源通过A组合得到。所以:
x(i)j=kAjkS(i)k x j ( i ) = ∑ k A j k S k ( i )

我们的目标是找到 W=A1 W = A − 1 ,使得

S(i)=A1x(i)=Wx(i) S ( i ) = A − 1 x ( i ) = W x ( i )

W W 可以表示为:
W=[w1TwnT]

所以:
s(i)j=wTjx(i) s j ( i ) = w j T x ( i )

这也就是我们在最开始所阐述的鸡尾酒晚会问题。

假设:
SRn S ∈ R n 表示在任何时间从所有演讲者发出的声音的联合矢量。
S S 的密度函数为Ps(S)

计算 x x 的密度函数为Px(x)
直接的想法: Px(x)=Ps(Wx) P x ( x ) = P s ( W x ) 。但是,这是错误的。我们可以对于质量函数使用这个方法,但是无法对于连续函数使用。我们不能对于密度函数进行这样的处理。
正确的做法是:

Px(x)=Ps(Wx)|W| P x ( x ) = P s ( W x ) | W |

  • e.g.:j假设 Ps(S)=1{0S1} P s ( S ) = 1 { 0 ≤ S ≤ 1 } SUniform[0,1] S ∼ U n i f o r m [ 0 , 1 ]
    现在使得A=2,即x=2S,所以:w=1/2。
    所以 x x 的密度函数为
    Px(x)=Ps(1/2s)1/2=1Px(x)=Ps(Wx)|W|

ICP过程
假设每一个 S(i) S ( i ) 密度函数 Ps P s ,给定时刻原信号的联合分布为:

Ps(S)=i=1nPs(S(i)) P s ( S ) = ∏ i = 1 n P s ( S ( i ) )

Px(x)=Ps(Wx)|W|=|W|i=1nPs(w(i)Tx) P x ( x ) = P s ( W x ) | W | = | W | ∏ i = 1 n P s ( w ( i ) T x )

因为我们需要知道 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函数:

F(s)=11+es


Ps(S)=F(s)=es(1+es)2 P s ( S ) = F ′ ( s ) = e s ( 1 + e − s ) 2

因为 Ps(S) P s ( S ) 为对称函数,所以E[S]=0。

对于给定的训练集 {x(1),...,x(m)} { x ( 1 ) , . . . , x ( m ) } ,有似然函数:
这里写图片描述
对于W求偏导:
这里写图片描述
令上式为0,所以有:
这里写图片描述
最后在求出 S S 即可。

Sj(i)=wjTx(i)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值