【机器学习】【ICA-2】ICA独立成分分析的原理 + ICA前的预处理(中心化+漂白)

前情提示:ICA算法成立的前提是:假设每个人发出的声音信号各自独立。

1.鸡尾酒宴会问题

n个人在一个房间开party,房间的不同配置摆放了n个声音接收器,每个接收器在每个时刻同时采集到n个人声音的重叠声音。每个接收器和每个人的距离是不一样的,所以每个接收器接收到的声音的重叠情况也不同。party结束后,我们得到m个声音样例,每个样例是在具体时刻t,从n个接收器接采集的一组声音数据(一个接收器得到一个数据,所以有n个数据),如何从这m个样本集分离出n个说话者各自的声音呢?

2.问题数字化

首先把m个声音样例就是一个样本集X,shape=(m, n),则行表示m个样例,n表示每个样例有n个数据,n个数据是由n个接收器在当前时刻接收到的信号数据。

2.1样本集数字化

X=

其中i表示在时刻i的样例,1~n表示第1~n个接收器采集的数据,一个样例就是在时刻i从n个接收器采集到的信号数据组成的。

2.2每个说话者的独立声音数字化

假设我们最后分离出来的n个说话者的声音组成的样本集是s,s中每个元素都是每个人的独立声音,可以如下表示s:


1~n表示第几个说话者的声音数据,每一维都是一个人的声音信号,每个人发出的声音信号独立

2.3目标问题的公式数字化

则一定存在一个矩阵A,使得X=As成立,数字化形式如下所示:


可知shape(X)=(n,m),   shape(A)=(n,n),  shape(s)=(n,m)

对上面公式解释一下:

x是一个矩阵,由m个列向量组成,每个列向量是一个时刻采集的样例

                                                                   

可知样本集X:每个时刻t的样例有n个声音数据,每个数据是此时刻n个说话者的声音数据的线性组合。这句话理解了,就可以容易理解X=As公式了。其中A是一个未知的混合矩阵(Mixing Matrix),就是用来组合叠加信号s的。混合矩阵A就是提供"线性组合"功能的,如果知道了A就轻松求出了s,因为X是party已采集的样本集,是已知的。

现在的任务就是根据X求出A和s,没错,这听起来太扯了,确实很扯,哈哈,但是ICA可以搞定这么扯的事情。

这个比较扯的事情,还有个学名,叫盲信号分离:

知道n个说话者的混合声音的样本集X,求出混合矩阵A和每个说话者的独立声音数据s的过程,称为盲信号分离。

2.4每个时刻的样例=n个说话者的独立声音线性组合

这个就是对的示例具体化,让其更容易理解,举例如下:


看过上面手稿示例,应该已经理解每个时刻的每个声音接收器接收到的声音都是此时刻n个说话者的独立声音的线性组合,而混合矩阵A决定了这个线性组合。

2.5决定线性组合的混合矩阵W的数字化


第一要务:此时存在公式s=WX,如果我们知道了W就可以求出s了,我们现在的任务就是想法设法求出W

3.ICA计算过程的原理推理

假设我们的随机变量ss有概率密度函数p

  • 14
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值