【机器学习-斯坦福】学习笔记17 ICA扩展描述

转载 2013年12月03日 10:08:30
7. ICA算法扩展描述

     上面介绍的内容基本上是讲义上的,与我看的另一篇《Independent Component Analysis:

Algorithms and Applications》(Aapo Hyvärinen and Erkki Oja)有点出入。下面总结一下这篇文章里提到的一些内容(有些我也没看明白)。

     首先里面提到了一个与“独立”相似的概念“不相关(uncorrelated)”。Uncorrelated属于部分独立,而不是完全独立,怎么刻画呢?

     如果随机变量clip_image002clip_image004是独立的,当且仅当clip_image006

     如果随机变量clip_image002[1]clip_image004[1]是不相关的,当且仅当clip_image008

     第二个不相关的条件要比第一个独立的条件“松”一些。因为独立能推出不相关,不相关推不出独立。

     证明如下:

     clip_image009

     clip_image010

     clip_image012

     反过来不能推出。

     比如,clip_image002[2]clip_image004[2]的联合分布如下(0,1),(0,-1),(1,0),(-1,0)。

     clip_image014

     因此clip_image002[3]clip_image004[3]不相关,但是

     clip_image016

     因此clip_image002[4]clip_image004[4]不满足上面的积分公式,clip_image002[5]clip_image004[5]不是独立的。

     上面提到过,如果clip_image018是高斯分布的,A是正交的,那么clip_image020也是高斯分布的,且clip_image020[1]clip_image022之间是独立的。那么无法确定A,因为任何正交变换都可以让clip_image020[2]达到同分布的效果。但是如果clip_image018[1]中只有一个分量是高斯分布的,仍然可以使用ICA。

     那么ICA要解决的问题变为:如何从x中推出s,使得s最不可能满足高斯分布?

     中心极限定理告诉我们:大量独立同分布随机变量之和满足高斯分布。

     clip_image023

     我们一直假设的是clip_image020[3]是由独立同分布的主元clip_image018[2]经过混合矩阵A生成。那么为了求clip_image018[3],我们需要计算clip_image018[4]的每个分量clip_image025。定义clip_image027,那么clip_image029,之所以这么麻烦再定义z是想说明一个关系,我们想通过整出一个clip_image031来对clip_image020[4]进行线性组合,得出y。而我们不知道得出的y是否是真正的s的分量,但我们知道y是s的真正分量的线性组合。由于我们不能使s的分量成为高斯分布,因此我们的目标求是让y(也就是clip_image033)最不可能是高斯分布时的w。

     那么问题递归到如何度量y是否是高斯分布的了。

     一种度量方法是kurtosis方法,公式如下:

     clip_image034

     如果y是高斯分布,那么该函数值为0,否则绝大多数情况下值不为0。

     但这种度量方法不怎么好,有很多问题。看下一种方法:

     负熵(Negentropy)度量方法。

     我们在信息论里面知道对于离散的随机变量Y,其熵是

     clip_image035

     连续值时是

     clip_image036

     在信息论里有一个强有力的结论是:高斯分布的随机变量是同方差分布中熵最大的。也就是说对于一个随机变量来说,满足高斯分布时,最随机。

     定义负熵的计算公式如下:

     clip_image037

     也就是随机变量y相对于高斯分布时的熵差,这个公式的问题就是直接计算时较为复杂,一般采用逼近策略。

     clip_image038

     这种逼近策略不够好,作者提出了基于最大熵的更优的公式:

     clip_image039

     之后的FastICA就基于这个公式。

     另外一种度量方法是最小互信息方法:

     clip_image040

     这个公式可以这样解释,前一个H是clip_image042的编码长度(以信息编码的方式理解),第二个H是y成为随机变量时的平均编码长度。之后的内容包括FastICA就不再介绍了,我也没看懂。

 
8. ICA的投影追踪解释(Projection Pursuit)

     投影追踪在统计学中的意思是去寻找多维数据的“interesting”投影。这些投影可用在数据可视化、密度估计和回归中。比如在一维的投影追踪中,我们寻找一条直线,使得所有的数据点投影到直线上后,能够反映出数据的分布。然而我们最不想要的是高斯分布,最不像高斯分布的数据点最interesting。这个与我们的ICA思想是一直的,寻找独立的最不可能是高斯分布的s。

     在下图中,主元是纵轴,拥有最大的方差,但最interesting的是横轴,因为它可以将两个类分开(信号分离)。

     clip_image043

9. ICA算法的前处理步骤

     1、中心化:也就是求x均值,然后让所有x减去均值,这一步与PCA一致。

     2、漂白:目的是将x乘以一个矩阵变成clip_image045,使得clip_image045[1]的协方差矩阵是clip_image047。解释一下吧,原始的向量是x。转换后的是clip_image045[2]

     clip_image045[3]的协方差矩阵是clip_image047[1],即

     clip_image048

     我们只需用下面的变换,就可以从x得到想要的clip_image045[4]

     clip_image049

     其中使用特征值分解来得到E(特征向量矩阵)和D(特征值对角矩阵),计算公式为

     clip_image050

     下面用个图来直观描述一下:

     假设信号源s1和s2是独立的,比如下图横轴是s1,纵轴是s2,根据s1得不到s2。

     clip_image051

     我们只知道他们合成后的信号x,如下

     image

     此时x1和x2不是独立的(比如看最上面的尖角,知道了x1就知道了x2)。那么直接代入我们之前的极大似然概率估计会有问题,因为我们假定x是独立的。

     因此,漂白这一步为了让x独立。漂白结果如下:

     clip_image053

     可以看到数据变成了方阵,在clip_image045[5]的维度上已经达到了独立。

     然而这时x分布很好的情况下能够这样转换,当有噪音时怎么办呢?可以先使用前面提到的PCA方法来对数据进行降维,滤去噪声信号,得到k维的正交向量,然后再使用ICA。

 
10. 小结

     ICA的盲信号分析领域的一个强有力方法,也是求非高斯分布数据隐含因子的方法。从之前我们熟悉的样本-特征角度看,我们使用ICA的前提条件是,认为样本数据由独立非高斯分布的隐含因子产生,隐含因子个数等于特征数,我们要求的是隐含因子。

     而PCA认为特征是由k个正交的特征(也可看作是隐含因子)生成的,我们要求的是数据在新特征上的投影。同是因子分析,一个用来更适合用来还原信号(因为信号比较有规律,经常不是高斯分布的),一个更适合用来降维(用那么多特征干嘛,k个正交的即可)。有时候也需要组合两者一起使用。这段是我的个人理解,仅供参考。

【机器学习】ICA算法简介

ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负...
  • LG1259156776
  • LG1259156776
  • 2016年04月12日 12:32
  • 6576

机器学习中PCA和ICA的理解

在高维数据处理中,为了简化计算量以及储存空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。PCA和ICA是两种常用的降维方法。 PCA:principal compone...
  • zrjdds
  • zrjdds
  • 2015年12月15日 17:12
  • 4713

[机器学习] UFLDL笔记 - ICA(Independent Component Analysis)(Representation)

本文主要记录我在学习ICA(独立成分分析)过程中的心得笔记,对于ICA模型的理解和疑问,也纠正网络上一些Tutorial、资料和博文中的错误,欢迎大家一起讨论。...
  • walilk
  • walilk
  • 2016年01月06日 13:17
  • 2968

斯坦福NG机器学习:K-means笔记

斯坦福NG机器学习:K-means笔记 ,无监督学习:经典聚类算法
  • huruzun
  • huruzun
  • 2014年12月25日 23:30
  • 3410

斯坦福机器学习公开课学习笔记(1)—机器学习的动机与应用

(转载请注明出处:http://blog.csdn.net/buptgshengod)1.北京
  • gshengod
  • gshengod
  • 2014年06月05日 08:38
  • 2699

機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总

大家好,我是Mac Jiang,很高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解答...
  • a1015553840
  • a1015553840
  • 2016年04月07日 13:24
  • 19249

斯坦福大学公开课 :机器学习课程(Andrew Ng)——14、无监督学习:Independent Component Analysis(ICA)

1)问题描述     1、上节提到的PCA是一种数据降维的方法,但是只对符合高斯分布的样本点比较有效,那么对于其他分布的样本,有没有主元分解的方法呢?     2、经典的鸡尾酒宴会问题(cocktai...
  • mmc2015
  • mmc2015
  • 2015年01月06日 19:20
  • 1099

机器学习中PCA和ICA的理解

在高维数据处理中,为了简化计算量以及储存空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。PCA和ICA是两种常用的降维方法。 PCA:principal compone...
  • zrjdds
  • zrjdds
  • 2015年12月15日 17:12
  • 4713

【机器学习】ICA算法简介

ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负...
  • LG1259156776
  • LG1259156776
  • 2016年04月12日 12:32
  • 6576

机器学习基石(林軒田)笔记之十二

本文为台湾大学林軒田老师的机器学习基石课程第十二讲学习笔记。
  • xiong452980729
  • xiong452980729
  • 2016年09月10日 20:59
  • 1762
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【机器学习-斯坦福】学习笔记17 ICA扩展描述
举报原因:
原因补充:

(最多只允许输入30个字)