独立成分分析 ICA 原理及公式推导 示例

独立成分分析(Independent component analysis)

前言

独立成分分析ICA是一个在多领域被应用的基础算法。ICA是一个不定问题,没有确定解,所以存在各种不同先验假定下的求解算法。相比其他技术,ICA的开源代码不是很多,且存在黑魔法–有些步骤并没有在论文里提到,但没有这些步骤是无法得到正确结果的。

本文给出一个ICA最大似然解法的推导,以及FastICA的python实现,限于时间和实际需求,没有对黑魔法部分完全解读,只保证FastICA实现能得到正确结果。

有兴趣的童鞋可以在未来补上相关内容。

参考:

https://blog.csdn.net/lizhe_dashuju/article/details/50263339

https://www.jianshu.com/p/de396e8cce15

原文地址:https://www.cnblogs.com/jins-note/p/10835717.html

时间: 2024-10-10 16:17:11

独立成分分析 ICA 原理及公式推导 示例的相关文章

机器学习 —— 基础整理(四):特征提取之线性方法——主成分分析PCA、独立成分分析ICA、线性判别分析LDA

本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensionality) 维数灾难就是说当样本的维数增加时,若要保持与低维情形下相同的样本密度,所需要的样本数指数型增长.从下面的图可以直观体会一下.当维度很大样本数量少时,无法通过它们学习到有价值的知识:所以需要降维,一方面在损失的信息量可以接受的情况下获得数据的低维表示,增加样本的密度:另一方面也可以达到去噪

独立成分分析(ICA)的模拟实验(R语言)

本笔记是ESL14.7节图14.42的模拟过程.第一部分将以ProDenICA法为例试图介绍ICA的整个计算过程:第二部分将比较ProDenICA.FastICA以及KernelICA这种方法,试图重现图14.42. ICA的模拟过程 生成数据 首先我们得有一组独立(ICA的前提条件)分布的数据\(S\)(未知),然后经过矩阵\(A_0\)混合之后得到实际的观测值\(X\),即 \[ X= SA_0 \] 也可以写成 \[ S=XA_0^{-1} \] 用鸡尾酒酒会的例子来说就是,来自不同个体的

ICA (独立成分分析)

介绍 独立成分分析(ICA,Independent Component Correlation Algorithm)简介 X=AS X为n维观测信号矢量,S为独立的m(m<=n)维未知源信号矢量,矩阵A被称为混合矩阵. ICA的目的就是寻找解混矩阵W(A的逆矩阵),然后对X进行线性变换,得到输出向量U. U=WX=WAS 过程 编辑 (1)对输入数据进行中心化和白化预处理 X*=X-u 经过白化变换后的样本数据为 Z=Wz X* (2)从白化样本中求解出解混矩阵W 通过优化目标函数的方法得到W

【转载】独立成分分析(Independent Component Analysis)ICA

独立成分分析(Independent Component Analysis) 1. 问题: 1.上节提到的PCA是一种数据降维的方法,但是只对符合高斯分布的样本点比较有效,那么对于其他分布的样本,有没有主元分解的方法呢? 2.经典的鸡尾酒宴会问题(cocktail party problem).假设在party中有n个人,他们可以同时说话,我们也在房间中一些角落里共放置了n个声音接收器(Microphone)用来记录声音.宴会过后,我们从n个麦克风中得到了一组数据,i表示采样的时间顺序,也就是说

斯坦福ML公开课笔记15—隐含语义索引、神秘值分解、独立成分分析

斯坦福ML公开课笔记15 我们在上一篇笔记中讲到了PCA(主成分分析). PCA是一种直接的降维方法.通过求解特征值与特征向量,并选取特征值较大的一些特征向量来达到降维的效果. 本文继续PCA的话题,包含PCA的一个应用--LSI(Latent Semantic Indexing, 隐含语义索引)和PCA的一个实现--SVD(Singular Value Decomposition,神秘值分解). 在SVD和LSI结束之后.关于PCA的内容就告一段落. 视频的后半段開始讲无监督学习的一种--IC

[转]独立成分分析(Independent Component Analysis)

原文地址:http://www.cnblogs.com/jerrylead/archive/2011/04/19/2021071.html 独立成分分析(Independent Component Analysis) 1. 问题: 1.上节提到的PCA是一种数据降维的方法,但是只对符合高斯分布的样本点比较有效,那么对于其他分布的样本,有没有主元分解的方法呢? 2.经典的鸡尾酒宴会问题(cocktail party problem).假设在party中有n个人,他们可以同时说话,我们也在房间中一些

机器学习笔记—独立成分分析

本文介绍独立成分分析(ICA),同 PCA 类似,我们是要找到一个新的基来表示数据,但目的就不一样了. 鸡尾酒会问题:n 个人在一个 party 上同时说话,n 个麦克风放置在房间的不同位置,因为每个麦克风跟每个人的距离都不一样,所以它们记录的说话者重叠的声音也不一样.根据麦克风记录的声音,如何分离出 n 个说话者的声音呢? 为形式化这个问题,我们想象有一些数据 s∈R 是从 n 个独立的源生成的,我们观察到的是 x=As, 矩阵 A 是未知的,被称作混合矩阵,通过不断观察得到的是 {x(i);

斯坦福ML公开课笔记15—隐含语义索引、奇异值分解、独立成分分析

斯坦福ML公开课笔记15 我们在上一篇笔记中讲到了PCA(主成分分析).PCA是一种直接的降维方法,通过求解特征值与特征向量,并选取特征值较大的一些特征向量来达到降维的效果. 本文继续PCA的话题,包括PCA的一个应用--LSI(Latent Semantic Indexing, 隐含语义索引)和PCA的一个实现--SVD(Singular Value Decomposition,奇异值分解).在SVD和LSI结束之后,关于PCA的内容就告一段落.视频的后半段开始讲无监督学习的一种--ICA(I

独立成分分析(Independent Component Analysis)

ICA是一种用于在统计数据中寻找隐藏的因素或者成分的方法.ICA是一种广泛用于盲缘分离的(BBS)方法,用于揭示随机变量或者信号中隐藏的信息.ICA被用于从混合信号中提取独立的信号信息.ICA在20世纪80年代提出来,但是知道90年代中后期才开始逐渐流行起来. ICA的起源可以来源于一个鸡尾酒会问题,我们假设三个观测点x1,x2,x3,放在房间里同时检测三个人说话,另三个人的原始信号为s1,s2,s3,则求解的过程可以如下图所示: 定义 假设n个随机变量x1,x2,-.xn,由n个随机变量s1,