独立成分分析(Independent Component Analysis)
来源:互联网 发布:金山终端防护优化系统 编辑:程序博客网 时间:2024/06/05 22:40
转载http://www.cnblogs.com/jerrylead/archive/2011/04/19/2021071.html
问题:
1、上节提到的PCA是一种数据降维的方法,但是只对符合高斯分布的样本点比较有效,那么对于其他分布的样本,有没有主元分解的方法呢?
2、经典的鸡尾酒宴会问题(cocktail party problem)。假设在party中有n个人,他们可以同时说话,我们也在房间中一些角落里共放置了n个声音接收器(Microphone)用来记录声音。宴会过后,我们从n个麦克风中得到了一组数据
将第二个问题细化一下,有n个信号源
x是输入信号混合后的结果,这里的x不是一个向量,是一个矩阵,每个
表示成图就是
这张图来自
http://amouraux.webnode.com/research-interests/research-interests-erp-analysis/blind-source-separation-bss-of-erps-using-independent-component-analysis-ica/
令
将
其中
ICA的不确定性(ICA ambiguities)
由于w和s都不确定,那么在没有先验知识的情况下,无法同时确定这两个相关参数。比如上面的公式s=wx。当w扩大两倍时,s只需要同时扩大两倍即可,等式仍然满足,因此无法得到唯一的s。同时如果将人的编号打乱,变成另外一个顺序,如上图的蓝色节点的编号变为3,2,1,那么只需要调换A的列向量顺序即可,因此也无法单独确定s。这两种情况称为原信号不确定。
还有一种ICA不适用的情况,那就是信号不能是高斯分布的。假设只有两个人发出的声音信号符合多值正态分布,
令R是正交阵
因此,不管混合矩阵是A还是A’,x的分布情况是一样的,那么就无法确定混合矩阵,也就无法确定原信号。
密度函数和线性变换
在讨论ICA具体算法之前,我们先来回顾一下概率和线性代数里的知识。
假设我们的随机变量s有概率密度函数
令
推导方法
更一般地,如果s是向量,A可逆的方阵,那么上式子仍然成立。
ICA算法
ICA算法归功于Bell和Sejnowski,这里使用最大似然估计来解释算法,原始的论文中使用的是一个复杂的方法Infomax principal。
我们假定每个
这个公式代表一个假设前提:每个人发出的声音信号各自独立。有了p(s),我们可以求得p(x)
左边是每个采样信号x(n维向量)的概率,右边是每个原信号概率的乘积的|W|倍。
前面提到过,如果没有先验知识,我们无法求得W和s。因此我们需要知道
这就是s的密度函数。这里s是实数。
如果我们预先知道s的分布函数,那就不用假设了,但是在缺失的情况下,sigmoid函数能够在大多数问题上取得不错的效果。由于上式中
知道了
使用前面得到的x的概率密度函数,得
大括号里面是
接下来就是对W求导了,这里牵涉一个问题是对行列式|W|进行求导的方法,属于矩阵微积分。这里先给出结果,在文章最后再给出推导公式。
最终得到的求导后公式如下,
其中
当迭代求出W后,便可得到
注意:我们计算最大似然估计时,假设
回顾一下鸡尾酒宴会问题,s是人发出的信号,是连续值,不同时间点的s不同,每个人发出的信号之间独立s的累计概率分布函数是sigmoid函数,但是所有人发出声音信号都符合这个分布。A(W的逆阵)代表了s相对于x的位置变化,x是s和A变化后的结果。
实例
行列式的梯度
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析(Independent Component Analysis)
- 独立成分分析ICA (Independent Component Analysis)
- 独立成分分析(Independent Component Analysis, ICA)
- ICA--独立成分分析(Independent Component Analysis)
- MySQL 高可用:mysql-mmm 负载均衡及故障转移
- Node.js开发入门(一)——安装Node.js及编辑器配置
- 阿里百川与极客邦科技达成战略合作 Weex宣布开源
- RabbitMQ1.8.3安装文档
- Linux /dev目录详解和Linux系统各个目录的作用
- 独立成分分析(Independent Component Analysis)
- linux下apache+mod_jk.so+tomcat整合(基础版)
- Android中View的绘制
- Lucene 查询(Query)子类
- 同一局域网内,别人无法访问我们wampserver
- TCP滑动窗口杂陈
- html5 web缓存localStorage和sessionStorage
- Android-handler用法
- leetcode 119.Pascal's Triangle II-杨辉三角形