ICA又称盲源分离(Blind source separation, BSS)

它假设观察到的随机信号x服从模型,其中s为未知源信号,其分量相互独立,A为一未知混合矩阵。

ICA的目的是通过且仅通过观察x来估计混合矩阵A以及源信号s。

大多数ICA的算法需要进行“数据预处理”(data preprocessing):先用PCA得到y,再把y的各个分量标准化(即让各分量除以自身的标准差)得到z。预处理后得到的z满足下面性质:

  • z的各个分量不相关;
  • z的各个分量的方差都为1。

“ICA基本定理”:

       定理(Pierre Comon, 1994)

      假设随机信号z服从模型,其中s的分量相互独立,且其中至多可以有一个为高斯;B为满秩方阵。

那么若z的分量相互独立当且仅当B=PD,其中P为排列矩阵(permutation matrix),D为对角矩阵。

这个定理告诉我们,对于原信号x做线性变换得到的新随机向量,若z的分量相互独立,那么z的各个分量一定对应于某个源信号分量乘以一个系数。到这里,我们可以看到ICA的解具有内在的不确定性(inherent indeterminacy)。实际上,因为,即具备相同统计特征的x可能来自两个不同的系统,这意味着单从观察x我们不可能知道它来自于哪一个,从而我们就不可能推断出源信号s的强度(方差)。为了在技术上消除这种不确定性,人们干脆约定源信号s的方差为1。有了这个约定,再通过数据预处理的方法,我们可以把原混合矩阵A化为一个自由度更低的正交矩阵:

数据预处理的过程又称为“数据白化”(data whitening)。这里预处理以后得到的z和源信号s的关系为。取,则它可以看做一个新的混合矩阵。容易看出这是一个正交矩阵,它仅有个自由度;而原混合矩阵一般有个自由度。

     
         在ICA之前,往往会对数据有一个预处理过程,那就是PCA与白化。白化在这里先不提,PCA本质上来说就是一个降维过程,大大降低ICA的计算量。 
        总的来说,ICA认为观测信号是若干个统计独立的分量的线性组合,ICA要做的是一个解混过程。而PCA是一个信息提取的过程,将原始数据降维,现已成为ICA将数据标准化的预处理步骤。
       

          大部分算法都用两步来实现ICA:第一步做白化预处理(whitening),让输出信号不相关而且同方差。第二步找一个旋转(就是正交变换)让输出信号不只不相关(uncorrelated),进而在统计意义上独立(statistically independent)。

更进一步,每当我们做回归(regression),不管是线性回归还是非线性回归,噪声和predictor都是不相关的。但很多情况下,它们却不是独立的。这个性质最近十年内在因果关系分析中得到很重要的应用。

其他详细内容请参考:

https://www.baidu.com/link?url=I5XgnPAgtupzEncN4tet8Ou1xpTvqcWR9XlMAjiO-30-_t-RP0zTUJNiVsHYliLKdvJnhwlzhJq6SXr_pXOpB_&wd=&eqid=f77b202a00025c40000000035b7a6746
 
https://blog.csdn.net/shenziheng1/article/details/53555969
https://blog.csdn.net/shenziheng1/article/details/53637907
https://blog.csdn.net/sinat_37965706/article/details/71330979

ICA(独立成分分析)笔记的更多相关文章

  1. PCA主成分分析 ICA独立成分分析 LDA线性判别分析 SVD性质

    机器学习(8) -- 降维 核心思想:将数据沿方差最大方向投影,数据更易于区分 简而言之:PCA算法其表现形式是降维,同时也是一种特征融合算法. 对于正交属性空间(对2维空间即为直角坐标系)中的样本点 ...

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

    斯坦福ML公开课笔记15 我们在上一篇笔记中讲到了PCA(主成分分析). PCA是一种直接的降维方法.通过求解特征值与特征向量,并选取特征值较大的一些特征向量来达到降维的效果. 本文继续PCA的话题, ...

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

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

  4. Topographic ICA as a Model of Natural Image Statistics(作为自然图像统计模型的拓扑独立成分分析)

    其实topographic independent component analysis 早在1999年由ICA的发明人等人就提出了,所以不算是个新技术,ICA是在1982年首先在一个神经生理学的背景 ...

  5. ICA (独立成分分析)

    介绍 独立成分分析(ICA,Independent Component Correlation Algorithm)简介 X=AS X为n维观测信号矢量,S为独立的m(m<=n)维未知源信号矢量 ...

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

    独立成分分析(Independent component analysis) 前言 独立成分分析ICA是一个在多领域被应用的基础算法.ICA是一个不定问题,没有确定解,所以存在各种不同先验假定下的求解 ...

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

    本笔记是ESL14.7节图14.42的模拟过程.第一部分将以ProDenICA法为例试图介绍ICA的整个计算过程:第二部分将比较ProDenICA.FastICA以及KernelICA这种方法,试图重 ...

  8. 独立成分分析(Independent Component Analysis)

    ICA是一种用于在统计数据中寻找隐藏的因素或者成分的方法.ICA是一种广泛用于盲缘分离的(BBS)方法,用于揭示随机变量或者信号中隐藏的信息.ICA被用于从混合信号中提取独立的信号信息.ICA在20世 ...

  9. Independent Components Analysis:独立成分分析

    一.引言 ICA主要用于解决盲源分离问题.需要假设源信号之间是统计独立的.而在实际问题中,独立性假设基本是合理的. 二.随机变量独立性的概念 对于任意两个随机变量X和Y,如果从Y中得不到任何关于X的信 ...

随机推荐

  1. C++中static和const关键字的作用

    static关键字至少有下列几个作用: 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值: 在模块内的static全局变量 ...

  2. JSP Java服务器页面

    大家好!好久不见!今日我们开始学习JSP了,一些记录基础性的知识在这里与大家分享. 先说下URL(Uniform Resource Locator 统一资源定位符). URL包括传输协议(http:/ ...

  3. struts2实现图片验证码

    生成图片验证码的主要工具类方法为: package com.yeting.fc.util; import java.awt.Color; import java.awt.Font; import ja ...

  4. JavaScript div 上下运动实例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. elasticsearch的安装和使用

    准备环境: 环境: win7 64位  jdk1.8.0  elasticsearch2.3.3 elasticsearch2.3.3:https://www.elastic.co/thank-you ...

  6. WampServer更改或重置数据库密码

    WampServer安装后密码是空的, 修改一般有两种方式: 一是通过phpMyAdmin直接修改: 二是使用WAMP的MySql控制台修改. 第一种: ①在phpMyAdmin界面中点击[用户],将 ...

  7. maven规定的目录

    Maven规定的目录结构 若要使用Maven,那么项目的目录结构必须符合Maven的规范 ,如写一个使用Spring的Web项目就需要引入大量的jar包.一个项目Jar包的数量之多往往让我们瞠目结舌, ...

  8. HDU 4339 Contest 4

    树状数组,主要是抓住要求连续1的个数.这样,初始时,相同的加1,不同的加0. 查询时,用二分搜索右边界.就是比较当前mid-l+1的值与他们之间1的个数(这可以通过树状数组求区间和得出),记录右边界即 ...

  9. IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

    IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localho ...

  10. WinForm容器内控件批量效验是否同意为空?设置是否仅仅读?设置是否可用等方法分享

    WinForm容器内控件批量效验是否同意为空?设置是否仅仅读?设置是否可用等方法分享 在WinForm程序中,我们有时须要对某容器内的全部控件做批量操作.如批量推断是否同意为空?批量设置为仅仅读.批量 ...