6

【ICA】理论与实现

 3 years ago
source link: https://www.guofei.site/2017/11/27/ica.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【ICA】理论与实现

2017年11月27日

Author: Guofei

文章归类: 3-1-降维 ,文章编号: 323


版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2017/11/27/ica.html

Edit

独立成分分析(Independent Component Analysis, ICA)

问题引入

鸡尾酒宴会问题 宴会有n个客人,同时说话,不同位置有n个麦克风,请分离每人说话额信号。

鸡尾酒宴会问题属于盲源分离问题

数学描述

有n个信号源s=(s1,s2,…,sn)Ts=(s1,s2,…,sn)T
A是未知的混合矩阵,用来叠加信号s,x=ASx=AS
X是按时间取样的m组样,
问题:仅知道X,如何求s?

问题分析

信号最多有一个分量是高斯分布。

假设s∼N(0,1)s∼N(0,1), 那么x=Asx=As也服从多元正态分布。
Ex=0,Cov(x)=E[xxT]=E[AssTAT]=AATEx=0,Cov(x)=E[xxT]=E[AssTAT]=AAT, 所以x∼N(0,AAT)x∼N(0,AAT)
R为正交阵,x′=ARsx′=ARs, 那么,同样可证x′∼N(0,AAT)x′∼N(0,AAT)

也就是说,Rs,sRs,s都可以获得同样的x, 因此s是无法确定的

ICA的前提条件:

  1. 各个成分独立
  2. 各个成分中,最多有一个高斯分布
  3. 混合矩阵是方阵

解法一:MLE

附加假设:每个分量都是logistics分布
那么,又根据每个分量独立,可以列出似然函数。

解法二

x=As,s=Wxx=As,s=Wx

根据中心极限定理,s的线性组合比s的任何一个分量都接近正太分布。
呢么我们找到这样的u=WTixu=WiTx,使得u 最不接近高斯分布

因此,需要解决一个问题:如何定义 最不接近高斯分布

有两套方案来衡量不接近高斯分布:

  1. 峰度越偏离0,越不接近高斯分布
  2. 高斯分布的熵是最大的,定义负熵J(x)=H(xgauss)−H(x)J(x)=H(xgauss)−H(x), 这个值越大,说明越偏离高斯分布

FastICA

FastICA采用负熵的概念

J(x)=∑iki[E(Gi(x))−E(Gi(v))]2J(x)=∑iki[E(Gi(x))−E(Gi(v))]2
v是高斯函数,G是任意非二次函数。

等价于求这个最优化:
maxE(G(WTix))maxE(G(WiTx))s.t.∣∣Wi∣∣=1s.t.∣∣Wi∣∣=1
G的常见形式可以是:

  1. G(u)=1alogcosh(au)G(u)=1alog⁡cosh⁡(au)
  2. G(u)=−exp(−u22)G(u)=−exp⁡(−u22)
  3. G(u)=u4G(u)=u4

实践中发现,对于不同形式的G,求得的结果差不多,但计算性能有差异。

算法步骤

数据预处理

  1. 中心化x~=x−E(x)x~=x−E(x)
  2. 白化x~=VΛ−0.5VTxx~=VΛ−0.5VTx
    其中ΛΛ是对角阵,对角线上的元素是是x协方差矩阵的特征值
    V是x协方差矩阵的特征吸向量。

后注

ICA与PCA的区别

  • ICA提取的成分是independent
  • PCA提取得成分是Orthogonal ICA认为样本数据由独立非高斯分布的隐含因子产生
  • PCA认为样本的方差越大则包含的信息越大,数据特征隐含在方差最大的几个正 交方向上,但这很依赖于数据的计量单位选择
  • ICA适合用于还原信号,因为人工信号往往分布有规律,不符合高斯分布
  • PCA适合用于降维,也可用作对信号进行预处理,可以在一定程度上消除噪音
  • 在ICA时可以使用PCA进行数据预处理

应用场景

  • 声学信号处理:鸡尾酒宴会问题
  • 生物医学信号处理:胎心信号、心脑信号分离
  • 阵列信号处理:天线阵列、声呐
  • 图像处理:图像特征提取、人脸识别
  • 其它:模式识别、数据挖掘、金融等领域

ICA的不足

  • 无法还原出源信号的方差,即还原后的信号尺度 与源信号有差别,无法恢复真实波形
  • 无法确定还原信号的分量与对应源信号中哪个分 量对应
  • 混合矩阵是奇异矩阵或近似奇异矩阵时难以计算

Python实现


您的支持将鼓励我继续创作!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK