独立成分分析Independent Component Analysis (ICA)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 根据中心极限定理,独立随机变量的和在一定条件下趋 近于高斯分布。即独立随机变量的和比原独立随机变量 更接近高斯分布。
Leabharlann Baidu
• 可以认为越具有高斯性,其独立性越 差 反之, non-Gaussianity越强,独立 性越强
ICA估计的原理:non-Gaussianity
• ICA 模型:x = As s=A-1x • 令y=wTx.z=ATw, 则 y=wTx=wT As=zTs • 这样的话y 是s的线性组合,y应该比s更具有高斯性, 除非wT接近A-1。此时,y=wTx=A-1x=s。 • 也就是说y=s时,y具有最大非高斯性。 • 问题转化为求解w,它最大化wTx的non-Gaussianit y性。 • ICA 数值优化问题。
•
x As 两者都是线性变换 都可以看作一些分量的组合。
不同的是
A1s1 A2 s2 ..... An sn
•
PCA而言,各分量不相关 ICA而言, 各分量独立
•
PCA的目的是找到这样一组分量表示,使得重构误差最小,即最能代表 原事物的特征。 • ICA的目的是找到这样一组分量表示,使得个分量最大化独立,能够发 现一些隐藏因素。 • ICA是PCA的增强
多媒体中的应用
Medium Topic Feature extraction, noise reduction Watermark detection Content based retrieval Audio Auditory perception
Image/Video
Source separation, scene analysis
计算简单快速,而且具有鲁棒性。后面介绍的算法即采用此种近似。
1 G1 (u ) log cos a1u a1
u 2 G2 (u ) exp 2
预处理-Centering
• 为了使算法更简单,一般会在采用具体算法前进行预处 理。 • Centering:使x变为均值为零的随机变量,减去m=E {x}即可。 • 纯粹为了简化计算,估计完A后,可以将s的均值补偿回 去。s的均值向量为A-1 s。
资源
• 源代码 FastICA的源代码 (matlab版) 可以免费下载 C++版本在代码库 IT++中实现 链接:
•
http://www.cis.hut.fi/projects/ica/fastica/ http://itpp.sourceforge.net/latest/ http://www.cnl.salk.edu/~tony/ica.html
根据正交矩阵性质,正交矩阵自由度为n(n-1)/2,将需要估计的矩阵 系数减少了一半。
小结
• 前面给出了测量函数,也已证明ICA问题实际上就是求 解函数的最值问题。
• 现在需要的是求解最值的优化算法。有很多,梯度下降 法,EM算法等。 • 应用最广泛的为FastICA算法,它基于固定点迭代的方 法
• 经济及其它时间序列。对于一些并列的序列,如外汇 兑换和股票交易,可能有相同的潜在因素,一些连锁 店的销售情况可能有共同的影响因素,如假期。
无线通信
• • • • CDMA (Code Division Multiple Access)码分多路复用 3G标准之一。 用户共享相同的带宽,同时传送信号。 CDMA通信系统给每个用户分配一个唯一的光正交码的码字作为该用户 的地址码 ,但由于传输的特点会丧失正交性。如何恢复原信号。
E 性质:给定两函数h1和h2有:{h1 ( y1 )h2 ( y2 )} E{h1 ( y1 )}E{h2 ( y2 )}
• 不相关:两随机变量是不相关的,如果
E{ y1 y2 } E{ y1}E{ y2 }
• 独立的肯定不相关,不相关的未必独立,即独立是比不 相关更强的约束。
不可以是Gaussian分布
non-Gaussianity的度量
• 为了在ICA估计中使用non-Gaussianity,我们必须 有一个对它的定性度量。 • 常用的有三种: Kurtosis Negentropy Approximations of negentropy
Kurtosis
• 定义:y为随机变量,则
• •
对于高斯分布, Kurtosis为零,大部分非高斯分布 Kurtosis不为零。 性质:
T T
FastICA算法(多个分量)
• • 1. 使用上面的算法可以求出一个独立分量,重复使用上面的算法即可求 出多个独立分量,为避免所有调用趋近一个值,需充分利用独立性的 特点,在此使用的是轻级独立性--不相关。 类似于Gram-Schmidt正交化 得到前q个向量w1.w2….wp后,再次调用上算法得到wp+1
应用
• • • • • 声音源分离 (”cocktail-party problem”) 生物信号处理 经济及其它时间序列 无线通信,如CDMA 特征提取
应用
• 生物信号处理。如EEG(脑电图)将一些电极放在头皮 上记录脑的活动。一些人为动作会造成噪声(如眨眼、 张嘴等)。ICA可以用于去除这些噪声。
• 统计意义下说明
x As
x Ao s
S各分量相互独立
x各分量不相互独立
判断方法:能否从一个分量估计出另一分量的值。边的方向即A0列向量。
Illustration of ICA
• 通过x的统计性质,作一些假设的条 件下,可以估计出A和s
统计概念
• 独立:两个随机变量y1和y2是相互独立的,如果y1的值 不能为y2提供任何信息,反之亦成立。 用概率密度函数描述: p( y1 , y2 ) p1 ( y1 ) p2 ( y2 )
独立成分分析 Independent Component Analysis (ICA)
齐娟 2007-5-29
主要内容
• • • • • • ICA定义 ICA模型 ICA原理 ICA算法 ICA应用 PCA&ICA
ICA定义
• 定义一:利用很少的先验知识将混合信息分离成独立 分量的一种重要方法。
• 定义二:找到事物的一种合理表示,使得各分量最大 化地独立。 • 20世纪八十年代才被提出。
cocktail-party problem
• 例子:cocktail-party problem
Mixing matrix A
s1 Sources x1
Observations
x2
s2
n sources, m=n observations
Text Document filtering, retrieval Cross-language document retrieval
Combined media Combined text/image content extraction
Audio-visual segmentation
PCA&ICA
W p 1 W p 1 W T p 1W jW j
j 1 p
2. 令:
3. 令: W p 1 W p 1 / W p 1TW p 1
扩展
• ICA模型 前面只给出了经典ICA模型,实际现在发展起来很多 模型,如噪声模型,非线性模型等等。 • ICA 方法 前面解决ICA的方法是,最大化non-Gaussianity度 量函数,转化为数值优化问题。 除了non-Gaussianity度量函数外,还有很多其它函 数如互信息量,也有各种不同的优化算法,梯度、EM 等。 • 其实所有的ICA算法可以表示为: ICA算法 = 度量函数 + 优化算法
补充:固定点迭代法
• • • 用于求解方程(线性、非线性、差分) 函数的固定点:函数g(x)的固定点是数p,如果p=g(p) 几何上的表述是Y=g(x)和Y=x的交点 固定点迭代:选择初始值p0,然后将函数迭代作用于自身的输出,直到 输入和输出差别很小为止。
p1=g(p0) p2=g(p1) ………. pn=g(pn)
混合矩阵A为方阵且可逆(这个限制可以放松)
• 结论:估计出A之后,我们就可以得到s(s= A-1x)
Ambiguities of ICA
s和A均是未知的,s乘一个标量k,总可以用A乘以 1/k所抵消,即不能唯一确定s和A。
作如下约束:
E{si 2 } 1
S中各个分量的次序不确定
Illustration of ICA
• 论文: Independent component analysis: algorithms and applications Survey on Independent Component Analysis
• 在假设条件中,各分量不允许是Gaussian分布 • X1和x2都是标准Gaussian分布,联合概率密 度函数: x12 x2 2 1
p ( x1 , x2 ) exp 2 2
没有边缘信息,即不包含A的 列向量的信息。
ICA估计的原理:non-Gaussianity
预处理-whitening
• 对x进行线性变化,使变换后的x’是white的,即各分量不相关且 E x ' x 'T I ,I为单位矩阵。 方法:特征值分解(EVD)
•
E x ' x 'T EDE T
• 变换后A为正交矩阵A‘:
x ' ED1/ 2 ET x
E x ' x 'T A ' E ss T A 'T A ' A 'T 1
• 优点:计算和理论简单 • 缺点:对outliers敏感,不具有鲁棒性
Negentropy
基于信息论中熵的概念 定理:在所有随机变量,高斯分布的变量有最大熵。 定义Negentropy J为:
yGauss是和y有相同协方差矩阵的高斯随机变量。 y为高斯分布时, Negentropy为零,其它分布时不 为零。 计算起来太复杂,需要引入其近似值。
Negentropy的近似
经典近似:
2 1 1 2 E y 3 kurt y 12 48 和Kurtosis有同样的缺点:不鲁棒。 另一种近似:
J ( y)
J ( y ) c E G ( y ) E G (v )
2
V是均值为零,方差为1的高斯随机变量,G是非二次函数 常取为:
FastICA算法(一个分量)
• FastICA算法目前应用最为广泛。 • 采用度量函数为:
J ( y ) c E G ( y ) E G (v )
2
• 基于固定点迭代的方法找到WTx度量函数的最大值。 1. 随机选择初始向量W 2. 令: W E xg (W x) E g '(W x) w 3. 令: W W / || W || 4. 如果不收敛,转到2
x = As
cocktail-party problem
Two Independent Sources
Mixture at two Mics
x1 (t ) a11s1 a12 s2 x2 (t ) a21s1 a22 s2
ICA 模型(经典)
• xj = aj1s1 + aj2s2 + .. + ajnsn, 对于每一个 j x = As • 条件:s和A均是未知的,只有x已知 • 目标: 通过x估计出A和s 每一个si成分统计独立 • 限制: 每一个成分都不是Gaussian分布(实际上未知)
用户
信道
用户
特征提取
• x=As ,如果我们把A的每一列Ai 当作一个特征,s是系数向量,则 可以用于特征提取。 x As
i i
•
很多人脸识别的方法是使用统计方法得到一些基图像,人脸被认为是这 些基图像的线性组合,多用PCA得到这些基图像。 • 有人将其用于人脸识别,代替PCA做特征提取,发现识别效果要好。 • 研究标明ICA提取的特征和人的大脑皮层感知的特征很相近。 • 在数据压缩和模式识别中应用很广。
Leabharlann Baidu
• 可以认为越具有高斯性,其独立性越 差 反之, non-Gaussianity越强,独立 性越强
ICA估计的原理:non-Gaussianity
• ICA 模型:x = As s=A-1x • 令y=wTx.z=ATw, 则 y=wTx=wT As=zTs • 这样的话y 是s的线性组合,y应该比s更具有高斯性, 除非wT接近A-1。此时,y=wTx=A-1x=s。 • 也就是说y=s时,y具有最大非高斯性。 • 问题转化为求解w,它最大化wTx的non-Gaussianit y性。 • ICA 数值优化问题。
•
x As 两者都是线性变换 都可以看作一些分量的组合。
不同的是
A1s1 A2 s2 ..... An sn
•
PCA而言,各分量不相关 ICA而言, 各分量独立
•
PCA的目的是找到这样一组分量表示,使得重构误差最小,即最能代表 原事物的特征。 • ICA的目的是找到这样一组分量表示,使得个分量最大化独立,能够发 现一些隐藏因素。 • ICA是PCA的增强
多媒体中的应用
Medium Topic Feature extraction, noise reduction Watermark detection Content based retrieval Audio Auditory perception
Image/Video
Source separation, scene analysis
计算简单快速,而且具有鲁棒性。后面介绍的算法即采用此种近似。
1 G1 (u ) log cos a1u a1
u 2 G2 (u ) exp 2
预处理-Centering
• 为了使算法更简单,一般会在采用具体算法前进行预处 理。 • Centering:使x变为均值为零的随机变量,减去m=E {x}即可。 • 纯粹为了简化计算,估计完A后,可以将s的均值补偿回 去。s的均值向量为A-1 s。
资源
• 源代码 FastICA的源代码 (matlab版) 可以免费下载 C++版本在代码库 IT++中实现 链接:
•
http://www.cis.hut.fi/projects/ica/fastica/ http://itpp.sourceforge.net/latest/ http://www.cnl.salk.edu/~tony/ica.html
根据正交矩阵性质,正交矩阵自由度为n(n-1)/2,将需要估计的矩阵 系数减少了一半。
小结
• 前面给出了测量函数,也已证明ICA问题实际上就是求 解函数的最值问题。
• 现在需要的是求解最值的优化算法。有很多,梯度下降 法,EM算法等。 • 应用最广泛的为FastICA算法,它基于固定点迭代的方 法
• 经济及其它时间序列。对于一些并列的序列,如外汇 兑换和股票交易,可能有相同的潜在因素,一些连锁 店的销售情况可能有共同的影响因素,如假期。
无线通信
• • • • CDMA (Code Division Multiple Access)码分多路复用 3G标准之一。 用户共享相同的带宽,同时传送信号。 CDMA通信系统给每个用户分配一个唯一的光正交码的码字作为该用户 的地址码 ,但由于传输的特点会丧失正交性。如何恢复原信号。
E 性质:给定两函数h1和h2有:{h1 ( y1 )h2 ( y2 )} E{h1 ( y1 )}E{h2 ( y2 )}
• 不相关:两随机变量是不相关的,如果
E{ y1 y2 } E{ y1}E{ y2 }
• 独立的肯定不相关,不相关的未必独立,即独立是比不 相关更强的约束。
不可以是Gaussian分布
non-Gaussianity的度量
• 为了在ICA估计中使用non-Gaussianity,我们必须 有一个对它的定性度量。 • 常用的有三种: Kurtosis Negentropy Approximations of negentropy
Kurtosis
• 定义:y为随机变量,则
• •
对于高斯分布, Kurtosis为零,大部分非高斯分布 Kurtosis不为零。 性质:
T T
FastICA算法(多个分量)
• • 1. 使用上面的算法可以求出一个独立分量,重复使用上面的算法即可求 出多个独立分量,为避免所有调用趋近一个值,需充分利用独立性的 特点,在此使用的是轻级独立性--不相关。 类似于Gram-Schmidt正交化 得到前q个向量w1.w2….wp后,再次调用上算法得到wp+1
应用
• • • • • 声音源分离 (”cocktail-party problem”) 生物信号处理 经济及其它时间序列 无线通信,如CDMA 特征提取
应用
• 生物信号处理。如EEG(脑电图)将一些电极放在头皮 上记录脑的活动。一些人为动作会造成噪声(如眨眼、 张嘴等)。ICA可以用于去除这些噪声。
• 统计意义下说明
x As
x Ao s
S各分量相互独立
x各分量不相互独立
判断方法:能否从一个分量估计出另一分量的值。边的方向即A0列向量。
Illustration of ICA
• 通过x的统计性质,作一些假设的条 件下,可以估计出A和s
统计概念
• 独立:两个随机变量y1和y2是相互独立的,如果y1的值 不能为y2提供任何信息,反之亦成立。 用概率密度函数描述: p( y1 , y2 ) p1 ( y1 ) p2 ( y2 )
独立成分分析 Independent Component Analysis (ICA)
齐娟 2007-5-29
主要内容
• • • • • • ICA定义 ICA模型 ICA原理 ICA算法 ICA应用 PCA&ICA
ICA定义
• 定义一:利用很少的先验知识将混合信息分离成独立 分量的一种重要方法。
• 定义二:找到事物的一种合理表示,使得各分量最大 化地独立。 • 20世纪八十年代才被提出。
cocktail-party problem
• 例子:cocktail-party problem
Mixing matrix A
s1 Sources x1
Observations
x2
s2
n sources, m=n observations
Text Document filtering, retrieval Cross-language document retrieval
Combined media Combined text/image content extraction
Audio-visual segmentation
PCA&ICA
W p 1 W p 1 W T p 1W jW j
j 1 p
2. 令:
3. 令: W p 1 W p 1 / W p 1TW p 1
扩展
• ICA模型 前面只给出了经典ICA模型,实际现在发展起来很多 模型,如噪声模型,非线性模型等等。 • ICA 方法 前面解决ICA的方法是,最大化non-Gaussianity度 量函数,转化为数值优化问题。 除了non-Gaussianity度量函数外,还有很多其它函 数如互信息量,也有各种不同的优化算法,梯度、EM 等。 • 其实所有的ICA算法可以表示为: ICA算法 = 度量函数 + 优化算法
补充:固定点迭代法
• • • 用于求解方程(线性、非线性、差分) 函数的固定点:函数g(x)的固定点是数p,如果p=g(p) 几何上的表述是Y=g(x)和Y=x的交点 固定点迭代:选择初始值p0,然后将函数迭代作用于自身的输出,直到 输入和输出差别很小为止。
p1=g(p0) p2=g(p1) ………. pn=g(pn)
混合矩阵A为方阵且可逆(这个限制可以放松)
• 结论:估计出A之后,我们就可以得到s(s= A-1x)
Ambiguities of ICA
s和A均是未知的,s乘一个标量k,总可以用A乘以 1/k所抵消,即不能唯一确定s和A。
作如下约束:
E{si 2 } 1
S中各个分量的次序不确定
Illustration of ICA
• 论文: Independent component analysis: algorithms and applications Survey on Independent Component Analysis
• 在假设条件中,各分量不允许是Gaussian分布 • X1和x2都是标准Gaussian分布,联合概率密 度函数: x12 x2 2 1
p ( x1 , x2 ) exp 2 2
没有边缘信息,即不包含A的 列向量的信息。
ICA估计的原理:non-Gaussianity
预处理-whitening
• 对x进行线性变化,使变换后的x’是white的,即各分量不相关且 E x ' x 'T I ,I为单位矩阵。 方法:特征值分解(EVD)
•
E x ' x 'T EDE T
• 变换后A为正交矩阵A‘:
x ' ED1/ 2 ET x
E x ' x 'T A ' E ss T A 'T A ' A 'T 1
• 优点:计算和理论简单 • 缺点:对outliers敏感,不具有鲁棒性
Negentropy
基于信息论中熵的概念 定理:在所有随机变量,高斯分布的变量有最大熵。 定义Negentropy J为:
yGauss是和y有相同协方差矩阵的高斯随机变量。 y为高斯分布时, Negentropy为零,其它分布时不 为零。 计算起来太复杂,需要引入其近似值。
Negentropy的近似
经典近似:
2 1 1 2 E y 3 kurt y 12 48 和Kurtosis有同样的缺点:不鲁棒。 另一种近似:
J ( y)
J ( y ) c E G ( y ) E G (v )
2
V是均值为零,方差为1的高斯随机变量,G是非二次函数 常取为:
FastICA算法(一个分量)
• FastICA算法目前应用最为广泛。 • 采用度量函数为:
J ( y ) c E G ( y ) E G (v )
2
• 基于固定点迭代的方法找到WTx度量函数的最大值。 1. 随机选择初始向量W 2. 令: W E xg (W x) E g '(W x) w 3. 令: W W / || W || 4. 如果不收敛,转到2
x = As
cocktail-party problem
Two Independent Sources
Mixture at two Mics
x1 (t ) a11s1 a12 s2 x2 (t ) a21s1 a22 s2
ICA 模型(经典)
• xj = aj1s1 + aj2s2 + .. + ajnsn, 对于每一个 j x = As • 条件:s和A均是未知的,只有x已知 • 目标: 通过x估计出A和s 每一个si成分统计独立 • 限制: 每一个成分都不是Gaussian分布(实际上未知)
用户
信道
用户
特征提取
• x=As ,如果我们把A的每一列Ai 当作一个特征,s是系数向量,则 可以用于特征提取。 x As
i i
•
很多人脸识别的方法是使用统计方法得到一些基图像,人脸被认为是这 些基图像的线性组合,多用PCA得到这些基图像。 • 有人将其用于人脸识别,代替PCA做特征提取,发现识别效果要好。 • 研究标明ICA提取的特征和人的大脑皮层感知的特征很相近。 • 在数据压缩和模式识别中应用很广。